ballle98 / AqualinkD

Daemon to control Jandy Aqualink RS pool equipment from any home automation hub (Alexa, Homekit & Siri, Home Assistant, smartthings, domoticz etc) or web browser.
Other
6 stars 2 forks source link

Error missed CMD_PDA_HIGHLIGHT while performing set spa heater #49

Open ballle98 opened 3 years ago

ballle98 commented 3 years ago

Saw this issue working on rebasing branch 'dev/unpredictable_waitForPDAMessageType' on '42586e5' which is a couple commits passed version 2.2.2a

While performing set temp

Debug:   PDA:       waitForPDAMessageTypesOrMenu 0x08,0xff,(null),0,0.500 sec
Debug:   AqualinkD: RS received packet of type Status length 12
Debug:   PDA:       To 0x62 of type           Status | HEX: 0x10|0x02|0x62|0x02|0x00|0x1b|0x71|0x08|0x00|0x0a|0x10|0x03|
Error:   PDA:       waitForPDAMessageTypesOrMenu 0x08,0xff,(null),0 - Connection timed out
Error:   PDA:       waitForPDAMessageTypesOrMenu: did not receive 0x08 or 0xff

More Context Here:

Request:

Debug:   NetService:WS: Message - Key 'parameter' Value 'Spa_Heater'
Debug:   NetService:WS: Message - Key 'value' Value '95'
Warning: NetService:WS: Old stanza, using old method to action
Info:    NetService:WS: Message - Key 'parameter' Value 'Spa_Heater' | Key2 'value' Value2 '95'
Notice:  Panl Prog: Programming: Set Spa heater setpoint, 4
Debug:   Panl Prog: Thread 4,0xb6400f08 is active (Set Spa heater setpoint)

Error location:

