Summary
Control4/sky_q_ip_pulse-eight/p8sky.lua hardcodes PORT = 49160 with no fallback path. This is the right port for modern Sky Q boxes (firmware v060+) and Sky+HD, but breaks on legacy Sky Q firmware < v060 which uses 5900.
Code reference
-- Pulse-Eight/drivers/Control4/sky_q_ip_pulse-eight/p8sky.lua
PORT = 49160
function P8INT:SEND_KEY(code)
...
skyClient = C4:CreateTCPClient()
:Connect(ip, PORT)
end
The wire format and splice handshake (splice = 12 → 1, string.char(4, dn|up, 0,0,0,0, math.floor(224 + (code/16)), code % 16)) match the open-source consensus and the Pulse-Eight V2IP firmware driver at libP8/remote_control/src/drivers/SkyIP/sky_ip.c. Only the port is at issue.
Impact
Probably small in practice — v060 has been out long enough that the install base is overwhelmingly modern. But a customer with an unusual / non-updated box would see a silently failing driver: TCP connect to 49160 times out, no key fires, no fallback attempted.
Suggested directions
- Add a 5900 fallback mirroring the pattern in V2IP firmware: try 49160 first, fall back to 5900 on connect failure, cache which port worked. (See Pulse-Eight/V2IP#309 for the firmware-side discussion of port-order strategy.)
- Or expose
Port as a driver property with default 49160 and let the integrator override on the rare legacy install.
- Aligning with the firmware is the higher-value choice — both Pulse-Eight Sky-Q control surfaces (firmware + Control4) should agree on which port they prefer and whether they fall back.
Minor cosmetic
Typo at the same file's TURN_OFF log line: "Sky Q is already of, ignoring Turn Off Request" — of → off.
Cross-reference
Pulse-Eight/V2IP#309 — the firmware side of the same port-order question.
Discovered during
Customer-side review of Sky Q control behaviour across both Pulse-Eight stacks (V2IP firmware + Control4 driver). Ben (bpuk) is the C4 maintainer per Martin.
Summary
Control4/sky_q_ip_pulse-eight/p8sky.luahardcodesPORT = 49160with no fallback path. This is the right port for modern Sky Q boxes (firmware v060+) and Sky+HD, but breaks on legacy Sky Q firmware < v060 which uses 5900.Code reference
The wire format and splice handshake (
splice = 12 → 1,string.char(4, dn|up, 0,0,0,0, math.floor(224 + (code/16)), code % 16)) match the open-source consensus and the Pulse-Eight V2IP firmware driver atlibP8/remote_control/src/drivers/SkyIP/sky_ip.c. Only the port is at issue.Impact
Probably small in practice — v060 has been out long enough that the install base is overwhelmingly modern. But a customer with an unusual / non-updated box would see a silently failing driver: TCP connect to 49160 times out, no key fires, no fallback attempted.
Suggested directions
Portas a driver property with default 49160 and let the integrator override on the rare legacy install.Minor cosmetic
Typo at the same file's
TURN_OFFlog line:"Sky Q is already of, ignoring Turn Off Request"—of→off.Cross-reference
Pulse-Eight/V2IP#309 — the firmware side of the same port-order question.
Discovered during
Customer-side review of Sky Q control behaviour across both Pulse-Eight stacks (V2IP firmware + Control4 driver). Ben (bpuk) is the C4 maintainer per Martin.