Unescape device names (fixes #12)

This commit is contained in:
freybene 2024-06-19 10:32:47 +02:00
parent 6e4285f824
commit 6f17edae14

View file

@ -8,6 +8,7 @@ import asyncio
import random
import string
import re
import html
from io import BytesIO
from datetime import datetime, timedelta
from homeassistant.helpers.aiohttp_client import async_get_clientsession
@ -249,6 +250,9 @@ async def get_devices(hass: HomeAssistant, session: aiohttp.ClientSession, entry
devices_data = response_json["deviceList"]
devices = []
for device in devices_data:
# Double unescaping required. Example:
# "Benedev's S22" first becomes "Benedev's S22" and then "Benedev's S22"
device['modelName'] = html.unescape(html.unescape(device['modelName']))
identifier = (DOMAIN, device['dvceID'])
ha_dev = device_registry.async_get(hass).async_get_device({identifier})
if ha_dev and ha_dev.disabled: