You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Per spec (§8.2.5), during interviews and runtime communication, the controller MUST timeout waiting for Report responses using a ReportTime timer (CommandTime + 1s for interviews, CommandTime + 10s for polling). Currently only serial-level ACK timeouts exist (1600ms in ZWaveSerialPortCoordinator).
Scope:
Add a configurable ReportTime timeout to CommandClass.AwaitNextReportAsync() (currently waits indefinitely via TaskCompletionSource)
Default timeout: CommandTime + 1s for interviews, CommandTime + 10s for polling scenarios
When timeout expires: cancel the awaiting TCS, log the timeout, allow the interview to continue with next CC
Update the interview flow in Node.InterviewCommandClassesAsync() to handle timeout exceptions gracefully - mark the CC as partially interviewed rather than failing the entire interview
Design notes: This is distinct from serial-level timeouts (which handle frame delivery) and callback timeouts (#121, which handle REQ→callback flow). This is about the application-level wait for a CC Report in response to a CC Get. The timeout should be measured from successful transmission (ACK received) to Report received.
Per spec (§8.2.5), during interviews and runtime communication, the controller MUST timeout waiting for Report responses using a
ReportTimetimer (CommandTime + 1s for interviews, CommandTime + 10s for polling). Currently only serial-level ACK timeouts exist (1600ms inZWaveSerialPortCoordinator).Scope:
ReportTimetimeout toCommandClass.AwaitNextReportAsync()(currently waits indefinitely viaTaskCompletionSource)Node.InterviewCommandClassesAsync()to handle timeout exceptions gracefully - mark the CC as partially interviewed rather than failing the entire interviewDesign notes: This is distinct from serial-level timeouts (which handle frame delivery) and callback timeouts (#121, which handle REQ→callback flow). This is about the application-level wait for a CC Report in response to a CC Get. The timeout should be measured from successful transmission (ACK received) to Report received.