Skip to content
Jevgeni Kiski edited this page Oct 21, 2026 · 15 revisions

Troubleshooting / FAQ

Start with the installed PAI version, connection type, and logs. Check compatibility before changing panel firmware.

Authentication Failed. Wrong Password

  1. Verify PASSWORD is the PC communication password, not a user, master, installer, or IP module password. In Babyware: panel properties -> PC Communication. For EVO, consult section 3012 in the model's programming guide.
  2. Check the loaded config path in startup output. Quote the password to preserve leading zeroes.
  3. Some native MG/SP panels use an alternate 0 encoding: reported examples use 0306 -> a3a6. This is model-specific, not a general encrypted-serial/MG6250 rule.
  4. Stop repeated attempts if the panel locks out PC access. Lockout duration/recovery varies by firmware; follow the model manual or installer guidance.
  5. For IP150, verify its separate IP_CONNECTION_PASSWORD and that no other PC client occupies the session.
  6. For MG6250, set MG6250_USERNAME and a nonempty PC password; only login is implemented.

For PRT3 there is no PC-password login. Disarm requires PRT3_USER_CODE with permission for the target area.

Historical native-panel reports also mention failures when the PC password duplicates a user/master/installer code, or a working PASSWORD: '' despite Babyware showing 0000. These are model-specific reports, not general rules: confirm with your installer before changing credentials or retrying. MG6250 requires a nonempty password.

Failed to connect: Panel did not replied to InitiateCommunication

Check Action
Wrong serial device / baud rate Match the panel, adapter, and config; TCP bridges have their own UART setting
Occupied connection Stop other PAI instances, Babyware, or clients using the panel port
Wrong IP mode IP150 uses normal IP; a transparent serial bridge requires IP_CONNECTION_BARE: true
Encrypted EVO serial Enable SERIAL_ENCRYPTED only for the supported full-AES protocol
Serial permission error Grant the service account/device mapping access; instructions
Wiring/interface mismatch Follow the model and adapter manuals; do not swap live wiring experimentally

PRT3 is slow, will not disarm, or has missing entities

  • Match PRT3_SERIAL_BAUD to the module (9600 or 19200).
  • Reduce PRT3_MAX_AREAS, PRT3_MAX_ZONES, and PRT3_MAX_USERS to the actual system size.
  • Set PRT3_USER_CODE for disarm; empty allows quick-arm only when enabled on the panel.
  • Zone bypass, native PGM control, and panel time sync are not available through PRT3.
  • Check that your installation/add-on actually supports 3.8.x options. See PRT3.

Bypass command refused or appears unchanged

On Spectra/Magellan, PAI refuses commands until cached bypassed state is known and skips already-matching states. Wait for status refresh; do not repeatedly send the toggle. Concurrent keypad/automation changes can race with the cache. See MQTT bypass behavior.

EVO PGM command returns error 29 / 0x1D

3.8.x logs the hexadecimal error code, but does not fix every firmware's onboard PGM rejection. Check panel permissions/programming and hardware-specific reports. Expansion module PGMs use a different command path; do not assume they have measured state feedback.

No handler for message 5 / checksum warnings

An occasional delayed/unmatched response or corrupt frame may be recoverable. Persistent warnings, repeated disconnects, or missing state updates are not proof of normal operation. Check serial baud rate, wiring/interface quality, competing clients, and polling/timeout settings before increasing timeouts.

MQTT connects but Home Assistant has no entities

Follow the discovery checklist. Check discovery is enabled, PAI received panel status, broker ACLs permit homeassistant/..., and numeric states are disabled.

Debug logging

Start with console debug without raw dumps:

LOGGING_LEVEL_CONSOLE: 10
LOGGING_DUMP_PACKETS: false
LOGGING_DUMP_MESSAGES: false

For Python configs, use LOGGING_LEVEL_CONSOLE = 10. Optional file logging:

LOGGING_FILE: /path/writable/by/pai/paradox.log
LOGGING_LEVEL_FILE: 10

Only enable packet/message dumps temporarily when needed. Dumps can expose passwords, disarm codes, labels, and other private configuration, even though normal logs redact some identifiers. Review and redact logs before sharing; do not post captures publicly.

Capture and decrypt a connection

Only capture traffic from your own authorized system. Prefer local decryption and share the minimum redacted excerpt requested.

  1. Stop PAI so Babyware can connect directly.
  2. In Wireshark, capture one Babyware session using a host filter for the IP module.
  3. Record the relevant action/packet range; stop the capture and disconnect Babyware.
  4. Follow the TCP stream and export the entire conversation as YAML.
  5. Install PAI with the YAML extra and decrypt locally:
ip150-connection-decrypt capture.yaml 'your-IP-module-password' > decrypted.txt

For an existing serial capture containing TX/RX [length]: hex... lines:

ip150-connection-decrypt capture.serial --serial --pc-password 'your-PC-password' > decrypted.txt

Protect the capture/output files. Command-line passwords can appear in shell history/process listings. Serial decryption supports the full-AES format; compact Babyware frames are not decrypted. See protocol notes.

Clone this wiki locally