Debug:   PDA:       waitForPDAMessageTypesOrMenu last message type 0x04 (8)
Debug:   AqualinkD: RS received packet of type Lng Message length 24
Debug:   PDA:       To 0x62 of type      Lng Message | HEX: 0x10|0x02|0x62|0x04|0x02|0x53|0x50|0x41|0x20|0x48|0x45|0x41|0x54|0x20|0x20|0x20|0x20|0x39|0x39|0x60|0x46|0x38|0x10|0x03|
Debug:   PDA:       PDA Menu Line 0 =     SET TEMP    
Debug:   PDA:       PDA Menu Line 1 = POOL HEAT   70`F
Debug:   PDA:       PDA Menu Line 2 = SPA HEAT    99`F
Debug:   PDA:       PDA Menu Line 3 = 
Debug:   PDA:       PDA Menu Line 4 = 
Debug:   PDA:       PDA Menu Line 5 = 
Debug:   PDA:       PDA Menu Line 6 = 
Debug:   PDA:       PDA Menu Line 7 = Highlight an
Debug:   PDA:       PDA Menu Line 8 = item and press
Debug:   PDA:       PDA Menu Line 9 = SELECT
Debug:   PDA:       process_pda_packet_msg_long_set_temp
Debug:   PDA:       spa_htr_set_point = 99
Info:    PDA:       PDA Menu '7' Selectedline '-', Last line received 'SPA HEAT    99`F'
Debug:   Panl Prog: Kicking PDA thread 4,0xb6400f08
Debug:   PDA:       waitForPDAMessageTypesOrMenu last message type 0x04 (9)
Debug:   AqualinkD: RS received packet of type PDA Hlight length 10
Debug:   PDA:       To 0x62 of type       PDA Hlight | HEX: 0x10|0x02|0x62|0x08|0x01|0x00|0x00|0x7d|0x10|0x03|
Debug:   PDA:       PDA Menu Line 0 =     SET TEMP    
Debug:   PDA:       PDA Menu Line 1 = POOL HEAT   70`F
Debug:   PDA:       PDA Menu Line 2 = SPA HEAT    99`F
Debug:   PDA:       PDA Menu Line 3 = 
Debug:   PDA:       PDA Menu Line 4 = 
Debug:   PDA:       PDA Menu Line 5 = 
Debug:   PDA:       PDA Menu Line 6 = 
Debug:   PDA:       PDA Menu Line 7 = Highlight an
Debug:   PDA:       PDA Menu Line 8 = item and press
Debug:   PDA:       PDA Menu Line 9 = SELECT
Debug:   PDA:       PDA Menu highlighted line = 1 = POOL HEAT   70`F
Debug:   Panl Prog: Kicking PDA thread 4,0xb6400f08
Debug:   PDA:       waitForPDAMessageTypesOrMenu: received 0x08
Debug:   PDA:       PDA Device programmer request for menu 7, current 7
Info:    Panl Prog: Queue send '0x05' to controller (programming)
Debug:   AqualinkD: RS received packet of type Status length 12
Debug:   PDA:       To 0x62 of type           Status | HEX: 0x10|0x02|0x62|0x02|0x00|0x1b|0x71|0x08|0x00|0x0a|0x10|0x03|
Debug:   AqualinkD: RS received packet of type PDA Hlight length 10
Debug:   PDA:       To 0x62 of type       PDA Hlight | HEX: 0x10|0x02|0x62|0x08|0x02|0x00|0x00|0x7e|0x10|0x03|
Debug:   PDA:       PDA Menu Line 0 =     SET TEMP    
Debug:   PDA:       PDA Menu Line 1 = POOL HEAT   70`F
Debug:   PDA:       PDA Menu Line 2 = SPA HEAT    99`F
Debug:   PDA:       PDA Menu Line 3 = 
Debug:   PDA:       PDA Menu Line 4 = 
Debug:   PDA:       PDA Menu Line 5 = 
Debug:   PDA:       PDA Menu Line 6 = 
Debug:   PDA:       PDA Menu Line 7 = Highlight an
Debug:   PDA:       PDA Menu Line 8 = item and press
Debug:   PDA:       PDA Menu Line 9 = SELECT
Debug:   PDA:       PDA Menu highlighted line = 2 = SPA HEAT    99`F
Debug:   Panl Prog: Kicking PDA thread 4,0xb6400f08
Debug:   PDA:       PDA can't sleep as thread 4,0xb6400f08 is active
Debug:   AqualinkD: RS received packet of type Status length 12
Debug:   PDA:       To 0x62 of type           Status | HEX: 0x10|0x02|0x62|0x02|0x00|0x1b|0x71|0x08|0x00|0x0a|0x10|0x03|
Debug:   PDA:       waitForPDAMessageTypesOrMenu 0x08,0xff,(null),0,0.500 sec
Debug:   AqualinkD: RS received packet of type Status length 12
Debug:   PDA:       To 0x62 of type           Status | HEX: 0x10|0x02|0x62|0x02|0x00|0x1b|0x71|0x08|0x00|0x0a|0x10|0x03|
Error:   PDA:       waitForPDAMessageTypesOrMenu 0x08,0xff,(null),0 - Connection timed out
Error:   PDA:       waitForPDAMessageTypesOrMenu: did not receive 0x08 or 0xff
Info:    Panl Prog: Queue send '0x04' to controller (programming)
Debug:   PDA:       PDA SPA HEAT value : lower from 99 to 95
Debug:   AqualinkD: RS received packet of type Status length 12
Debug:   PDA:       To 0x62 of type           Status | HEX: 0x10|0x02|0x62|0x02|0x00|0x1b|0x71|0x08|0x00|0x0a|0x10|0x03|
Info:    Panl Prog: Queue send '0x05' to controller (programming)
Debug:   AqualinkD: RS received packet of type PDA Hlight length 10
Debug:   PDA:       To 0x62 of type       PDA Hlight | HEX: 0x10|0x02|0x62|0x08|0xff|0x00|0x00|0x7b|0x10|0x03|
Debug:   PDA:       PDA Menu Line 0 =     SET TEMP    
Debug:   PDA:       PDA Menu Line 1 = POOL HEAT   70`F
Debug:   PDA:       PDA Menu Line 2 = SPA HEAT    99`F
Debug:   PDA:       PDA Menu Line 3 = 
Debug:   PDA:       PDA Menu Line 4 = 
Debug:   PDA:       PDA Menu Line 5 = 
Debug:   PDA:       PDA Menu Line 6 = 
Debug:   PDA:       PDA Menu Line 7 = Highlight an
Debug:   PDA:       PDA Menu Line 8 = item and press
Debug:   PDA:       PDA Menu Line 9 = SELECT
Debug:   Panl Prog: Kicking PDA thread 4,0xb6400f08
Debug:   AqualinkD: RS received packet of type PDA HlightChars length 11
Debug:   PDA:       To 0x62 of type  PDA HlightChars | HEX: 0x10|0x02|0x62|0x10|0x02|0x0a|0x0f|0x01|0xa0|0x10|0x03|
Debug:   PDA:       PDA Menu Line 0 =     SET TEMP    
Debug:   PDA:       PDA Menu Line 1 = POOL HEAT   70`F
Debug:   PDA:       PDA Menu Line 2 = SPA HEAT    99`F
Debug:   PDA:       PDA Menu Line 3 = 
Debug:   PDA:       PDA Menu Line 4 = 
Debug:   PDA:       PDA Menu Line 5 = 
Debug:   PDA:       PDA Menu Line 6 = 
Debug:   PDA:       PDA Menu Line 7 = Highlight an
Debug:   PDA:       PDA Menu Line 8 = item and press
Debug:   PDA:       PDA Menu Line 9 = SELECT
Debug:   PDA:       PDA Menu highlighted line = 2 = SPA HEAT    99`F
Debug:   Panl Prog: Kicking PDA thread 4,0xb6400f08
Debug:   AqualinkD: RS received packet of type Status length 12
Debug:   PDA:       To 0x62 of type           Status | HEX: 0x10|0x02|0x62|0x02|0x00|0x1b|0x71|0x08|0x00|0x0a|0x10|0x03|
Info:    Panl Prog: Queue send '0x05' to controller (programming)
Debug:   AqualinkD: RS received packet of type Lng Message length 24
Debug:   PDA:       To 0x62 of type      Lng Message | HEX: 0x10|0x02|0x62|0x04|0x02|0x53|0x50|0x41|0x20|0x48|0x45|0x41|0x54|0x20|0x20|0x20|0x20|0x39|0x38|0x60|0x46|0x37|0x10|0x03|
Debug:   PDA:       PDA Menu Line 0 =     SET TEMP    
Debug:   PDA:       PDA Menu Line 1 = POOL HEAT   70`F
Debug:   PDA:       PDA Menu Line 2 = SPA HEAT    98`F
Debug:   PDA:       PDA Menu Line 3 = 
Debug:   PDA:       PDA Menu Line 4 = 
Debug:   PDA:       PDA Menu Line 5 = 
Debug:   PDA:       PDA Menu Line 6 = 
Debug:   PDA:       PDA Menu Line 7 = Highlight an
Debug:   PDA:       PDA Menu Line 8 = item and press
Debug:   PDA:       PDA Menu Line 9 = SELECT
Debug:   PDA:       PDA Menu highlighted line = 2 = SPA HEAT    98`F
Debug:   PDA:       process_pda_packet_msg_long_set_temp
Debug:   PDA:       spa_htr_set_point = 98
Info:    PDA:       PDA Menu '7' Selectedline 'SPA HEAT    98`F', Last line received 'SPA HEAT    98`F'
Debug:   Panl Prog: Kicking PDA thread 4,0xb6400f08
Debug:   PDA:       PDA can't sleep as thread 4,0xb6400f08 is active
Debug:   AqualinkD: RS received packet of type Status length 12
Debug:   PDA:       To 0x62 of type           Status | HEX: 0x10|0x02|0x62|0x02|0x00|0x1b|0x71|0x08|0x00|0x0a|0x10|0x03|
Info:    Panl Prog: Queue send '0x05' to controller (programming)
Debug:   AqualinkD: RS received packet of type Lng Message length 24
Debug:   PDA:       To 0x62 of type      Lng Message | HEX: 0x10|0x02|0x62|0x04|0x02|0x53|0x50|0x41|0x20|0x48|0x45|0x41|0x54|0x20|0x20|0x20|0x20|0x39|0x37|0x60|0x46|0x36|0x10|0x03|
ballle98 commented 3 years ago

