New devices
- HDMI sync lights (#264)
- Nedis pet feeder (#379) - not working yet
- Nedis air quality monitor (#384)
- Qnect 3+USB powerstrip (#376)
- Avatto curtain+light switch (#378)
- TOMPD-63LW circuit breaker/meter (#388)
- AlecoAir D12/D16 Home dehumidifier (PR #386, #328, #397)
- Gosund P1 powerstrip (#389)
- Stadler Form Eva humidifier (PR #394)
- Fanco Eco Silent Deluxe ceiling fan+light (#399)
- Konlen/Rockson WF96L water level controller (#381)
- VisorTech ZX-3150 smoke detector (#393)
- Skyfan DC fan (#396)
- Breville Easy air purifier (#400)
Device Improvements
- Hysen HY08ACF: improve compatibility with different variants (#343)
- Solar Inverter: use total_increasing for energy (PR #374)
- Lefant M213: additional error code
- PJ1103: improve compatibility making some dps optional, and add additional (#395)
- smartplugv2_energyv3: Fix inching type, add overcharge protect, make energy optional for compatibility with Elivco smartplug (#392)
General Improvements
- Catch errors from hex and base64 decoding (#264)
- Refactor generic entity implementations into the top-level platforms
- sensor: Implement native_precision (#370)
- climate, water_heater: implement precision (#370)
- Brazilian Portuguese translations (PR #375)
- Ukrainian translations (PR #380)
- dependency updates: pycryptodome 3.17, tinytuya 1.10.2
- issue templates added (PR #390)
- improve documentation on installation and configuration (#391)