Can someone at SmartThings or other SMEs comment on this behavior I have observed?
Summary: LANMessage parse events can be sent to deleted device objects, preventing successful receipt and processing.
Duration: TBD; still observing/researching
- Create a new device that uses a custom device handler, physicalgraph.device.HubAction and an appropriate IP and port to make the HTTP call.
- Observe correct LAN message processing and responses. Observe device network ID as HEX value of IP and port, and LAN message response containing same information. Observe in Live Logging unique system ID for device such as [a30bcf82-bf71-4f2a-a68e-c752b1c54842].
- Delete device object.
- Create a new device with the same setup, including IP, port, and resulting same HEX values as network ID.
- Observe live log of HTTP call and no response to new device.
- Observe live log response is actually captured to previously deleted device ID and unique system ID in Step 2.
- On device being called, change either port or IP to something that has not be used before.
- Reconfigure SmartThings device object to new information. (my test was a port change). Observe change in HEX values and change in device network ID.
- Observe live log and successful responses to the current device name/ID.
- On the device being called, revert the port/IP configuration back to the original values.
- Reconfigure SmartThings device object to original information.
- Observe problem reappears. LAN Message responses now report back to deleted object name and unique ID.
Custom Device Handler in test: modified version of https://github.com/bsileo/SmartThings_Pentair