beastien
## Describe the bug When attempting to communicate with the vacuum via the Tuya local API, decryption fails intermittently with a UTF-8 decoding error in tuyalocalapi.py at line 708.Note on Impact: The integration continues to function and control the vacuum despite these errors. The log messages suggest checking the local key, but the underlying issue appears to be an unhandled UnicodeDecodeError when processing raw byte payloads from the [G30 Hybrid](https://www.google.com/search?ibp=oshop&prds=pvt:hg,pvo:29,imageDocid:18256440150219022180,gpcid:9002294967734039983,headlineOfferDocid:6047015469928361135,catalogid:3862988948632477283,productDocid:11559363187867801105,rds:PC_9002294967734039983%7CPROD_PC_9002294967734039983&q=product&sa=X&ved=2ahUKEwjV77uIlOCWAxX6WHADHaGtAZkQxa4PegYIAAgQEAE), rather than a completely broken connection. ## To Reproduce Steps to reproduce the behavior 1. Have the Damacus Eufy Robovac integration configured with local Tuya API. 2. Observe logs during normal operation / polling. 3. The error triggers when line 708 of tuyalocalapi.py encounters invalid byte sequences during processing. ## Expected behavior The integration should handle decryption byte payloads safely (e.g., using errors='ignore' or errors='replace' during decoding, or handling bytes as bytes longer before casting to string) rather than raising an unhandled UnicodeDecodeError. ## Screenshots None ## Environment Please complete the following information - Home Assistant Core version 2026.9.1 - Eufy RoboVac Integration version 2.4.3 - RoboVac Model(s) G30 Hybrid - Python version (if running custom scripts) N/A ## Logs This error originated from a custom integration. Logger: custom_components.robovac.tuyalocalapi.bf7a4be9196fefe112mil2 Source: custom_components/robovac/tuyalocalapi.py:708 Integration: Eufy Robovac (documentation, issues) First occurred: 8:31:04 AM (3 occurrences) Last logged: 8:50:27 AM Decryption failed - the local key may be incorrect or has changed. Try removing and re-adding the integration to refresh the key. Error: 'utf-8' codec can't decode byte 0xe0 in position 3: invalid continuation byte Decryption failed - the local key may be incorrect or has changed. Try removing and re-adding the integration to refresh the key. Error: 'utf-8' codec can't decode byte 0xff in position 2: invalid start byte Decryption failed - the local key may be incorrect or has changed. Try removing and re-adding the integration to refresh the key. Error: 'utf-8' codec can't decode byte 0xa3 in position 1: invalid start byte