homeassistant 2025.9.0b5__py3-none-any.whl → 2025.9.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homeassistant/components/ai_task/translations/es.json +23 -1
- homeassistant/components/airgradient/translations/es.json +2 -1
- homeassistant/components/airos/translations/es.json +35 -1
- homeassistant/components/airq/translations/es.json +5 -0
- homeassistant/components/aladdin_connect/translations/es.json +30 -1
- homeassistant/components/alarm_control_panel/translations/es.json +1 -1
- homeassistant/components/alexa_devices/translations/es.json +52 -1
- homeassistant/components/alexa_devices/translations/zh-Hans.json +12 -2
- homeassistant/components/androidtv_remote/translations/bg.json +0 -1
- homeassistant/components/androidtv_remote/translations/ca.json +0 -1
- homeassistant/components/androidtv_remote/translations/cs.json +0 -1
- homeassistant/components/androidtv_remote/translations/de.json +1 -1
- homeassistant/components/androidtv_remote/translations/el.json +0 -1
- homeassistant/components/androidtv_remote/translations/en-GB.json +1 -1
- homeassistant/components/androidtv_remote/translations/en.json +1 -1
- homeassistant/components/androidtv_remote/translations/es.json +0 -1
- homeassistant/components/androidtv_remote/translations/fi.json +0 -1
- homeassistant/components/androidtv_remote/translations/fr.json +0 -1
- homeassistant/components/androidtv_remote/translations/ga.json +0 -1
- homeassistant/components/androidtv_remote/translations/gl.json +0 -1
- homeassistant/components/androidtv_remote/translations/he.json +0 -1
- homeassistant/components/androidtv_remote/translations/hu.json +0 -1
- homeassistant/components/androidtv_remote/translations/id.json +0 -1
- homeassistant/components/androidtv_remote/translations/it.json +0 -1
- homeassistant/components/androidtv_remote/translations/ja.json +0 -1
- homeassistant/components/androidtv_remote/translations/ko.json +0 -1
- homeassistant/components/androidtv_remote/translations/lt.json +0 -1
- homeassistant/components/androidtv_remote/translations/lv.json +0 -1
- homeassistant/components/androidtv_remote/translations/nl.json +0 -1
- homeassistant/components/androidtv_remote/translations/pl.json +0 -1
- homeassistant/components/androidtv_remote/translations/pt-BR.json +0 -1
- homeassistant/components/androidtv_remote/translations/pt.json +0 -1
- homeassistant/components/androidtv_remote/translations/ro.json +0 -1
- homeassistant/components/androidtv_remote/translations/ru.json +0 -1
- homeassistant/components/androidtv_remote/translations/sk.json +0 -1
- homeassistant/components/androidtv_remote/translations/sl.json +0 -1
- homeassistant/components/androidtv_remote/translations/sv.json +0 -1
- homeassistant/components/androidtv_remote/translations/tr.json +0 -1
- homeassistant/components/androidtv_remote/translations/uk.json +0 -1
- homeassistant/components/androidtv_remote/translations/zh-Hans.json +0 -1
- homeassistant/components/apcupsd/translations/es.json +3 -3
- homeassistant/components/apsystems/translations/de.json +1 -1
- homeassistant/components/bayesian/translations/es.json +257 -0
- homeassistant/components/bayesian/translations/lt.json +14 -4
- homeassistant/components/blue_current/translations/sl.json +1 -0
- homeassistant/components/bmw_connected_drive/manifest.json +1 -1
- homeassistant/components/bmw_connected_drive/translations/cs.json +1 -1
- homeassistant/components/bosch_alarm/translations/es.json +3 -0
- homeassistant/components/bsblan/translations/es.json +14 -0
- homeassistant/components/coinbase/translations/es.json +10 -1
- homeassistant/components/conversation/default_agent.py +4 -6
- homeassistant/components/conversation/manifest.json +1 -1
- homeassistant/components/deconz/entity.py +1 -1
- homeassistant/components/deconz/hub/hub.py +1 -12
- homeassistant/components/deconz/light.py +1 -1
- homeassistant/components/deconz/services.py +2 -11
- homeassistant/components/device_tracker/translations/ga.json +7 -1
- homeassistant/components/dsmr/translations/ga.json +5 -0
- homeassistant/components/dsmr_reader/translations/es.json +3 -3
- homeassistant/components/dsmr_reader/translations/ga.json +15 -0
- homeassistant/components/elgato/translations/es.json +1 -1
- homeassistant/components/elkm1/translations/de.json +1 -1
- homeassistant/components/enphase_envoy/translations/es.json +8 -2
- homeassistant/components/fan/strings.json +3 -0
- homeassistant/components/fan/translations/de.json +3 -0
- homeassistant/components/fan/translations/en-GB.json +3 -0
- homeassistant/components/fan/translations/en.json +3 -0
- homeassistant/components/fan/translations/es.json +3 -0
- homeassistant/components/fan/translations/et.json +3 -0
- homeassistant/components/fan/translations/ga.json +3 -0
- homeassistant/components/fan/translations/lt.json +3 -0
- homeassistant/components/fan/translations/zh-Hans.json +3 -0
- homeassistant/components/fan/translations/zh-Hant.json +3 -0
- homeassistant/components/firmata/translations/ga.json +7 -0
- homeassistant/components/fivem/translations/ga.json +15 -0
- homeassistant/components/flipr/translations/ga.json +9 -0
- homeassistant/components/flo/translations/ga.json +44 -0
- homeassistant/components/foscam/translations/es.json +40 -1
- homeassistant/components/fritz/strings.json +2 -2
- homeassistant/components/fritz/translations/bg.json +0 -4
- homeassistant/components/fritz/translations/ca.json +1 -7
- homeassistant/components/fritz/translations/cs.json +3 -7
- homeassistant/components/fritz/translations/de.json +4 -4
- homeassistant/components/fritz/translations/el.json +2 -9
- homeassistant/components/fritz/translations/en-GB.json +5 -5
- homeassistant/components/fritz/translations/en.json +5 -5
- homeassistant/components/fritz/translations/es.json +5 -5
- homeassistant/components/fritz/translations/et.json +4 -4
- homeassistant/components/fritz/translations/fi.json +1 -6
- homeassistant/components/fritz/translations/fr.json +1 -2
- homeassistant/components/fritz/translations/ga.json +20 -9
- homeassistant/components/fritz/translations/hu.json +2 -9
- homeassistant/components/fritz/translations/id.json +1 -6
- homeassistant/components/fritz/translations/it.json +2 -9
- homeassistant/components/fritz/translations/ja.json +2 -9
- homeassistant/components/fritz/translations/ko.json +1 -6
- homeassistant/components/fritz/translations/lt.json +3 -7
- homeassistant/components/fritz/translations/nb.json +1 -2
- homeassistant/components/fritz/translations/nl.json +1 -5
- homeassistant/components/fritz/translations/pl.json +1 -2
- homeassistant/components/fritz/translations/pt-BR.json +1 -2
- homeassistant/components/fritz/translations/pt.json +2 -9
- homeassistant/components/fritz/translations/ro.json +1 -2
- homeassistant/components/fritz/translations/ru.json +2 -9
- homeassistant/components/fritz/translations/sk.json +2 -9
- homeassistant/components/fritz/translations/sv.json +2 -9
- homeassistant/components/fritz/translations/tr.json +2 -9
- homeassistant/components/fritz/translations/uk.json +1 -2
- homeassistant/components/fritz/translations/zh-Hans.json +4 -4
- homeassistant/components/fritz/translations/zh-Hant.json +5 -5
- homeassistant/components/fritzbox/translations/es.json +3 -1
- homeassistant/components/fritzbox/translations/ga.json +40 -3
- homeassistant/components/fritzbox_callmonitor/translations/es.json +2 -1
- homeassistant/components/fritzbox_callmonitor/translations/ga.json +15 -0
- homeassistant/components/fritzbox_callmonitor/translations/ru.json +2 -1
- homeassistant/components/fronius/translations/es.json +9 -9
- homeassistant/components/frontend/manifest.json +1 -1
- homeassistant/components/fully_kiosk/translations/ga.json +40 -0
- homeassistant/components/fyta/translations/es.json +64 -2
- homeassistant/components/generic/translations/ga.json +6 -0
- homeassistant/components/geo_json_events/translations/ga.json +9 -0
- homeassistant/components/geo_location/translations/ga.json +6 -1
- homeassistant/components/geocaching/translations/ga.json +36 -2
- homeassistant/components/goalzero/translations/ga.json +17 -2
- homeassistant/components/gogogate2/translations/ga.json +23 -0
- homeassistant/components/goodwe/translations/ga.json +33 -0
- homeassistant/components/google_sheets/translations/ga.json +16 -1
- homeassistant/components/google_translate/translations/ga.json +15 -0
- homeassistant/components/google_travel_time/translations/ga.json +29 -5
- homeassistant/components/govee_ble/translations/ga.json +1 -0
- homeassistant/components/group/translations/es.json +8 -0
- homeassistant/components/group/translations/ga.json +52 -16
- homeassistant/components/growatt_server/strings.json +2 -2
- homeassistant/components/growatt_server/translations/ca.json +0 -6
- homeassistant/components/growatt_server/translations/cs.json +2 -2
- homeassistant/components/growatt_server/translations/de.json +2 -2
- homeassistant/components/growatt_server/translations/el.json +0 -6
- homeassistant/components/growatt_server/translations/en-GB.json +2 -2
- homeassistant/components/growatt_server/translations/en.json +2 -2
- homeassistant/components/growatt_server/translations/es.json +11 -11
- homeassistant/components/growatt_server/translations/et.json +1 -1
- homeassistant/components/growatt_server/translations/fi.json +0 -6
- homeassistant/components/growatt_server/translations/fr.json +0 -3
- homeassistant/components/growatt_server/translations/ga.json +85 -3
- homeassistant/components/growatt_server/translations/gl.json +0 -3
- homeassistant/components/growatt_server/translations/hu.json +0 -6
- homeassistant/components/growatt_server/translations/id.json +0 -6
- homeassistant/components/growatt_server/translations/it.json +0 -6
- homeassistant/components/growatt_server/translations/ja.json +0 -6
- homeassistant/components/growatt_server/translations/ko.json +0 -6
- homeassistant/components/growatt_server/translations/lt.json +2 -2
- homeassistant/components/growatt_server/translations/nl.json +0 -6
- homeassistant/components/growatt_server/translations/pt-BR.json +0 -6
- homeassistant/components/growatt_server/translations/pt.json +0 -6
- homeassistant/components/growatt_server/translations/ro.json +0 -6
- homeassistant/components/growatt_server/translations/ru.json +0 -6
- homeassistant/components/growatt_server/translations/sk.json +0 -6
- homeassistant/components/growatt_server/translations/sv.json +0 -6
- homeassistant/components/growatt_server/translations/tr.json +0 -6
- homeassistant/components/growatt_server/translations/zh-Hans.json +1 -1
- homeassistant/components/habitica/translations/es.json +37 -0
- homeassistant/components/harmony/translations/ga.json +2 -1
- homeassistant/components/harmony/translations/select.ga.json +7 -0
- homeassistant/components/hassio/ingress.py +2 -2
- homeassistant/components/hassio/translations/de.json +2 -2
- homeassistant/components/hassio/translations/es.json +4 -0
- homeassistant/components/hassio/translations/ga.json +54 -2
- homeassistant/components/hdmi_cec/translations/ga.json +31 -1
- homeassistant/components/homeassistant/translations/ga.json +7 -0
- homeassistant/components/homeassistant_hardware/translations/ga.json +4 -0
- homeassistant/components/homeassistant_sky_connect/translations/ga.json +24 -2
- homeassistant/components/homeassistant_yellow/translations/ga.json +11 -1
- homeassistant/components/homekit/translations/es.json +7 -0
- homeassistant/components/homekit/translations/ga.json +45 -1
- homeassistant/components/homekit_controller/translations/ga.json +25 -1
- homeassistant/components/homematic/translations/ca.json +0 -1
- homeassistant/components/homematic/translations/cs.json +0 -5
- homeassistant/components/homematic/translations/de.json +9 -9
- homeassistant/components/homematic/translations/el.json +0 -5
- homeassistant/components/homematic/translations/en-GB.json +5 -5
- homeassistant/components/homematic/translations/en.json +5 -5
- homeassistant/components/homematic/translations/es.json +0 -5
- homeassistant/components/homematic/translations/et.json +4 -4
- homeassistant/components/homematic/translations/fi.json +0 -5
- homeassistant/components/homematic/translations/fr.json +0 -4
- homeassistant/components/homematic/translations/ga.json +6 -3
- homeassistant/components/homematic/translations/hu.json +0 -5
- homeassistant/components/homematic/translations/it.json +0 -5
- homeassistant/components/homematic/translations/ja.json +0 -5
- homeassistant/components/homematic/translations/ko.json +0 -5
- homeassistant/components/homematic/translations/lt.json +0 -5
- homeassistant/components/homematic/translations/nl.json +0 -5
- homeassistant/components/homematic/translations/pt-BR.json +0 -4
- homeassistant/components/homematic/translations/pt.json +0 -5
- homeassistant/components/homematic/translations/ru.json +0 -5
- homeassistant/components/homematic/translations/sk.json +0 -5
- homeassistant/components/homematic/translations/sv.json +0 -5
- homeassistant/components/homematic/translations/tr.json +0 -5
- homeassistant/components/homematic/translations/zh-Hans.json +0 -5
- homeassistant/components/homematic/translations/zh-Hant.json +3 -3
- homeassistant/components/homematicip_cloud/translations/ga.json +8 -0
- homeassistant/components/homewizard/translations/ga.json +17 -0
- homeassistant/components/honeywell/translations/ga.json +29 -0
- homeassistant/components/hue/config_flow.py +76 -4
- homeassistant/components/hue/manifest.json +1 -1
- homeassistant/components/hue/translations/es.json +1 -0
- homeassistant/components/hue/translations/ga.json +17 -1
- homeassistant/components/hue/translations/ru.json +1 -0
- homeassistant/components/husqvarna_automower/translations/es.json +153 -1
- homeassistant/components/husqvarna_automower_ble/translations/es.json +35 -1
- homeassistant/components/huum/translations/es.json +5 -0
- homeassistant/components/hydrawise/translations/es.json +5 -1
- homeassistant/components/hyperion/translations/ga.json +40 -0
- homeassistant/components/ialarm/translations/ga.json +8 -0
- homeassistant/components/icloud/translations/ga.json +4 -0
- homeassistant/components/imap/translations/ga.json +20 -1
- homeassistant/components/imeon_inverter/manifest.json +1 -1
- homeassistant/components/imeon_inverter/translations/es.json +80 -0
- homeassistant/components/imeon_inverter/translations/ga.json +12 -0
- homeassistant/components/inkbird/translations/ga.json +7 -0
- homeassistant/components/insteon/translations/ga.json +43 -0
- homeassistant/components/insteon/translations/ru.json +6 -2
- homeassistant/components/integration/translations/ga.json +9 -3
- homeassistant/components/intent/__init__.py +1 -1
- homeassistant/components/ios/translations/de.json +1 -1
- homeassistant/components/iqvia/translations/ga.json +2 -1
- homeassistant/components/islamic_prayer_times/translations/ga.json +9 -1
- homeassistant/components/iss/translations/ga.json +21 -0
- homeassistant/components/isy994/translations/ga.json +4 -0
- homeassistant/components/kaleidescape/translations/ga.json +9 -0
- homeassistant/components/keenetic_ndms2/translations/ga.json +27 -1
- homeassistant/components/kef/translations/ga.json +28 -1
- homeassistant/components/kitchen_sink/translations/ga.json +5 -0
- homeassistant/components/knx/translations/es.json +104 -1
- homeassistant/components/knx/translations/ga.json +60 -6
- homeassistant/components/kodi/translations/ga.json +12 -1
- homeassistant/components/konnected/translations/ga.json +22 -0
- homeassistant/components/lastfm/translations/ga.json +39 -0
- homeassistant/components/launch_library/translations/es.json +7 -0
- homeassistant/components/launch_library/translations/ga.json +7 -0
- homeassistant/components/laundrify/translations/ga.json +24 -0
- homeassistant/components/lcn/translations/ga.json +7 -0
- homeassistant/components/led_ble/translations/ga.json +16 -1
- homeassistant/components/lg_soundbar/translations/ga.json +10 -0
- homeassistant/components/lg_thinq/translations/es.json +2 -0
- homeassistant/components/lg_thinq/translations/ga.json +4 -0
- homeassistant/components/lidarr/translations/ga.json +11 -0
- homeassistant/components/light/strings.json +2 -1
- homeassistant/components/light/translations/de.json +2 -1
- homeassistant/components/light/translations/en-GB.json +2 -1
- homeassistant/components/light/translations/en.json +2 -1
- homeassistant/components/light/translations/es.json +2 -1
- homeassistant/components/light/translations/et.json +2 -1
- homeassistant/components/light/translations/ga.json +53 -2
- homeassistant/components/light/translations/lt.json +2 -1
- homeassistant/components/light/translations/zh-Hans.json +2 -1
- homeassistant/components/light/translations/zh-Hant.json +2 -1
- homeassistant/components/litterrobot/translations/ga.json +67 -1
- homeassistant/components/local_ip/translations/ga.json +4 -2
- homeassistant/components/locative/translations/ga.json +8 -0
- homeassistant/components/lock/translations/cs.json +2 -2
- homeassistant/components/logger/translations/ga.json +14 -1
- homeassistant/components/matrix/translations/ga.json +21 -0
- homeassistant/components/matter/translations/cs.json +1 -1
- homeassistant/components/matter/translations/es.json +33 -0
- homeassistant/components/matter/translations/ga.json +9 -1
- homeassistant/components/media_player/translations/es.json +6 -1
- homeassistant/components/media_player/translations/ga.json +5 -1
- homeassistant/components/miele/translations/es.json +13 -0
- homeassistant/components/mill/manifest.json +1 -1
- homeassistant/components/modbus/climate.py +4 -4
- homeassistant/components/modbus/cover.py +2 -2
- homeassistant/components/modbus/entity.py +21 -59
- homeassistant/components/modbus/modbus.py +8 -9
- homeassistant/components/mqtt/translations/cs.json +1 -1
- homeassistant/components/mqtt/translations/es.json +55 -3
- homeassistant/components/mqtt/translations/lt.json +10 -4
- homeassistant/components/mqtt/translations/ru.json +30 -2
- homeassistant/components/nextdns/translations/es.json +3 -0
- homeassistant/components/number/translations/es.json +1 -1
- homeassistant/components/nut/translations/es.json +3 -3
- homeassistant/components/ohme/coordinator.py +16 -1
- homeassistant/components/ohme/manifest.json +1 -1
- homeassistant/components/ohme/translations/es.json +1 -1
- homeassistant/components/onewire/translations/es.json +3 -0
- homeassistant/components/openai_conversation/translations/es.json +9 -1
- homeassistant/components/opower/translations/es.json +11 -0
- homeassistant/components/osoenergy/translations/es.json +1 -1
- homeassistant/components/overkiz/translations/de.json +1 -1
- homeassistant/components/playstation_network/translations/es.json +20 -1
- homeassistant/components/plugwise/translations/cs.json +1 -1
- homeassistant/components/pooldose/translations/es.json +102 -0
- homeassistant/components/qbus/translations/es.json +8 -0
- homeassistant/components/random/translations/es.json +2 -2
- homeassistant/components/refoss/translations/es.json +1 -1
- homeassistant/components/remote/strings.json +3 -0
- homeassistant/components/remote/translations/de.json +3 -0
- homeassistant/components/remote/translations/en-GB.json +3 -0
- homeassistant/components/remote/translations/en.json +3 -0
- homeassistant/components/remote/translations/es.json +3 -0
- homeassistant/components/remote/translations/et.json +3 -0
- homeassistant/components/remote/translations/lt.json +3 -0
- homeassistant/components/remote/translations/zh-Hans.json +3 -0
- homeassistant/components/remote/translations/zh-Hant.json +3 -0
- homeassistant/components/reolink/translations/es.json +10 -1
- homeassistant/components/risco/translations/ru.json +2 -0
- homeassistant/components/ruuvitag_ble/translations/es.json +25 -0
- homeassistant/components/samsungtv/translations/ru.json +1 -0
- homeassistant/components/schlage/manifest.json +1 -1
- homeassistant/components/scrape/translations/es.json +2 -2
- homeassistant/components/sensibo/translations/es.json +29 -0
- homeassistant/components/sensor/translations/es.json +9 -3
- homeassistant/components/sia/translations/bg.json +1 -2
- homeassistant/components/sia/translations/ca.json +2 -4
- homeassistant/components/sia/translations/cs.json +3 -6
- homeassistant/components/sia/translations/de.json +3 -3
- homeassistant/components/sia/translations/el.json +3 -6
- homeassistant/components/sia/translations/en-GB.json +3 -3
- homeassistant/components/sia/translations/en.json +3 -3
- homeassistant/components/sia/translations/es.json +3 -6
- homeassistant/components/sia/translations/et.json +1 -2
- homeassistant/components/sia/translations/fi.json +2 -4
- homeassistant/components/sia/translations/fr.json +3 -6
- homeassistant/components/sia/translations/he.json +1 -2
- homeassistant/components/sia/translations/hu.json +3 -6
- homeassistant/components/sia/translations/id.json +2 -4
- homeassistant/components/sia/translations/it.json +2 -4
- homeassistant/components/sia/translations/ja.json +2 -4
- homeassistant/components/sia/translations/ko.json +2 -4
- homeassistant/components/sia/translations/lt.json +3 -6
- homeassistant/components/sia/translations/nb.json +2 -4
- homeassistant/components/sia/translations/nl.json +2 -4
- homeassistant/components/sia/translations/pl.json +2 -4
- homeassistant/components/sia/translations/pt-BR.json +2 -4
- homeassistant/components/sia/translations/pt.json +3 -6
- homeassistant/components/sia/translations/ro.json +2 -4
- homeassistant/components/sia/translations/ru.json +3 -6
- homeassistant/components/sia/translations/sk.json +3 -6
- homeassistant/components/sia/translations/sv.json +3 -6
- homeassistant/components/sia/translations/tr.json +2 -4
- homeassistant/components/sia/translations/uk.json +2 -4
- homeassistant/components/sia/translations/zh-Hans.json +3 -6
- homeassistant/components/sia/translations/zh-Hant.json +2 -2
- homeassistant/components/sleep_as_android/translations/es.json +131 -0
- homeassistant/components/sleep_as_android/translations/zh-Hans.json +3 -1
- homeassistant/components/smarla/translations/es.json +15 -0
- homeassistant/components/smarla/translations/sl.json +9 -0
- homeassistant/components/snapcast/translations/es.json +10 -0
- homeassistant/components/solarlog/translations/es.json +11 -2
- homeassistant/components/somfy_mylink/translations/es.json +4 -2
- homeassistant/components/sonos/select.py +9 -2
- homeassistant/components/sonos/speaker.py +6 -1
- homeassistant/components/sonos/translations/es.json +15 -0
- homeassistant/components/sql/translations/es.json +2 -2
- homeassistant/components/switch/strings.json +3 -0
- homeassistant/components/switch/translations/de.json +3 -0
- homeassistant/components/switch/translations/en-GB.json +3 -0
- homeassistant/components/switch/translations/en.json +3 -0
- homeassistant/components/switch/translations/es.json +3 -0
- homeassistant/components/switch/translations/et.json +3 -0
- homeassistant/components/switch/translations/lt.json +3 -0
- homeassistant/components/switch/translations/zh-Hans.json +3 -0
- homeassistant/components/switch/translations/zh-Hant.json +3 -0
- homeassistant/components/switch_as_x/translations/cs.json +1 -1
- homeassistant/components/switchbot_cloud/translations/es.json +16 -0
- homeassistant/components/system_bridge/translations/es.json +1 -1
- homeassistant/components/template/translations/ca.json +0 -10
- homeassistant/components/template/translations/cs.json +16 -16
- homeassistant/components/template/translations/da.json +0 -5
- homeassistant/components/template/translations/de.json +16 -16
- homeassistant/components/template/translations/el.json +0 -11
- homeassistant/components/template/translations/en-GB.json +16 -16
- homeassistant/components/template/translations/en.json +16 -16
- homeassistant/components/template/translations/es.json +22 -19
- homeassistant/components/template/translations/et.json +16 -16
- homeassistant/components/template/translations/fi.json +0 -7
- homeassistant/components/template/translations/fr.json +0 -18
- homeassistant/components/template/translations/ga.json +0 -16
- homeassistant/components/template/translations/gl.json +0 -4
- homeassistant/components/template/translations/he.json +0 -18
- homeassistant/components/template/translations/hu.json +0 -11
- homeassistant/components/template/translations/id.json +0 -11
- homeassistant/components/template/translations/it.json +0 -9
- homeassistant/components/template/translations/ja.json +0 -11
- homeassistant/components/template/translations/ko.json +0 -8
- homeassistant/components/template/translations/lb.json +0 -5
- homeassistant/components/template/translations/lt.json +20 -16
- homeassistant/components/template/translations/lv.json +0 -5
- homeassistant/components/template/translations/nb.json +0 -4
- homeassistant/components/template/translations/nl.json +0 -13
- homeassistant/components/template/translations/pl.json +0 -11
- homeassistant/components/template/translations/pt.json +0 -18
- homeassistant/components/template/translations/ro.json +0 -4
- homeassistant/components/template/translations/ru.json +19 -15
- homeassistant/components/template/translations/sk.json +0 -18
- homeassistant/components/template/translations/sl.json +0 -11
- homeassistant/components/template/translations/sv.json +0 -18
- homeassistant/components/template/translations/tr.json +0 -11
- homeassistant/components/template/translations/uk.json +0 -11
- homeassistant/components/template/translations/vi.json +0 -11
- homeassistant/components/template/translations/zh-Hans.json +16 -16
- homeassistant/components/template/translations/zh-Hant.json +16 -16
- homeassistant/components/tesla_fleet/translations/cs.json +1 -1
- homeassistant/components/tesla_fleet/translations/es.json +2 -2
- homeassistant/components/teslemetry/translations/cs.json +1 -1
- homeassistant/components/teslemetry/translations/de.json +1 -1
- homeassistant/components/teslemetry/translations/es.json +157 -14
- homeassistant/components/tessie/translations/cs.json +1 -1
- homeassistant/components/tessie/translations/es.json +1 -1
- homeassistant/components/togrill/translations/es.json +51 -0
- homeassistant/components/tractive/translations/sl.json +5 -0
- homeassistant/components/tuya/translations/es.json +32 -1
- homeassistant/components/update/strings.json +3 -0
- homeassistant/components/update/translations/de.json +3 -0
- homeassistant/components/update/translations/en-GB.json +3 -0
- homeassistant/components/update/translations/en.json +3 -0
- homeassistant/components/update/translations/es.json +3 -0
- homeassistant/components/update/translations/et.json +3 -0
- homeassistant/components/update/translations/lt.json +3 -0
- homeassistant/components/update/translations/zh-Hans.json +3 -0
- homeassistant/components/update/translations/zh-Hant.json +3 -0
- homeassistant/components/velux/translations/es.json +7 -0
- homeassistant/components/volvo/translations/es.json +141 -1
- homeassistant/components/wallbox/translations/cs.json +1 -1
- homeassistant/components/webostv/translations/ru.json +2 -1
- homeassistant/components/yalexs_ble/translations/es.json +16 -1
- homeassistant/components/yolink/translations/es.json +16 -0
- homeassistant/components/zha/translations/es.json +66 -0
- homeassistant/components/zwave_js/translations/es.json +20 -2
- homeassistant/const.py +1 -1
- homeassistant/package_constraints.txt +2 -2
- {homeassistant-2025.9.0b5.dist-info → homeassistant-2025.9.1.dist-info}/METADATA +1 -1
- {homeassistant-2025.9.0b5.dist-info → homeassistant-2025.9.1.dist-info}/RECORD +438 -428
- {homeassistant-2025.9.0b5.dist-info → homeassistant-2025.9.1.dist-info}/WHEEL +0 -0
- {homeassistant-2025.9.0b5.dist-info → homeassistant-2025.9.1.dist-info}/entry_points.txt +0 -0
- {homeassistant-2025.9.0b5.dist-info → homeassistant-2025.9.1.dist-info}/licenses/LICENSE.md +0 -0
- {homeassistant-2025.9.0b5.dist-info → homeassistant-2025.9.1.dist-info}/licenses/homeassistant/backports/LICENSE.Python +0 -0
- {homeassistant-2025.9.0b5.dist-info → homeassistant-2025.9.1.dist-info}/top_level.txt +0 -0
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"name": "Bater\u00edas defectuosas"
|
|
60
60
|
},
|
|
61
61
|
"battery_nominal_voltage": {
|
|
62
|
-
"name": "
|
|
62
|
+
"name": "Tensi\u00f3n nominal de la bater\u00eda"
|
|
63
63
|
},
|
|
64
64
|
"battery_replacement_date": {
|
|
65
65
|
"name": "Bater\u00eda reemplazada"
|
|
@@ -98,10 +98,10 @@
|
|
|
98
98
|
"name": "Humedad ambiente"
|
|
99
99
|
},
|
|
100
100
|
"input_voltage_high": {
|
|
101
|
-
"name": "
|
|
101
|
+
"name": "Tensi\u00f3n de entrada alta"
|
|
102
102
|
},
|
|
103
103
|
"input_voltage_low": {
|
|
104
|
-
"name": "
|
|
104
|
+
"name": "Tensi\u00f3n de entrada baja"
|
|
105
105
|
},
|
|
106
106
|
"internal_temperature": {
|
|
107
107
|
"name": "Temperatura interna"
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"port": "Port"
|
|
14
14
|
},
|
|
15
15
|
"data_description": {
|
|
16
|
-
"port": "Die Integration
|
|
16
|
+
"port": "Die Integration verwendet standardm\u00e4\u00dfig 8050, wenn nicht anders angegeben, was f\u00fcr die meisten Installationen geeignet sein sollte"
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -1,4 +1,203 @@
|
|
|
1
1
|
{
|
|
2
|
+
"config": {
|
|
3
|
+
"error": {
|
|
4
|
+
"above_below": "Rango no v\u00e1lido: 'Por encima de' debe ser menor que 'Por debajo de' cuando ambos est\u00e1n configurados.",
|
|
5
|
+
"above_or_below": "Rango no v\u00e1lido: debe configurarse al menos uno de los valores 'Por encima de' o 'Por debajo de'.",
|
|
6
|
+
"equal_probabilities": "Si \"Probabilidad dado verdadero\" y \"Probabilidad dado falso\" son iguales, esta observaci\u00f3n no puede tener ning\u00fan efecto y, por lo tanto, es redundante",
|
|
7
|
+
"extreme_prior_error": "'Previo' establecido en 0% significa que es imposible que el sensor muestre 'encendido' y 100% significa que nunca se mostrar\u00e1 'apagado', utiliza un n\u00famero cercano como 0,1% o 99,9% en su lugar",
|
|
8
|
+
"extreme_prob_given_error": "Si \"Probabilidad dado falso\" o \"Probabilidad dado verdadero\" es 0 o 100, se crear\u00e1n certezas que anular\u00e1n todas las dem\u00e1s observaciones",
|
|
9
|
+
"extreme_threshold_error": "El 'umbral de probabilidad' establecido en 0 % significa que el sensor siempre estar\u00e1 'encendido' y 100 % significa que siempre estar\u00e1 'apagado'; utiliza un n\u00famero cercano como 0,1 % o 99,9 % en su lugar.",
|
|
10
|
+
"overlapping_ranges": "Rango no v\u00e1lido: Los valores 'Por encima de' y 'Por debajo de' se superponen con otra observaci\u00f3n para la misma entidad."
|
|
11
|
+
},
|
|
12
|
+
"step": {
|
|
13
|
+
"numeric_state": {
|
|
14
|
+
"data": {
|
|
15
|
+
"above": "Por encima de",
|
|
16
|
+
"below": "Por debajo de",
|
|
17
|
+
"entity_id": "Entidad",
|
|
18
|
+
"name": "Nombre",
|
|
19
|
+
"prob_given_false": "Probabilidad cuando {parent_sensor_name} es {device_class_off}",
|
|
20
|
+
"prob_given_true": "Probabilidad cuando {parent_sensor_name} es {device_class_on}"
|
|
21
|
+
},
|
|
22
|
+
"data_description": {
|
|
23
|
+
"above": "Opcional: el l\u00edmite inferior del rango num\u00e9rico. Los valores que coincidan exactamente con este valor no se contabilizar\u00e1n.",
|
|
24
|
+
"below": "Opcional: el l\u00edmite superior del rango num\u00e9rico. Los valores que coincidan exactamente con este valor solo se contabilizar\u00e1n si se configura m\u00e1s de un rango para la misma entidad.",
|
|
25
|
+
"entity_id": "Una entidad que est\u00e1 correlacionada con `{parent_sensor_name}`.",
|
|
26
|
+
"name": "Este nombre se utilizar\u00e1 para identificar esta observaci\u00f3n para su edici\u00f3n en el futuro.",
|
|
27
|
+
"prob_given_false": "La probabilidad estimada o proporci\u00f3n de tiempo en que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_off}`.",
|
|
28
|
+
"prob_given_true": "La probabilidad estimada o la proporci\u00f3n de veces que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_on}`."
|
|
29
|
+
},
|
|
30
|
+
"description": "A\u00f1ade una observaci\u00f3n que eval\u00faa a `Verdadero` cuando un sensor num\u00e9rico est\u00e1 dentro de un rango elegido.",
|
|
31
|
+
"title": "A\u00f1adir un sensor bayesiano"
|
|
32
|
+
},
|
|
33
|
+
"observation_selector": {
|
|
34
|
+
"description": "Las 'observaciones' son los valores del sensor o de la plantilla que se controlan y se combinan para obtener la probabilidad final del sensor bayesiano. Cada observaci\u00f3n actualizar\u00e1 la probabilidad del sensor bayesiano si se detecta, o si no se detecta. Si el estado de la entidad es \"no disponible\" o \"desconocido\", se ignorar\u00e1. Si se configura m\u00e1s de un estado o m\u00e1s de un rango num\u00e9rico para la misma entidad, se ignorar\u00e1n las detecciones inversas.",
|
|
35
|
+
"menu_options": {
|
|
36
|
+
"finish": "Finalizar",
|
|
37
|
+
"numeric_state": "A\u00f1adir una observaci\u00f3n para un rango num\u00e9rico",
|
|
38
|
+
"state": "A\u00f1adir una observaci\u00f3n para el estado de un sensor",
|
|
39
|
+
"template": "A\u00f1adir una observaci\u00f3n para una plantilla"
|
|
40
|
+
},
|
|
41
|
+
"title": "A\u00f1adir una observaci\u00f3n"
|
|
42
|
+
},
|
|
43
|
+
"state": {
|
|
44
|
+
"data": {
|
|
45
|
+
"entity_id": "Entidad",
|
|
46
|
+
"name": "Nombre",
|
|
47
|
+
"prob_given_false": "Probabilidad cuando {parent_sensor_name} es {device_class_off}",
|
|
48
|
+
"prob_given_true": "Probabilidad cuando {parent_sensor_name} es {device_class_on}",
|
|
49
|
+
"to_state": "Estado deseado"
|
|
50
|
+
},
|
|
51
|
+
"data_description": {
|
|
52
|
+
"entity_id": "Una entidad que est\u00e1 correlacionada con `{parent_sensor_name}`.",
|
|
53
|
+
"name": "Este nombre se utilizar\u00e1 para identificar esta observaci\u00f3n para su edici\u00f3n en el futuro.",
|
|
54
|
+
"prob_given_false": "La probabilidad estimada o proporci\u00f3n de tiempo en que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_off}`.",
|
|
55
|
+
"prob_given_true": "La probabilidad estimada o la proporci\u00f3n de veces que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_on}`.",
|
|
56
|
+
"to_state": "El estado del sensor para el cual la observaci\u00f3n se considerar\u00e1 Verdadera`."
|
|
57
|
+
},
|
|
58
|
+
"description": "A\u00f1ade una observaci\u00f3n que se eval\u00faa a `Verdadero` cuando el valor del sensor coincide exactamente con *'To state'*. Cuando sea `Falso`, actualizar\u00e1 la probabilidad previa con probabilidades que son la inversa de las establecidas a continuaci\u00f3n. Este comportamiento puede ser anulado a\u00f1adiendo observaciones para los otros estados de la misma entidad.",
|
|
59
|
+
"title": "A\u00f1adir un sensor bayesiano"
|
|
60
|
+
},
|
|
61
|
+
"template": {
|
|
62
|
+
"data": {
|
|
63
|
+
"name": "Nombre",
|
|
64
|
+
"prob_given_false": "Probabilidad cuando {parent_sensor_name} es {device_class_off}",
|
|
65
|
+
"prob_given_true": "Probabilidad cuando {parent_sensor_name} es {device_class_on}",
|
|
66
|
+
"value_template": "Plantilla"
|
|
67
|
+
},
|
|
68
|
+
"data_description": {
|
|
69
|
+
"name": "Este nombre se utilizar\u00e1 para identificar esta observaci\u00f3n para su edici\u00f3n en el futuro.",
|
|
70
|
+
"prob_given_false": "La probabilidad estimada o proporci\u00f3n de tiempo en que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_off}`.",
|
|
71
|
+
"prob_given_true": "La probabilidad estimada o la proporci\u00f3n de veces que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_on}`.",
|
|
72
|
+
"value_template": "Una plantilla que se eval\u00fae como `Verdadero` actualizar\u00e1 la prioridad en consecuencia. Una plantilla que devuelva `Falso` o `Ninguno` actualizar\u00e1 la prioridad con probabilidades inversas. Una plantilla que devuelva un error no actualizar\u00e1 las probabilidades. Los resultados son forzados a ser `Verdadero` o `Falso`"
|
|
73
|
+
},
|
|
74
|
+
"description": "A\u00f1ade una observaci\u00f3n personalizada que eval\u00faa si una plantilla es observada (`Verdadero`) o no (`Falso`).",
|
|
75
|
+
"title": "A\u00f1adir un sensor bayesiano"
|
|
76
|
+
},
|
|
77
|
+
"user": {
|
|
78
|
+
"data": {
|
|
79
|
+
"device_class": "Clase de dispositivo",
|
|
80
|
+
"name": "Nombre",
|
|
81
|
+
"prior": "Previo",
|
|
82
|
+
"probability_threshold": "Umbral de probabilidad"
|
|
83
|
+
},
|
|
84
|
+
"data_description": {
|
|
85
|
+
"device_class": "Selecciona la clase de dispositivo en la que quieres que se muestre el sensor.",
|
|
86
|
+
"prior": "La probabilidad base de que el sensor est\u00e9 activado suele ser el porcentaje de tiempo que es cierto. Por ejemplo, para un sensor \"Todos durmiendo\", podr\u00eda ser 8 horas al d\u00eda (33%).",
|
|
87
|
+
"probability_threshold": "La probabilidad por encima de la cual el sensor se activar\u00e1. Un 50 % deber\u00eda producir el resultado m\u00e1s preciso. Utiliza valores superiores al 50 % si es importante evitar falsos positivos, o viceversa."
|
|
88
|
+
},
|
|
89
|
+
"description": "Crea un sensor binario que observe el estado de varios sensores para estimar si se est\u00e1 produciendo un evento o si algo es cierto. Consulta [la documentaci\u00f3n]({url}) para m\u00e1s informaci\u00f3n.",
|
|
90
|
+
"title": "A\u00f1adir un sensor bayesiano"
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"config_subentries": {
|
|
95
|
+
"observation": {
|
|
96
|
+
"abort": {
|
|
97
|
+
"reconfigure_successful": "Se volvi\u00f3 a configurar correctamente"
|
|
98
|
+
},
|
|
99
|
+
"entry_type": "Observaci\u00f3n",
|
|
100
|
+
"error": {
|
|
101
|
+
"above_below": "Rango no v\u00e1lido: 'Por encima de' debe ser menor que 'Por debajo de' cuando ambos est\u00e1n configurados.",
|
|
102
|
+
"above_or_below": "Rango no v\u00e1lido: debe configurarse al menos uno de los valores 'Por encima de' o 'Por debajo de'.",
|
|
103
|
+
"equal_probabilities": "Si \"Probabilidad dado verdadero\" y \"Probabilidad dado falso\" son iguales, esta observaci\u00f3n no puede tener ning\u00fan efecto y, por lo tanto, es redundante",
|
|
104
|
+
"extreme_prob_given_error": "Si \"Probabilidad dado falso\" o \"Probabilidad dado verdadero\" es 0 o 100, se crear\u00e1n certezas que anular\u00e1n todas las dem\u00e1s observaciones",
|
|
105
|
+
"overlapping_ranges": "Rango no v\u00e1lido: Los valores 'Por encima de' y 'Por debajo de' se superponen con otra observaci\u00f3n para la misma entidad."
|
|
106
|
+
},
|
|
107
|
+
"initiate_flow": {
|
|
108
|
+
"user": "A\u00f1adir una observaci\u00f3n"
|
|
109
|
+
},
|
|
110
|
+
"step": {
|
|
111
|
+
"numeric_state": {
|
|
112
|
+
"data": {
|
|
113
|
+
"above": "Por encima de",
|
|
114
|
+
"below": "Por debajo de",
|
|
115
|
+
"entity_id": "Entidad",
|
|
116
|
+
"name": "Nombre",
|
|
117
|
+
"prob_given_false": "Probabilidad cuando {parent_sensor_name} es {device_class_off}",
|
|
118
|
+
"prob_given_true": "Probabilidad cuando {parent_sensor_name} es {device_class_on}"
|
|
119
|
+
},
|
|
120
|
+
"data_description": {
|
|
121
|
+
"above": "Opcional: el l\u00edmite inferior del rango num\u00e9rico. Los valores que coincidan exactamente con este valor no se contabilizar\u00e1n.",
|
|
122
|
+
"below": "Opcional: el l\u00edmite superior del rango num\u00e9rico. Los valores que coincidan exactamente con este valor solo se contabilizar\u00e1n si se configura m\u00e1s de un rango para la misma entidad.",
|
|
123
|
+
"entity_id": "Una entidad que est\u00e1 correlacionada con `{parent_sensor_name}`.",
|
|
124
|
+
"name": "Este nombre se utilizar\u00e1 para identificar esta observaci\u00f3n para su edici\u00f3n en el futuro.",
|
|
125
|
+
"prob_given_false": "La probabilidad estimada o proporci\u00f3n de tiempo en que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_off}`.",
|
|
126
|
+
"prob_given_true": "La probabilidad estimada o la proporci\u00f3n de veces que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_on}`."
|
|
127
|
+
},
|
|
128
|
+
"description": "A\u00f1ade una observaci\u00f3n que eval\u00faa a `Verdadero` cuando un sensor num\u00e9rico est\u00e1 dentro de un rango elegido.",
|
|
129
|
+
"title": "A\u00f1adir un sensor bayesiano"
|
|
130
|
+
},
|
|
131
|
+
"reconfigure": {
|
|
132
|
+
"data": {
|
|
133
|
+
"above": "Por encima de",
|
|
134
|
+
"below": "Por debajo de",
|
|
135
|
+
"entity_id": "Entidad",
|
|
136
|
+
"name": "Nombre",
|
|
137
|
+
"prob_given_false": "Probabilidad cuando {parent_sensor_name} es {device_class_off}",
|
|
138
|
+
"prob_given_true": "Probabilidad cuando {parent_sensor_name} es {device_class_on}",
|
|
139
|
+
"to_state": "Estado deseado",
|
|
140
|
+
"value_template": "Plantilla"
|
|
141
|
+
},
|
|
142
|
+
"data_description": {
|
|
143
|
+
"above": "Opcional: el l\u00edmite inferior del rango num\u00e9rico. Los valores que coincidan exactamente con este valor no se contabilizar\u00e1n.",
|
|
144
|
+
"below": "Opcional: el l\u00edmite superior del rango num\u00e9rico. Los valores que coincidan exactamente con este valor solo se contabilizar\u00e1n si se configura m\u00e1s de un rango para la misma entidad.",
|
|
145
|
+
"entity_id": "Una entidad que est\u00e1 correlacionada con `{parent_sensor_name}`.",
|
|
146
|
+
"name": "Este nombre se utilizar\u00e1 para identificar esta observaci\u00f3n para su edici\u00f3n en el futuro.",
|
|
147
|
+
"prob_given_false": "La probabilidad estimada o proporci\u00f3n de tiempo en que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_off}`.",
|
|
148
|
+
"prob_given_true": "La probabilidad estimada o la proporci\u00f3n de veces que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_on}`.",
|
|
149
|
+
"to_state": "El estado del sensor para el cual la observaci\u00f3n se considerar\u00e1 Verdadera`.",
|
|
150
|
+
"value_template": "Una plantilla que se eval\u00fae como `Verdadero` actualizar\u00e1 la prioridad en consecuencia. Una plantilla que devuelva `Falso` o `Ninguno` actualizar\u00e1 la prioridad con probabilidades inversas. Una plantilla que devuelva un error no actualizar\u00e1 las probabilidades. Los resultados son forzados a ser `Verdadero` o `Falso`"
|
|
151
|
+
},
|
|
152
|
+
"description": "A\u00f1ade una observaci\u00f3n que se eval\u00faa a `Verdadero` cuando el valor del sensor coincide exactamente con *'To state'*. Cuando sea `Falso`, actualizar\u00e1 la probabilidad previa con probabilidades que son la inversa de las establecidas a continuaci\u00f3n. Este comportamiento puede ser anulado a\u00f1adiendo observaciones para los otros estados de la misma entidad.",
|
|
153
|
+
"title": "Editar observaci\u00f3n"
|
|
154
|
+
},
|
|
155
|
+
"state": {
|
|
156
|
+
"data": {
|
|
157
|
+
"entity_id": "Entidad",
|
|
158
|
+
"name": "Nombre",
|
|
159
|
+
"prob_given_false": "Probabilidad cuando {parent_sensor_name} es {device_class_off}",
|
|
160
|
+
"prob_given_true": "Probabilidad cuando {parent_sensor_name} es {device_class_on}",
|
|
161
|
+
"to_state": "Estado deseado"
|
|
162
|
+
},
|
|
163
|
+
"data_description": {
|
|
164
|
+
"entity_id": "Una entidad que est\u00e1 correlacionada con `{parent_sensor_name}`.",
|
|
165
|
+
"name": "Este nombre se utilizar\u00e1 para identificar esta observaci\u00f3n para su edici\u00f3n en el futuro.",
|
|
166
|
+
"prob_given_false": "La probabilidad estimada o proporci\u00f3n de tiempo en que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_off}`.",
|
|
167
|
+
"prob_given_true": "La probabilidad estimada o la proporci\u00f3n de veces que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_on}`.",
|
|
168
|
+
"to_state": "El estado del sensor para el cual la observaci\u00f3n se considerar\u00e1 Verdadera`."
|
|
169
|
+
},
|
|
170
|
+
"description": "A\u00f1ade una observaci\u00f3n que se eval\u00faa a `Verdadero` cuando el valor del sensor coincide exactamente con *'To state'*. Cuando sea `Falso`, actualizar\u00e1 la probabilidad previa con probabilidades que son la inversa de las establecidas a continuaci\u00f3n. Este comportamiento puede ser anulado a\u00f1adiendo observaciones para los otros estados de la misma entidad.",
|
|
171
|
+
"title": "A\u00f1adir un sensor bayesiano"
|
|
172
|
+
},
|
|
173
|
+
"template": {
|
|
174
|
+
"data": {
|
|
175
|
+
"name": "Nombre",
|
|
176
|
+
"prob_given_false": "Probabilidad cuando {parent_sensor_name} es {device_class_off}",
|
|
177
|
+
"prob_given_true": "Probabilidad cuando {parent_sensor_name} es {device_class_on}",
|
|
178
|
+
"value_template": "Plantilla"
|
|
179
|
+
},
|
|
180
|
+
"data_description": {
|
|
181
|
+
"name": "Este nombre se utilizar\u00e1 para identificar esta observaci\u00f3n para su edici\u00f3n en el futuro.",
|
|
182
|
+
"prob_given_false": "La probabilidad estimada o proporci\u00f3n de tiempo en que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_off}`.",
|
|
183
|
+
"prob_given_true": "La probabilidad estimada o la proporci\u00f3n de veces que esta observaci\u00f3n es `Verdadera` mientras que `{parent_sensor_name}` es, o deber\u00eda ser, `{device_class_on}`.",
|
|
184
|
+
"value_template": "Una plantilla que se eval\u00fae como `Verdadero` actualizar\u00e1 la prioridad en consecuencia. Una plantilla que devuelva `Falso` o `Ninguno` actualizar\u00e1 la prioridad con probabilidades inversas. Una plantilla que devuelva un error no actualizar\u00e1 las probabilidades. Los resultados son forzados a ser `Verdadero` o `Falso`"
|
|
185
|
+
},
|
|
186
|
+
"description": "A\u00f1ade una observaci\u00f3n personalizada que eval\u00faa si una plantilla es observada (`Verdadero`) o no (`Falso`).",
|
|
187
|
+
"title": "A\u00f1adir un sensor bayesiano"
|
|
188
|
+
},
|
|
189
|
+
"user": {
|
|
190
|
+
"description": "Las 'observaciones' son los valores del sensor o de la plantilla que se controlan y se combinan para obtener la probabilidad final del sensor bayesiano. Cada observaci\u00f3n actualizar\u00e1 la probabilidad del sensor bayesiano si se detecta, o si no se detecta. Si el estado de la entidad es \"no disponible\" o \"desconocido\", se ignorar\u00e1. Si se configura m\u00e1s de un estado o m\u00e1s de un rango num\u00e9rico para la misma entidad, se ignorar\u00e1n las detecciones inversas.",
|
|
191
|
+
"menu_options": {
|
|
192
|
+
"numeric_state": "A\u00f1adir una observaci\u00f3n para un rango num\u00e9rico",
|
|
193
|
+
"state": "A\u00f1adir una observaci\u00f3n para el estado de un sensor",
|
|
194
|
+
"template": "A\u00f1adir una observaci\u00f3n para una plantilla"
|
|
195
|
+
},
|
|
196
|
+
"title": "A\u00f1adir una observaci\u00f3n"
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
},
|
|
2
201
|
"issues": {
|
|
3
202
|
"manual_migration": {
|
|
4
203
|
"description": "La integraci\u00f3n Bayesian ahora tambi\u00e9n actualiza la probabilidad si el 'to_state', 'above', 'below' o 'value_template' observado se eval\u00faa como 'False' en lugar de solo 'True'. Por lo tanto ya no es necesario tener entradas complementarias duplicadas para cada estado binario. Por favor, elimina la entrada duplicada para `{entity}`.",
|
|
@@ -9,6 +208,64 @@
|
|
|
9
208
|
"title": "Es necesario realizar una adici\u00f3n manual al YAML de Bayesian"
|
|
10
209
|
}
|
|
11
210
|
},
|
|
211
|
+
"options": {
|
|
212
|
+
"error": {
|
|
213
|
+
"equal_probabilities": "Si \"Probabilidad dado verdadero\" y \"Probabilidad dado falso\" son iguales, esta observaci\u00f3n no puede tener ning\u00fan efecto y, por lo tanto, es redundante",
|
|
214
|
+
"extreme_prior_error": "'Previo' establecido en 0% significa que es imposible que el sensor muestre 'encendido' y 100% significa que nunca se mostrar\u00e1 'apagado', utiliza un n\u00famero cercano como 0,1% o 99,9% en su lugar",
|
|
215
|
+
"extreme_prob_given_error": "Si \"Probabilidad dado falso\" o \"Probabilidad dado verdadero\" es 0 o 100, se crear\u00e1n certezas que anular\u00e1n todas las dem\u00e1s observaciones",
|
|
216
|
+
"extreme_threshold_error": "El 'umbral de probabilidad' establecido en 0 % significa que el sensor siempre estar\u00e1 'encendido' y 100 % significa que siempre estar\u00e1 'apagado'; utiliza un n\u00famero cercano como 0,1 % o 99,9 % en su lugar."
|
|
217
|
+
},
|
|
218
|
+
"step": {
|
|
219
|
+
"init": {
|
|
220
|
+
"data": {
|
|
221
|
+
"device_class": "Clase de dispositivo",
|
|
222
|
+
"name": "Nombre",
|
|
223
|
+
"prior": "Previo",
|
|
224
|
+
"probability_threshold": "Umbral de probabilidad"
|
|
225
|
+
},
|
|
226
|
+
"data_description": {
|
|
227
|
+
"prior": "La probabilidad base de que el sensor est\u00e9 activado suele ser el porcentaje de tiempo que es cierto. Por ejemplo, para un sensor \"Todos durmiendo\", podr\u00eda ser 8 horas al d\u00eda (33%).",
|
|
228
|
+
"probability_threshold": "La probabilidad por encima de la cual el sensor se activar\u00e1. Un 50 % deber\u00eda producir el resultado m\u00e1s preciso. Utiliza valores superiores al 50 % si es importante evitar falsos positivos, o viceversa."
|
|
229
|
+
},
|
|
230
|
+
"description": "Estas opciones afectan la cantidad de evidencia necesaria para que el sensor bayesiano se considere \"activado\".",
|
|
231
|
+
"title": "Opciones de sensor"
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
"selector": {
|
|
236
|
+
"binary_sensor_device_class": {
|
|
237
|
+
"options": {
|
|
238
|
+
"battery": "Bater\u00eda",
|
|
239
|
+
"battery_charging": "Cargando",
|
|
240
|
+
"carbon_monoxide": "Mon\u00f3xido de carbono",
|
|
241
|
+
"cold": "Fr\u00edo",
|
|
242
|
+
"connectivity": "Conectividad",
|
|
243
|
+
"door": "Puerta",
|
|
244
|
+
"garage_door": "Puerta de garaje",
|
|
245
|
+
"gas": "Gas",
|
|
246
|
+
"heat": "Calor",
|
|
247
|
+
"light": "Luz",
|
|
248
|
+
"lock": "Cerradura",
|
|
249
|
+
"moisture": "Humedad",
|
|
250
|
+
"motion": "Movimiento",
|
|
251
|
+
"moving": "En movimiento",
|
|
252
|
+
"occupancy": "Ocupaci\u00f3n",
|
|
253
|
+
"opening": "Apertura",
|
|
254
|
+
"plug": "Enchufe",
|
|
255
|
+
"power": "Energ\u00eda",
|
|
256
|
+
"presence": "Presencia",
|
|
257
|
+
"problem": "Problema",
|
|
258
|
+
"running": "Ejecutando",
|
|
259
|
+
"safety": "Seguridad",
|
|
260
|
+
"smoke": "Humo",
|
|
261
|
+
"sound": "Sonido",
|
|
262
|
+
"tamper": "Manipulaci\u00f3n",
|
|
263
|
+
"update": "Actualizar",
|
|
264
|
+
"vibration": "Vibraci\u00f3n",
|
|
265
|
+
"window": "Ventana"
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
},
|
|
12
269
|
"services": {
|
|
13
270
|
"reload": {
|
|
14
271
|
"description": "Recarga los sensores bayesianos desde la configuraci\u00f3n YAML.",
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
"above": "Pasirinktinai \u2013 apatin\u0117 skaitinio diapazono riba. Tiksliai \u0161i\u0105 reik\u0161m\u0119 atitinkan\u010dios reik\u0161m\u0117s nebus skai\u010diuojamos.",
|
|
24
24
|
"below": "Pasirinktinai \u2013 vir\u0161utin\u0117 skaitinio diapazono riba. Tiksliai \u0161i\u0105 rib\u0105 atitinkan\u010dios reik\u0161m\u0117s bus skai\u010diuojamos tik tuo atveju, jei tam pa\u010diam objektui sukonfig\u016bruotas daugiau nei vienas diapazonas.",
|
|
25
25
|
"entity_id": "Objektas, susij\u0119s su ` {parent_sensor_name} `.",
|
|
26
|
-
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje."
|
|
26
|
+
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje.",
|
|
27
|
+
"prob_given_true": "Apskai\u010diuota tikimyb\u0117 arba laiko dalis, kada \u0161is steb\u0117jimas yra 'Teisinga', o ' {parent_sensor_name} ' yra arba tur\u0117t\u0173 b\u016bti ' {device_class_on} '."
|
|
27
28
|
},
|
|
28
29
|
"description": "Prid\u0117kite steb\u0117jim\u0105, kuris \u012fvertinamas kaip 'Teisinga', kai skaitmeninis jutiklis yra pasirinktame diapazone.",
|
|
29
30
|
"title": "Prid\u0117ti Bajeso jutikl\u012f"
|
|
@@ -48,7 +49,9 @@
|
|
|
48
49
|
},
|
|
49
50
|
"data_description": {
|
|
50
51
|
"entity_id": "Objektas, susij\u0119s su ` {parent_sensor_name} `.",
|
|
51
|
-
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje."
|
|
52
|
+
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje.",
|
|
53
|
+
"prob_given_true": "Apskai\u010diuota tikimyb\u0117 arba laiko dalis, kada \u0161is steb\u0117jimas yra 'Teisinga', o ' {parent_sensor_name} ' yra arba tur\u0117t\u0173 b\u016bti ' {device_class_on} '.",
|
|
54
|
+
"to_state": "Jutiklio b\u016bsena, kuriai esant steb\u0117jimas bus laikomas 'Teisinga'."
|
|
52
55
|
},
|
|
53
56
|
"title": "Prid\u0117ti Bajeso jutikl\u012f"
|
|
54
57
|
},
|
|
@@ -61,6 +64,7 @@
|
|
|
61
64
|
},
|
|
62
65
|
"data_description": {
|
|
63
66
|
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje.",
|
|
67
|
+
"prob_given_true": "Apskai\u010diuota tikimyb\u0117 arba laiko dalis, kada \u0161is steb\u0117jimas yra 'Teisinga', o ' {parent_sensor_name} ' yra arba tur\u0117t\u0173 b\u016bti ' {device_class_on} '.",
|
|
64
68
|
"value_template": "\u0160ablonas, kuris \u012fvertinamas kaip 'Teisinga', atitinkamai atnaujins ankstesn\u012f, \u0160ablonas, pateikiantis 'Klaidinga' arba 'N\u0117ra', atnaujins ankstesn\u012f su atvirk\u0161tin\u0117mis tikimyb\u0117mis. \u0160ablonas, pateikiantis klaid\u0105, tikimybi\u0173 neatnaujins. Rezultatai priversti b\u016bti 'teisingi' arba 'klaidingi'"
|
|
65
69
|
},
|
|
66
70
|
"description": "Prid\u0117kite pasirinktin\u012f steb\u0117jim\u0105, kuris \u012fvertina, ar \u0161ablonas stebimas ('Teisinga'), ar ne ('Klaidingas').",
|
|
@@ -113,7 +117,8 @@
|
|
|
113
117
|
"above": "Pasirinktinai \u2013 apatin\u0117 skaitinio diapazono riba. Tiksliai \u0161i\u0105 reik\u0161m\u0119 atitinkan\u010dios reik\u0161m\u0117s nebus skai\u010diuojamos.",
|
|
114
118
|
"below": "Pasirinktinai \u2013 vir\u0161utin\u0117 skaitinio diapazono riba. Tiksliai \u0161i\u0105 rib\u0105 atitinkan\u010dios reik\u0161m\u0117s bus skai\u010diuojamos tik tuo atveju, jei tam pa\u010diam objektui sukonfig\u016bruotas daugiau nei vienas diapazonas.",
|
|
115
119
|
"entity_id": "Objektas, susij\u0119s su ` {parent_sensor_name} `.",
|
|
116
|
-
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje."
|
|
120
|
+
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje.",
|
|
121
|
+
"prob_given_true": "Apskai\u010diuota tikimyb\u0117 arba laiko dalis, kada \u0161is steb\u0117jimas yra 'Teisinga', o ' {parent_sensor_name} ' yra arba tur\u0117t\u0173 b\u016bti ' {device_class_on} '."
|
|
117
122
|
},
|
|
118
123
|
"description": "Prid\u0117kite steb\u0117jim\u0105, kuris \u012fvertinamas kaip 'Teisinga', kai skaitmeninis jutiklis yra pasirinktame diapazone.",
|
|
119
124
|
"title": "Prid\u0117ti Bajeso jutikl\u012f"
|
|
@@ -134,6 +139,8 @@
|
|
|
134
139
|
"below": "Pasirinktinai \u2013 vir\u0161utin\u0117 skaitinio diapazono riba. Tiksliai \u0161i\u0105 rib\u0105 atitinkan\u010dios reik\u0161m\u0117s bus skai\u010diuojamos tik tuo atveju, jei tam pa\u010diam objektui sukonfig\u016bruotas daugiau nei vienas diapazonas.",
|
|
135
140
|
"entity_id": "Objektas, susij\u0119s su ` {parent_sensor_name} `.",
|
|
136
141
|
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje.",
|
|
142
|
+
"prob_given_true": "Apskai\u010diuota tikimyb\u0117 arba laiko dalis, kada \u0161is steb\u0117jimas yra 'Teisinga', o ' {parent_sensor_name} ' yra arba tur\u0117t\u0173 b\u016bti ' {device_class_on} '.",
|
|
143
|
+
"to_state": "Jutiklio b\u016bsena, kuriai esant steb\u0117jimas bus laikomas 'Teisinga'.",
|
|
137
144
|
"value_template": "\u0160ablonas, kuris \u012fvertinamas kaip 'Teisinga', atitinkamai atnaujins ankstesn\u012f, \u0160ablonas, pateikiantis 'Klaidinga' arba 'N\u0117ra', atnaujins ankstesn\u012f su atvirk\u0161tin\u0117mis tikimyb\u0117mis. \u0160ablonas, pateikiantis klaid\u0105, tikimybi\u0173 neatnaujins. Rezultatai priversti b\u016bti 'teisingi' arba 'klaidingi'"
|
|
138
145
|
},
|
|
139
146
|
"title": "Redaguoti steb\u0117jim\u0105"
|
|
@@ -148,7 +155,9 @@
|
|
|
148
155
|
},
|
|
149
156
|
"data_description": {
|
|
150
157
|
"entity_id": "Objektas, susij\u0119s su ` {parent_sensor_name} `.",
|
|
151
|
-
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje."
|
|
158
|
+
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje.",
|
|
159
|
+
"prob_given_true": "Apskai\u010diuota tikimyb\u0117 arba laiko dalis, kada \u0161is steb\u0117jimas yra 'Teisinga', o ' {parent_sensor_name} ' yra arba tur\u0117t\u0173 b\u016bti ' {device_class_on} '.",
|
|
160
|
+
"to_state": "Jutiklio b\u016bsena, kuriai esant steb\u0117jimas bus laikomas 'Teisinga'."
|
|
152
161
|
},
|
|
153
162
|
"title": "Prid\u0117ti Bajeso jutikl\u012f"
|
|
154
163
|
},
|
|
@@ -161,6 +170,7 @@
|
|
|
161
170
|
},
|
|
162
171
|
"data_description": {
|
|
163
172
|
"name": "\u0160is pavadinimas bus naudojamas \u0161iam steb\u0117jimui identifikuoti redagavimo metu ateityje.",
|
|
173
|
+
"prob_given_true": "Apskai\u010diuota tikimyb\u0117 arba laiko dalis, kada \u0161is steb\u0117jimas yra 'Teisinga', o ' {parent_sensor_name} ' yra arba tur\u0117t\u0173 b\u016bti ' {device_class_on} '.",
|
|
164
174
|
"value_template": "\u0160ablonas, kuris \u012fvertinamas kaip 'Teisinga', atitinkamai atnaujins ankstesn\u012f, \u0160ablonas, pateikiantis 'Klaidinga' arba 'N\u0117ra', atnaujins ankstesn\u012f su atvirk\u0161tin\u0117mis tikimyb\u0117mis. \u0160ablonas, pateikiantis klaid\u0105, tikimybi\u0173 neatnaujins. Rezultatai priversti b\u016bti 'teisingi' arba 'klaidingi'"
|
|
165
175
|
},
|
|
166
176
|
"description": "Prid\u0117kite pasirinktin\u012f steb\u0117jim\u0105, kuris \u012fvertina, ar \u0161ablonas stebimas ('Teisinga'), ar ne ('Klaidingas').",
|
|
@@ -31,6 +31,11 @@
|
|
|
31
31
|
"password": "Contrase\u00f1a",
|
|
32
32
|
"username": "Nombre de usuario"
|
|
33
33
|
},
|
|
34
|
+
"data_description": {
|
|
35
|
+
"passkey": "La clave de acceso para tu dispositivo BSB-Lan.",
|
|
36
|
+
"password": "La contrase\u00f1a de tu dispositivo BSB-Lan.",
|
|
37
|
+
"username": "El nombre de usuario de tu dispositivo BSB-Lan."
|
|
38
|
+
},
|
|
34
39
|
"description": "La integraci\u00f3n de BSB-Lan necesita volver a autenticarse con {name}",
|
|
35
40
|
"title": "Autenticaci\u00f3n caducada para {name}"
|
|
36
41
|
},
|
|
@@ -76,6 +81,15 @@
|
|
|
76
81
|
},
|
|
77
82
|
"set_temperature_error": {
|
|
78
83
|
"message": "Se produjo un error al establecer la temperatura."
|
|
84
|
+
},
|
|
85
|
+
"setup_auth_error": {
|
|
86
|
+
"message": "Error de autenticaci\u00f3n al recuperar datos est\u00e1ticos del dispositivo"
|
|
87
|
+
},
|
|
88
|
+
"setup_connection_error": {
|
|
89
|
+
"message": "No se pudieron recuperar los datos est\u00e1ticos del dispositivo BSB-Lan en {host}"
|
|
90
|
+
},
|
|
91
|
+
"setup_general_error": {
|
|
92
|
+
"message": "Se produjo un error desconocido al recuperar datos est\u00e1ticos del dispositivo"
|
|
79
93
|
}
|
|
80
94
|
}
|
|
81
95
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"config": {
|
|
3
3
|
"abort": {
|
|
4
|
-
"already_configured": "El dispositivo ya est\u00e1 configurado"
|
|
4
|
+
"already_configured": "El dispositivo ya est\u00e1 configurado",
|
|
5
|
+
"reauth_successful": "Credenciales actualizadas con \u00e9xito"
|
|
5
6
|
},
|
|
6
7
|
"error": {
|
|
7
8
|
"cannot_connect": "No se pudo conectar",
|
|
@@ -11,6 +12,14 @@
|
|
|
11
12
|
"unknown": "Error inesperado"
|
|
12
13
|
},
|
|
13
14
|
"step": {
|
|
15
|
+
"reauth_confirm": {
|
|
16
|
+
"data": {
|
|
17
|
+
"api_key": "Clave API",
|
|
18
|
+
"api_token": "Secreto API"
|
|
19
|
+
},
|
|
20
|
+
"description": "Parece que tu clave API actual de Coinbase corresponde a la API v2 obsoleta. Por favor, vuelve a configurarla con una nueva clave API creada para la API v3. Visita https://www.coinbase.com/developer-platform para crear nuevas credenciales para {account_name}.",
|
|
21
|
+
"title": "Actualizar las credenciales de la API de Coinbase"
|
|
22
|
+
},
|
|
14
23
|
"user": {
|
|
15
24
|
"data": {
|
|
16
25
|
"api_key": "Clave API",
|
|
@@ -35,7 +35,7 @@ from hassil.recognize import (
|
|
|
35
35
|
)
|
|
36
36
|
from hassil.string_matcher import UnmatchedRangeEntity, UnmatchedTextEntity
|
|
37
37
|
from hassil.trie import Trie
|
|
38
|
-
from hassil.util import merge_dict
|
|
38
|
+
from hassil.util import merge_dict, remove_punctuation
|
|
39
39
|
from home_assistant_intents import (
|
|
40
40
|
ErrorKey,
|
|
41
41
|
FuzzyConfig,
|
|
@@ -327,12 +327,10 @@ class DefaultAgent(ConversationEntity):
|
|
|
327
327
|
|
|
328
328
|
if self._exposed_names_trie is not None:
|
|
329
329
|
# Filter by input string
|
|
330
|
-
|
|
330
|
+
text = remove_punctuation(user_input.text).strip().lower()
|
|
331
331
|
slot_lists["name"] = TextSlotList(
|
|
332
332
|
name="name",
|
|
333
|
-
values=[
|
|
334
|
-
result[2] for result in self._exposed_names_trie.find(text_lower)
|
|
335
|
-
],
|
|
333
|
+
values=[result[2] for result in self._exposed_names_trie.find(text)],
|
|
336
334
|
)
|
|
337
335
|
|
|
338
336
|
start = time.monotonic()
|
|
@@ -1263,7 +1261,7 @@ class DefaultAgent(ConversationEntity):
|
|
|
1263
1261
|
name_list = TextSlotList.from_tuples(exposed_entity_names, allow_template=False)
|
|
1264
1262
|
for name_value in name_list.values:
|
|
1265
1263
|
assert isinstance(name_value.text_in, TextChunk)
|
|
1266
|
-
name_text = name_value.text_in.text.strip().lower()
|
|
1264
|
+
name_text = remove_punctuation(name_value.text_in.text).strip().lower()
|
|
1267
1265
|
self._exposed_names_trie.insert(name_text, name_value)
|
|
1268
1266
|
|
|
1269
1267
|
self._slot_lists = {
|
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
"documentation": "https://www.home-assistant.io/integrations/conversation",
|
|
7
7
|
"integration_type": "system",
|
|
8
8
|
"quality_scale": "internal",
|
|
9
|
-
"requirements": ["hassil==3.2.0", "home-assistant-intents==2025.
|
|
9
|
+
"requirements": ["hassil==3.2.0", "home-assistant-intents==2025.9.3"]
|
|
10
10
|
}
|
|
@@ -177,7 +177,7 @@ class DeconzSceneMixin(DeconzDevice[PydeconzScene]):
|
|
|
177
177
|
"""Return a device description for device registry."""
|
|
178
178
|
return DeviceInfo(
|
|
179
179
|
identifiers={(DOMAIN, self._group_identifier)},
|
|
180
|
-
manufacturer="
|
|
180
|
+
manufacturer="dresden elektronik",
|
|
181
181
|
model="deCONZ group",
|
|
182
182
|
name=self.group.name,
|
|
183
183
|
via_device=(DOMAIN, self.hub.api.config.bridge_id),
|
|
@@ -14,7 +14,6 @@ from pydeconz.models.event import EventType
|
|
|
14
14
|
from homeassistant.config_entries import SOURCE_HASSIO
|
|
15
15
|
from homeassistant.core import Event, HomeAssistant, callback
|
|
16
16
|
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
|
17
|
-
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC
|
|
18
17
|
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
|
19
18
|
|
|
20
19
|
from ..const import CONF_MASTER_GATEWAY, DOMAIN, HASSIO_CONFIGURATION_URL, PLATFORMS
|
|
@@ -169,17 +168,8 @@ class DeconzHub:
|
|
|
169
168
|
|
|
170
169
|
async def async_update_device_registry(self) -> None:
|
|
171
170
|
"""Update device registry."""
|
|
172
|
-
if self.api.config.mac is None:
|
|
173
|
-
return
|
|
174
|
-
|
|
175
171
|
device_registry = dr.async_get(self.hass)
|
|
176
172
|
|
|
177
|
-
# Host device
|
|
178
|
-
device_registry.async_get_or_create(
|
|
179
|
-
config_entry_id=self.config_entry.entry_id,
|
|
180
|
-
connections={(CONNECTION_NETWORK_MAC, self.api.config.mac)},
|
|
181
|
-
)
|
|
182
|
-
|
|
183
173
|
# Gateway service
|
|
184
174
|
configuration_url = f"http://{self.config.host}:{self.config.port}"
|
|
185
175
|
if self.config_entry.source == SOURCE_HASSIO:
|
|
@@ -189,11 +179,10 @@ class DeconzHub:
|
|
|
189
179
|
configuration_url=configuration_url,
|
|
190
180
|
entry_type=dr.DeviceEntryType.SERVICE,
|
|
191
181
|
identifiers={(DOMAIN, self.api.config.bridge_id)},
|
|
192
|
-
manufacturer="
|
|
182
|
+
manufacturer="dresden elektronik",
|
|
193
183
|
model=self.api.config.model_id,
|
|
194
184
|
name=self.api.config.name,
|
|
195
185
|
sw_version=self.api.config.software_version,
|
|
196
|
-
via_device=(CONNECTION_NETWORK_MAC, self.api.config.mac),
|
|
197
186
|
)
|
|
198
187
|
|
|
199
188
|
@staticmethod
|
|
@@ -396,7 +396,7 @@ class DeconzGroup(DeconzBaseLight[Group]):
|
|
|
396
396
|
"""Return a device description for device registry."""
|
|
397
397
|
return DeviceInfo(
|
|
398
398
|
identifiers={(DOMAIN, self.unique_id)},
|
|
399
|
-
manufacturer="
|
|
399
|
+
manufacturer="dresden elektronik",
|
|
400
400
|
model="deCONZ group",
|
|
401
401
|
name=self._device.name,
|
|
402
402
|
via_device=(DOMAIN, self.hub.api.config.bridge_id),
|
|
@@ -11,7 +11,6 @@ from homeassistant.helpers import (
|
|
|
11
11
|
device_registry as dr,
|
|
12
12
|
entity_registry as er,
|
|
13
13
|
)
|
|
14
|
-
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC
|
|
15
14
|
from homeassistant.util.read_only_dict import ReadOnlyDict
|
|
16
15
|
|
|
17
16
|
from .const import CONF_BRIDGE_ID, DOMAIN, LOGGER
|
|
@@ -120,8 +119,8 @@ async def async_configure_service(hub: DeconzHub, data: ReadOnlyDict) -> None:
|
|
|
120
119
|
"field": "/lights/1/state",
|
|
121
120
|
"data": {"on": true}
|
|
122
121
|
}
|
|
123
|
-
See
|
|
124
|
-
|
|
122
|
+
See deCONZ REST-API documentation for details:
|
|
123
|
+
https://dresden-elektronik.github.io/deconz-rest-doc/
|
|
125
124
|
"""
|
|
126
125
|
field = data.get(SERVICE_FIELD, "")
|
|
127
126
|
entity_id = data.get(SERVICE_ENTITY)
|
|
@@ -162,14 +161,6 @@ async def async_remove_orphaned_entries_service(hub: DeconzHub) -> None:
|
|
|
162
161
|
)
|
|
163
162
|
]
|
|
164
163
|
|
|
165
|
-
# Don't remove the Gateway host entry
|
|
166
|
-
if hub.api.config.mac:
|
|
167
|
-
hub_host = device_registry.async_get_device(
|
|
168
|
-
connections={(CONNECTION_NETWORK_MAC, hub.api.config.mac)},
|
|
169
|
-
)
|
|
170
|
-
if hub_host and hub_host.id in devices_to_be_removed:
|
|
171
|
-
devices_to_be_removed.remove(hub_host.id)
|
|
172
|
-
|
|
173
164
|
# Don't remove the Gateway service entry
|
|
174
165
|
hub_service = device_registry.async_get_device(
|
|
175
166
|
identifiers={(DOMAIN, hub.api.config.bridge_id)}
|