docs: third cross-ref pass + sync uv.lock to 2026.5.11
Final cross-reference round, covering the remaining files where wire bytes have a user- or installer-facing counterpart: v1/messages.py New Cross-references block: SETUP ZONES + SETUP TEMPERATURES for the fields the parsers' raw bytes ultimately come from, and APPENDIX C for what each synthesized index means on hardware (unit 257+ = expansion-enclosure outputs, 393+ = panel flags). models.ZoneStatus Status-byte bit-layout doc now also points at the Owner's Manual CONTROL chapter's "View Zone Status" keypad screen -- same Secure / Not Ready / Trouble / Tamper labels. models.UnitStatus State-byte semantics doc references the Owner's Manual CONTROL chapter for the user-side actions (All On/All Off/Scene/Bright/Dim) that drive units into each of these states. mock_panel.py Notes that the mock's plausible-but-arbitrary RequestProperties / RequestStatus responses correspond on real hardware to what an installer typed into INSTALLER SETUP. Production fixtures should pre-seed MockPanel state to match a known SETUP configuration. uv.lock Catches up the project's own entry to omni-pca 2026.5.11 (was pinned to 2026.5.10 from the previous lock generation). No code changes; 387 tests still pass.
This commit is contained in:
parent
24eecceff9
commit
dd53b2a89a
@ -31,6 +31,16 @@ References:
|
|||||||
clsOL2MsgRequestStatus.cs / clsOL2MsgStatus.cs
|
clsOL2MsgRequestStatus.cs / clsOL2MsgStatus.cs
|
||||||
clsOL2MsgRequestExtendedStatus.cs / clsOL2MsgExtendedStatus.cs
|
clsOL2MsgRequestExtendedStatus.cs / clsOL2MsgExtendedStatus.cs
|
||||||
clsOLMsgSystemEvents.cs
|
clsOLMsgSystemEvents.cs
|
||||||
|
|
||||||
|
Cross-references (HAI OmniPro II Installation Manual):
|
||||||
|
*INSTALLER SETUP* (pca-re/docs/manuals/installation_manual/
|
||||||
|
04_INSTALLER_SETUP/) is the human-side counterpart to the data
|
||||||
|
this mock serves: the panel's response to a RequestProperties /
|
||||||
|
RequestStatus would on real hardware reflect whatever an installer
|
||||||
|
typed into SETUP CONTROL / SETUP ZONES / SETUP AREAS / SETUP
|
||||||
|
TEMPERATURES / SETUP MISC for that object. The mock just makes up
|
||||||
|
plausible bytes; production fixtures should pre-seed the
|
||||||
|
``MockPanel`` state to match a known SETUP configuration.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|||||||
@ -686,7 +686,9 @@ class ZoneStatus:
|
|||||||
bytes[2] status byte (current+latched+arming, see below)
|
bytes[2] status byte (current+latched+arming, see below)
|
||||||
bytes[3] analog loop reading (0-255)
|
bytes[3] analog loop reading (0-255)
|
||||||
|
|
||||||
Status byte bit layout (clsZone.cs:385, clsText.cs:3110):
|
Status byte bit layout (clsZone.cs:385, clsText.cs:3110, and the
|
||||||
|
"View Zone Status" keypad screen in the Owner's Manual *CONTROL*
|
||||||
|
chapter, pca-re/docs/owner_manual/05_CONTROL/):
|
||||||
bits 0-1 (mask 0x03): current condition
|
bits 0-1 (mask 0x03): current condition
|
||||||
0=Secure, 1=NotReady, 2=Trouble, 3=Tamper
|
0=Secure, 1=NotReady, 2=Trouble, 3=Tamper
|
||||||
bits 2-3 (mask 0x0C): latched alarm status
|
bits 2-3 (mask 0x0C): latched alarm status
|
||||||
@ -781,7 +783,11 @@ class UnitStatus:
|
|||||||
bytes[3..4] remaining time in seconds (BE u16, 0 = indefinite)
|
bytes[3..4] remaining time in seconds (BE u16, 0 = indefinite)
|
||||||
bytes[5..6] optional ZigBee instantaneous power (W, BE u16)
|
bytes[5..6] optional ZigBee instantaneous power (W, BE u16)
|
||||||
|
|
||||||
State byte semantics (clsUnit.cs:405-533):
|
State byte semantics (clsUnit.cs:405-533; user-visible meaning in
|
||||||
|
the Owner's Manual *CONTROL → Light/Appliance Control* chapter,
|
||||||
|
pca-re/docs/owner_manual/05_CONTROL/, which documents the keypad
|
||||||
|
"All On" / "All Off" / "Scene" / "Bright/Dim" actions that put a
|
||||||
|
unit into each of these states):
|
||||||
0 Off
|
0 Off
|
||||||
1 On
|
1 On
|
||||||
2..13 Scene A..L (state - 63 → 'A'..'L' as ASCII char)
|
2..13 Scene A..L (state - 63 → 'A'..'L' as ASCII char)
|
||||||
|
|||||||
@ -21,6 +21,18 @@ Per-record byte counts (verified against firmware 2.12 over UDP):
|
|||||||
AuxiliaryStatus 4 bytes per aux (relay, current, low_sp,
|
AuxiliaryStatus 4 bytes per aux (relay, current, low_sp,
|
||||||
high_sp)
|
high_sp)
|
||||||
|
|
||||||
|
Cross-references (HAI OmniPro II Installation Manual):
|
||||||
|
*INSTALLER SETUP → SETUP ZONES* (pca-re/docs/manuals/
|
||||||
|
installation_manual/04_INSTALLER_SETUP/) — the zone-type and
|
||||||
|
zone-options bits that determine what each ``ZoneStatus.raw_status``
|
||||||
|
byte's high nibble means come from this chapter.
|
||||||
|
*INSTALLER SETUP → SETUP TEMPERATURES* — same chapter, thermostat
|
||||||
|
enable/disable + thermostat type that drives whether
|
||||||
|
``parse_v1_thermostat_status`` records are populated at all.
|
||||||
|
*APPENDIX C — ZONE AND UNIT MAPPING* (12_…) — what each record's
|
||||||
|
synthesized index *means* on the hardware side (e.g. unit 257+
|
||||||
|
= expansion-enclosure outputs, 393+ = panel flags).
|
||||||
|
|
||||||
References:
|
References:
|
||||||
clsOLMsgZoneStatus.cs / clsOLMsgRequestZoneStatus.cs
|
clsOLMsgZoneStatus.cs / clsOLMsgRequestZoneStatus.cs
|
||||||
clsOLMsgUnitStatus.cs / clsOLMsgRequestUnitStatus.cs
|
clsOLMsgUnitStatus.cs / clsOLMsgRequestUnitStatus.cs
|
||||||
|
|||||||
2
uv.lock
generated
2
uv.lock
generated
@ -1511,7 +1511,7 @@ wheels = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "omni-pca"
|
name = "omni-pca"
|
||||||
version = "2026.5.10"
|
version = "2026.5.11"
|
||||||
source = { editable = "." }
|
source = { editable = "." }
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "cryptography" },
|
{ name = "cryptography" },
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user