ParadoxAlarmInterface/pai

Payolad error, unable to parse date from SP4000 at boot

Closed this issue · 4 comments

Alarm system

Spectra SP4000

Environment

  • Home Assistant Add on:
    Current version: 3.4.0 (Changelog)

Git branch

No branch, Home Assistant Addon

Describe the bug

After connecting to the alarm the following message is shown as error:

2024-01-17 13:23:05,529 - ERROR    - PAI.paradox.hardware.spectra_magellan.panel - Exception parsing message: b'SANITIZED PAYLOAD''
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/paradox/hardware/spectra_magellan/panel.py", line 173, in parse_message
    return parsers.LiveEvent.parse(message)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 308, in parse
    return self.parse_stream(io.BytesIO(data), **contextkw)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 320, in parse_stream
    return self._parsereport(stream, context, "(parsing)")
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 332, in _parsereport
    obj = self._parse(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 2000, in _parse
    subobj = sc._parsereport(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 332, in _parsereport
    obj = self._parse(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 2489, in _parse
    return self.subcon._parsereport(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 332, in _parsereport
    obj = self._parse(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 4368, in _parse
    obj = self.subcon._parsereport(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 332, in _parsereport
    obj = self._parse(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 2000, in _parse
    subobj = sc._parsereport(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 332, in _parsereport
    obj = self._parse(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 2489, in _parse
    return self.subcon._parsereport(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 332, in _parsereport
    obj = self._parse(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 719, in _parse
    return self._decode(obj, context, path)
  File "/usr/local/lib/python3.9/site-packages/paradox/hardware/spectra_magellan/adapters.py", line 10, in _decode
    return datetime.datetime(obj[0] * 100 + obj[1], obj[2], obj[3], obj[4], obj[5])
ValueError: month must be in 1..12

To Reproduce

Steps to reproduce the behavior:
Restart the Home Assistant Addon

Logs

--> Sanitized log:

2024-01-17 12:14:16,491 - INFO     - PAI - Starting Paradox Alarm Interface 3.4.0
2024-01-17 12:14:16,491 - INFO     - PAI - Config loaded from /data/options.json
2024-01-17 12:14:16,492 - INFO     - PAI - Console Log level set to 20
2024-01-17 12:14:16,534 - INFO     - PAI.paradox.interfaces - Starting BasicMQTTInterface Interface
2024-01-17 12:14:16,535 - INFO     - PAI.paradox.interfaces.mqtt.core - MQTT loop started
2024-01-17 12:14:16,541 - INFO     - PAI.paradox.interfaces - Starting HomeAssistantMQTTInterface Interface
2024-01-17 12:14:16,541 - INFO     - PAI - Starting...
2024-01-17 12:14:16,542 - INFO     - PAI.paradox.paradox - Connecting to interface
2024-01-17 12:14:16,542 - INFO     - PAI.paradox.paradox - Using IP Connection
2024-01-17 12:14:16,650 - INFO     - PAI.paradox.connections.ip.connection - Connecting. Try 1/3
2024-01-17 12:14:16,654 - INFO     - PAI.paradox.connections.connection - Connection established
2024-01-17 12:14:16,654 - INFO     - PAI.paradox.connections.ip.commands - Authenticating with IP Module
2024-01-17 12:14:16,660 - INFO     - PAI.paradox.connections.ip.commands - Authentication Success. IP(114) Module version 20, firmware: 5.6, serial: XXXXXXXXXXX
2024-01-17 12:14:16,671 - INFO     - PAI.paradox.connections.ip.commands - Session successfully established with IP Module
2024-01-17 12:14:16,671 - INFO     - PAI.paradox.paradox - Connecting to Panel
2024-01-17 12:14:16,767 - INFO     - PAI.paradox.paradox - Panel Identified SP4000 version 5.40 build 8
2024-01-17 12:14:16,767 - INFO     - PAI.paradox.paradox - Initiating panel connection
2024-01-17 12:14:16,874 - INFO     - PAI.paradox.hardware.spectra_magellan.panel - Installer login
2024-01-17 12:14:17,014 - INFO     - PAI.paradox.hardware.spectra_magellan.panel - Authentication Success
2024-01-17 12:14:17,014 - INFO     - PAI.paradox.paradox - Connection OK
2024-01-17 12:14:17,014 - INFO     - PAI.paradox.paradox - Loading data from panel memory
2024-01-17 12:14:17,014 - INFO     - PAI.paradox.hardware.panel - Loading definitions
2024-01-17 12:14:17,014 - INFO     - PAI.paradox.hardware.panel - Updating Definitions from Panel
2024-01-17 12:14:17,537 - INFO     - PAI.paradox.interfaces.mqtt.core - MQTT Broker Connected
2024-01-17 12:14:22,024 - ERROR    - PAI.paradox.paradox - Timeout while connecting to panel. Is an other connection active?
2024-01-17 12:14:22,024 - ERROR    - PAI - Unable to connect to alarm
2024-01-17 12:14:25,028 - INFO     - PAI - Starting...
2024-01-17 12:14:25,028 - INFO     - PAI.paradox.paradox - Disconnecting from the Alarm Panel
2024-01-17 12:14:25,028 - INFO     - PAI.paradox.paradox - Clean Session
2024-01-17 12:14:25,028 - INFO     - PAI.paradox.paradox - Cleaning previous session. Closing connection
2024-01-17 12:14:25,029 - ERROR    - PAI.paradox.connections.protocols - Connection was closed: None
2024-01-17 12:14:25,029 - ERROR    - PAI.paradox.connections.connection - Connection was lost
2024-01-17 12:14:25,030 - INFO     - PAI.paradox.paradox - Disconnected from the Alarm Panel
2024-01-17 12:14:25,030 - INFO     - PAI.paradox.paradox - Connecting to interface
2024-01-17 12:14:25,030 - INFO     - PAI.paradox.connections.ip.connection - Connecting. Try 1/3
2024-01-17 12:14:25,034 - INFO     - PAI.paradox.connections.connection - Connection established
2024-01-17 12:14:25,034 - INFO     - PAI.paradox.connections.ip.commands - Authenticating with IP Module
2024-01-17 12:14:25,040 - INFO     - PAI.paradox.connections.ip.commands - Authentication Success. IP(114) Module version 20, firmware: 5.6, serial: XXXXXXXXXXX
2024-01-17 12:14:25,049 - INFO     - PAI.paradox.connections.ip.commands - Session successfully established with IP Module
2024-01-17 12:14:25,050 - INFO     - PAI.paradox.paradox - Connecting to Panel
2024-01-17 12:14:25,161 - INFO     - PAI.paradox.paradox - Panel Identified SP4000 version 5.40 build 8
2024-01-17 12:14:25,162 - INFO     - PAI.paradox.paradox - Initiating panel connection
2024-01-17 12:14:25,257 - INFO     - PAI.paradox.hardware.spectra_magellan.panel - Installer login
2024-01-17 12:14:25,355 - INFO     - PAI.paradox.hardware.spectra_magellan.panel - Authentication Success
2024-01-17 12:14:25,355 - INFO     - PAI.paradox.paradox - Connection OK
2024-01-17 12:14:25,355 - INFO     - PAI.paradox.paradox - Loading data from panel memory
2024-01-17 12:14:25,355 - INFO     - PAI.paradox.hardware.panel - Loading definitions
2024-01-17 12:14:25,355 - INFO     - PAI.paradox.hardware.panel - Updating Definitions from Panel
2024-01-17 12:14:25,765 - INFO     - PAI.paradox.hardware.panel - Zone definitions loaded (0.41s)
2024-01-17 12:14:26,167 - INFO     - PAI.paradox.hardware.panel - Pgm definitions loaded (0.4s)
2024-01-17 12:14:26,172 - INFO     - PAI.paradox.hardware.panel - Loading labels
2024-01-17 12:14:26,172 - INFO     - PAI.paradox.hardware.panel - Updating Labels from Panel
2024-01-17 12:14:26,878 - INFO     - PAI.paradox.hardware.panel - Zone labels loaded (0.71s): XXXXXXXXXXX,XXXXXXXXXXX,XXXXXXXXXXX
2024-01-17 12:14:26,975 - INFO     - PAI.paradox.hardware.panel - Pgm labels loaded (0.1s): Output 01, Output 02
2024-01-17 12:14:27,072 - INFO     - PAI.paradox.hardware.panel - Partition labels loaded (0.1s): XXXXXXXXXXX,XXXXXXXXXXX
2024-01-17 12:14:27,595 - INFO     - PAI.paradox.hardware.panel - User labels loaded (0.52s): System Master, Master 1, Master 2, User 04, User 05, User 06, User 07, User 08, User 09, User 10
2024-01-17 12:14:27,595 - INFO     - PAI.paradox.hardware.panel - Module labels loaded (0.0s): 
2024-01-17 12:14:27,595 - INFO     - PAI.paradox.hardware.panel - Repeater labels loaded (0.0s): 
2024-01-17 12:14:27,595 - INFO     - PAI.paradox.hardware.panel - Keypad labels loaded (0.0s): 
2024-01-17 12:14:27,696 - INFO     - PAI.paradox.hardware.panel - Site labels loaded (0.1s): Your Alarm Site
2024-01-17 12:14:27,966 - INFO     - PAI.paradox.hardware.panel - Siren labels loaded (0.27s): , , 
2024-01-17 12:14:27,966 - INFO     - PAI.paradox.paradox - Running
2024-01-17 13:23:05,529 - ERROR    - PAI.paradox.hardware.spectra_magellan.panel - Exception parsing message: b'SANITIZED PAYLOAD'
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/paradox/hardware/spectra_magellan/panel.py", line 173, in parse_message
    return parsers.LiveEvent.parse(message)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 308, in parse
    return self.parse_stream(io.BytesIO(data), **contextkw)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 320, in parse_stream
    return self._parsereport(stream, context, "(parsing)")
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 332, in _parsereport
    obj = self._parse(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 2000, in _parse
    subobj = sc._parsereport(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 332, in _parsereport
    obj = self._parse(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 2489, in _parse
    return self.subcon._parsereport(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 332, in _parsereport
    obj = self._parse(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 4368, in _parse
    obj = self.subcon._parsereport(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 332, in _parsereport
    obj = self._parse(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 2000, in _parse
    subobj = sc._parsereport(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 332, in _parsereport
    obj = self._parse(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 2489, in _parse
    return self.subcon._parsereport(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 332, in _parsereport
    obj = self._parse(stream, context, path)
  File "/usr/local/lib/python3.9/site-packages/construct/core.py", line 719, in _parse
    return self._decode(obj, context, path)
  File "/usr/local/lib/python3.9/site-packages/paradox/hardware/spectra_magellan/adapters.py", line 10, in _decode
    return datetime.datetime(obj[0] * 100 + obj[1], obj[2], obj[3], obj[4], obj[5])
ValueError: month must be in 1..12

Live events usually do not have anything sensitive in them. You can send the full version to my email if you are still concerned.
But without the payload I am not able to understand what is wrong.

Thanks for the info, here it comes the whole payload:
PAI.paradox.hardware.spectra_magellan.panel - Exception parsing message: b'e21811170700000058204e545241444120202020200000000000fd41414141414141414141'

Do you have partition 33, zone 88, zone label: 'A AAAA'?

In date bytes there is junk. I am trying to understand if the rest of the message is junk.

Stale. Received no reply.