This was not an issue on upstream/master because last_packet_type is checked first before cond timed wait

ballle98 commented 3 years ago

After flipping the order it works

Info:    Panl Prog: Queue send '0x05' to controller (programming)
Debug:   AqualinkD: RS received packet of type Status length 12
Debug:   PDA:       To 0x62 of type           Status | HEX: 0x10|0x02|0x62|0x02|0x00|0x1b|0x71|0x08|0x00|0x0a|0x10|0x03|
Debug:   AqualinkD: RS received packet of type PDA Hlight length 10
Debug:   PDA:       To 0x62 of type       PDA Hlight | HEX: 0x10|0x02|0x62|0x08|0x02|0x00|0x00|0x7e|0x10|0x03|
Debug:   PDA:       PDA Menu Line 0 =     SET TEMP    
Debug:   PDA:       PDA Menu Line 1 = POOL HEAT   70`F
Debug:   PDA:       PDA Menu Line 2 = SPA HEAT    99`F
Debug:   PDA:       PDA Menu Line 3 = 
Debug:   PDA:       PDA Menu Line 4 = 
Debug:   PDA:       PDA Menu Line 5 = 
Debug:   PDA:       PDA Menu Line 6 = 
Debug:   PDA:       PDA Menu Line 7 = Highlight an
Debug:   PDA:       PDA Menu Line 8 = item and press
Debug:   PDA:       PDA Menu Line 9 = SELECT
Debug:   PDA:       PDA Menu highlighted line = 2 = SPA HEAT    99`F
Debug:   Panl Prog: Kicking PDA thread 4,0xb6400630
Debug:   PDA:       PDA can't sleep as thread 4,0xb6400630 is active
Debug:   PDA:       waitForPDAMessageTypesOrMenu 0x08,0xff,(null),0,0.500 sec
Debug:   PDA:       waitForPDAMessageTypesOrMenu: received 0x08
Info:    Panl Prog: Queue send '0x04' to controller (programming)
Debug:   PDA:       PDA SPA HEAT value : raise from 99 to 103