Add generic "PRO V2 W/Wi-Fi & Bluetooth LE" electric fireplace (v4r5dzjgkhnagnqc) (#5739)
New device config for an electric fireplace, product ID
`v4r5dzjgkhnagnqc`. No branding found on the unit or in the Tuya app
beyond the generic name "PRO V2 W/Wi-Fi & Bluetooth LE" - seems to be a
whitelabeled OEM product.
DP info came from the Tuya Cloud `/v2.0/cloud/thing/{id}/model`
endpoint, cross-checked against a local `status()` poll of the real
device. That data model gave descriptions (in Chinese) for all 20 DPs,
including the ones outside the standard "specification" schema (the
RGB/mode/custom-scene ones).
What's mapped:
- `climate`: power, target/current temp (C and F), heater level
(off/low/high)
- `select`: temp unit, timer, shared light effect mode, flame motor
speed
- `sensor`: timer remaining
- `light` x3 (flame/ember/downlight): each has its own DP encoding
RGB+HSV as a 7-byte hex string (R,G,B,H(2b),S,V) - only H/S/V are used,
R/G/B are redundant duplicates per the device's own docs, so they're
pulled in as unused spare fields to keep the byte offsets right
- `switch`: sync-lights toggle
- 3 custom-scene DPs + weekly-schedule DP are exposed as hidden/opaque
text fields - their packed formats are variable-length free-form byte
sequences (documented in the cloud data model) that don't fit the
fixed-format decoding the format: option supports, so I didn't try to
force them into real controls
`pytest tests/test_device_config.py`, `untranslated_entities`, and
`yamllint` all pass locally. I haven't yet confirmed entity behavior
against the live device through the HA UI (pending a restart on my end)
- will follow up in this PR if anything needs adjusting once I've done
that.