homeassistant-stubs 2025.3.3__py3-none-any.whl → 2025.4.0b0__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-stubs/bootstrap.pyi +3 -2
- homeassistant-stubs/components/accuweather/const.pyi +3 -1
- homeassistant-stubs/components/accuweather/sensor.pyi +1 -1
- homeassistant-stubs/components/anova/config_flow.pyi +4 -1
- homeassistant-stubs/components/anthemav/media_player.pyi +2 -0
- homeassistant-stubs/components/arwn/sensor.pyi +3 -2
- homeassistant-stubs/components/assist_pipeline/pipeline.pyi +14 -5
- homeassistant-stubs/components/assist_satellite/entity.pyi +5 -3
- homeassistant-stubs/components/azure_storage/__init__.pyi +1 -1
- homeassistant-stubs/components/azure_storage/backup.pyi +1 -1
- homeassistant-stubs/components/azure_storage/config_flow.pyi +7 -0
- homeassistant-stubs/components/backup/__init__.pyi +2 -2
- homeassistant-stubs/components/backup/agent.pyi +1 -1
- homeassistant-stubs/components/backup/backup.pyi +1 -1
- homeassistant-stubs/components/backup/config_flow.pyi +7 -0
- homeassistant-stubs/components/backup/coordinator.pyi +28 -0
- homeassistant-stubs/components/backup/diagnostics.pyi +7 -0
- homeassistant-stubs/components/backup/entity.pyi +13 -0
- homeassistant-stubs/components/backup/http.pyi +1 -0
- homeassistant-stubs/components/backup/manager.pyi +8 -3
- homeassistant-stubs/components/backup/sensor.pyi +23 -0
- homeassistant-stubs/components/bosch_alarm/__init__.pyi +12 -0
- homeassistant-stubs/components/bosch_alarm/alarm_control_panel.pyi +31 -0
- homeassistant-stubs/components/bosch_alarm/config_flow.pyi +20 -0
- homeassistant-stubs/components/bosch_alarm/const.pyi +4 -0
- homeassistant-stubs/components/bring/diagnostics.pyi +5 -0
- homeassistant-stubs/components/brother/__init__.pyi +1 -0
- homeassistant-stubs/components/brother/coordinator.pyi +1 -0
- homeassistant-stubs/components/cloud/backup.pyi +3 -3
- homeassistant-stubs/components/cloud/http_api.pyi +6 -3
- homeassistant-stubs/components/cloud/tts.pyi +2 -2
- homeassistant-stubs/components/comelit/__init__.pyi +11 -0
- homeassistant-stubs/components/comelit/alarm_control_panel.pyi +42 -0
- homeassistant-stubs/components/comelit/binary_sensor.pyi +22 -0
- homeassistant-stubs/components/comelit/climate.pyi +60 -0
- homeassistant-stubs/components/comelit/config_flow.pyi +28 -0
- homeassistant-stubs/components/comelit/const.pyi +7 -0
- homeassistant-stubs/components/comelit/coordinator.pyi +38 -0
- homeassistant-stubs/components/comelit/cover.pyi +40 -0
- homeassistant-stubs/components/comelit/diagnostics.pyi +10 -0
- homeassistant-stubs/components/comelit/humidifier.pyi +61 -0
- homeassistant-stubs/components/comelit/light.pyi +28 -0
- homeassistant-stubs/components/comelit/sensor.pyi +45 -0
- homeassistant-stubs/components/comelit/switch.pyi +27 -0
- homeassistant-stubs/components/cover/reproduce_state.pyi +17 -6
- homeassistant-stubs/components/demo/valve.pyi +30 -0
- homeassistant-stubs/components/discovergy/__init__.pyi +1 -1
- homeassistant-stubs/components/energy/data.pyi +1 -0
- homeassistant-stubs/components/enigma2/config_flow.pyi +1 -0
- homeassistant-stubs/components/esphome/__init__.pyi +1 -1
- homeassistant-stubs/components/esphome/assist_satellite.pyi +2 -0
- homeassistant-stubs/components/esphome/const.pyi +1 -0
- homeassistant-stubs/components/esphome/diagnostics.pyi +0 -1
- homeassistant-stubs/components/esphome/manager.pyi +1 -1
- homeassistant-stubs/components/frontend/__init__.pyi +9 -10
- homeassistant-stubs/components/frontend/storage.pyi +2 -1
- homeassistant-stubs/components/gios/__init__.pyi +1 -0
- homeassistant-stubs/components/gios/config_flow.pyi +1 -0
- homeassistant-stubs/components/gios/coordinator.pyi +2 -2
- homeassistant-stubs/components/google/calendar.pyi +3 -2
- homeassistant-stubs/components/google_drive/backup.pyi +2 -2
- homeassistant-stubs/components/habitica/const.pyi +25 -0
- homeassistant-stubs/components/habitica/services.pyi +6 -2
- homeassistant-stubs/components/heos/const.pyi +1 -0
- homeassistant-stubs/components/heos/coordinator.pyi +5 -5
- homeassistant-stubs/components/heos/media_player.pyi +18 -8
- homeassistant-stubs/components/home_connect/__init__.pyi +6 -17
- homeassistant-stubs/components/home_connect/button.pyi +0 -2
- homeassistant-stubs/components/home_connect/const.pyi +1 -6
- homeassistant-stubs/components/home_connect/coordinator.pyi +4 -2
- homeassistant-stubs/components/home_connect/entity.pyi +7 -2
- homeassistant-stubs/components/home_connect/light.pyi +1 -1
- homeassistant-stubs/components/home_connect/number.pyi +4 -3
- homeassistant-stubs/components/home_connect/select.pyi +7 -3
- homeassistant-stubs/components/home_connect/sensor.pyi +3 -1
- homeassistant-stubs/components/home_connect/services.pyi +35 -0
- homeassistant-stubs/components/home_connect/switch.pyi +1 -1
- homeassistant-stubs/components/home_connect/time.pyi +6 -1
- homeassistant-stubs/components/homeassistant_hardware/coordinator.pyi +15 -0
- homeassistant-stubs/components/homeassistant_hardware/update.pyi +69 -0
- homeassistant-stubs/components/homeassistant_hardware/util.pyi +6 -1
- homeassistant-stubs/components/homeassistant_sky_connect/__init__.pyi +1 -0
- homeassistant-stubs/components/homeassistant_sky_connect/config_flow.pyi +1 -1
- homeassistant-stubs/components/homeassistant_sky_connect/const.pyi +10 -0
- homeassistant-stubs/components/homeassistant_sky_connect/update.pyi +26 -0
- homeassistant-stubs/components/homeassistant_yellow/__init__.pyi +1 -1
- homeassistant-stubs/components/homeassistant_yellow/config_flow.pyi +1 -1
- homeassistant-stubs/components/homeassistant_yellow/const.pyi +4 -0
- homeassistant-stubs/components/homeassistant_yellow/update.pyi +26 -0
- homeassistant-stubs/components/homee/binary_sensor.pyi +21 -0
- homeassistant-stubs/components/homee/button.pyi +1 -0
- homeassistant-stubs/components/homee/cover.pyi +1 -0
- homeassistant-stubs/components/homee/light.pyi +1 -0
- homeassistant-stubs/components/homee/lock.pyi +25 -0
- homeassistant-stubs/components/homee/number.pyi +1 -0
- homeassistant-stubs/components/homee/select.pyi +23 -0
- homeassistant-stubs/components/homee/sensor.pyi +2 -0
- homeassistant-stubs/components/homee/switch.pyi +2 -0
- homeassistant-stubs/components/homee/valve.pyi +1 -0
- homeassistant-stubs/components/homekit/__init__.pyi +3 -1
- homeassistant-stubs/components/homekit/accessories.pyi +1 -0
- homeassistant-stubs/components/homekit/type_switches.pyi +6 -0
- homeassistant-stubs/components/husqvarna_automower/coordinator.pyi +7 -7
- homeassistant-stubs/components/incomfort/config_flow.pyi +1 -0
- homeassistant-stubs/components/iron_os/coordinator.pyi +2 -0
- homeassistant-stubs/components/iron_os/number.pyi +2 -0
- homeassistant-stubs/components/iron_os/select.pyi +3 -0
- homeassistant-stubs/components/jewish_calendar/__init__.pyi +9 -2
- homeassistant-stubs/components/jewish_calendar/binary_sensor.pyi +4 -4
- homeassistant-stubs/components/jewish_calendar/const.pyi +3 -0
- homeassistant-stubs/components/jewish_calendar/entity.pyi +2 -2
- homeassistant-stubs/components/jewish_calendar/sensor.pyi +5 -6
- homeassistant-stubs/components/jewish_calendar/service.pyi +10 -0
- homeassistant-stubs/components/lawn_mower/__init__.pyi +1 -0
- homeassistant-stubs/components/linkplay/entity.pyi +0 -1
- homeassistant-stubs/components/linkplay/media_player.pyi +3 -2
- homeassistant-stubs/components/linkplay/utils.pyi +0 -32
- homeassistant-stubs/components/mastodon/__init__.pyi +2 -2
- homeassistant-stubs/components/mastodon/config_flow.pyi +2 -1
- homeassistant-stubs/components/mastodon/const.pyi +0 -7
- homeassistant-stubs/components/mastodon/coordinator.pyi +5 -5
- homeassistant-stubs/components/mastodon/diagnostics.pyi +2 -1
- homeassistant-stubs/components/mastodon/entity.pyi +1 -1
- homeassistant-stubs/components/mastodon/notify.pyi +3 -2
- homeassistant-stubs/components/mastodon/sensor.pyi +2 -3
- homeassistant-stubs/components/mastodon/services.pyi +1 -0
- homeassistant-stubs/components/mastodon/utils.pyi +3 -2
- homeassistant-stubs/components/mcp/coordinator.pyi +2 -9
- homeassistant-stubs/components/mcp_server/config_flow.pyi +1 -1
- homeassistant-stubs/components/mcp_server/const.pyi +1 -2
- homeassistant-stubs/components/mcp_server/server.pyi +1 -0
- homeassistant-stubs/components/modbus/__init__.pyi +1 -1
- homeassistant-stubs/components/modbus/climate.pyi +6 -2
- homeassistant-stubs/components/modbus/const.pyi +10 -0
- homeassistant-stubs/components/mqtt/config_flow.pyi +96 -7
- homeassistant-stubs/components/mqtt/const.pyi +65 -0
- homeassistant-stubs/components/mqtt/cover.pyi +2 -0
- homeassistant-stubs/components/mqtt/entity.pyi +4 -4
- homeassistant-stubs/components/mqtt/lawn_mower.pyi +1 -2
- homeassistant-stubs/components/mqtt/light/schema_basic.pyi +2 -48
- homeassistant-stubs/components/mqtt/light/schema_json.pyi +1 -14
- homeassistant-stubs/components/mqtt/light/schema_template.pyi +1 -12
- homeassistant-stubs/components/mqtt/models.pyi +25 -1
- homeassistant-stubs/components/mqtt/sensor.pyi +6 -5
- homeassistant-stubs/components/mqtt/util.pyi +2 -0
- homeassistant-stubs/components/mysensors/__init__.pyi +1 -1
- homeassistant-stubs/components/mysensors/binary_sensor.pyi +0 -1
- homeassistant-stubs/components/mysensors/climate.pyi +0 -1
- homeassistant-stubs/components/mysensors/const.pyi +0 -1
- homeassistant-stubs/components/mysensors/cover.pyi +1 -2
- homeassistant-stubs/components/mysensors/device_tracker.pyi +0 -1
- homeassistant-stubs/components/mysensors/gateway.pyi +1 -1
- homeassistant-stubs/components/mysensors/helpers.pyi +1 -3
- homeassistant-stubs/components/mysensors/light.pyi +4 -5
- homeassistant-stubs/components/mysensors/remote.pyi +0 -1
- homeassistant-stubs/components/mysensors/sensor.pyi +0 -1
- homeassistant-stubs/components/mysensors/switch.pyi +1 -2
- homeassistant-stubs/components/mysensors/text.pyi +0 -1
- homeassistant-stubs/components/nam/button.pyi +2 -0
- homeassistant-stubs/components/nam/const.pyi +1 -0
- homeassistant-stubs/components/nam/sensor.pyi +2 -2
- homeassistant-stubs/components/nest/media_source.pyi +5 -0
- homeassistant-stubs/components/nextdns/__init__.pyi +1 -1
- homeassistant-stubs/components/nextdns/button.pyi +2 -0
- homeassistant-stubs/components/nextdns/config_flow.pyi +1 -0
- homeassistant-stubs/components/nextdns/switch.pyi +1 -0
- homeassistant-stubs/components/nut/__init__.pyi +1 -0
- homeassistant-stubs/components/nut/button.pyi +14 -0
- homeassistant-stubs/components/nut/entity.pyi +19 -0
- homeassistant-stubs/components/nut/sensor.pyi +8 -13
- homeassistant-stubs/components/nut/switch.pyi +18 -0
- homeassistant-stubs/components/onboarding/views.pyi +1 -0
- homeassistant-stubs/components/onedrive/__init__.pyi +4 -0
- homeassistant-stubs/components/onedrive/backup.pyi +1 -1
- homeassistant-stubs/components/onedrive/services.pyi +15 -0
- homeassistant-stubs/components/openai_conversation/__init__.pyi +5 -1
- homeassistant-stubs/components/openai_conversation/config_flow.pyi +5 -2
- homeassistant-stubs/components/openai_conversation/const.pyi +22 -11
- homeassistant-stubs/components/openai_conversation/conversation.pyi +6 -7
- homeassistant-stubs/components/overkiz/water_heater/__init__.pyi +1 -0
- homeassistant-stubs/components/overkiz/water_heater/atlantic_domestic_hot_water_production_v2_io_component.pyi +41 -0
- homeassistant-stubs/components/purpleair/__init__.pyi +5 -10
- homeassistant-stubs/components/purpleair/const.pyi +6 -4
- homeassistant-stubs/components/purpleair/coordinator.pyi +3 -2
- homeassistant-stubs/components/purpleair/diagnostics.pyi +2 -4
- homeassistant-stubs/components/purpleair/entity.pyi +2 -3
- homeassistant-stubs/components/purpleair/sensor.pyi +4 -5
- homeassistant-stubs/components/pyload/__init__.pyi +12 -0
- homeassistant-stubs/components/pyload/button.pyi +32 -0
- homeassistant-stubs/components/pyload/config_flow.pyi +23 -0
- homeassistant-stubs/components/pyload/const.pyi +6 -0
- homeassistant-stubs/components/pyload/coordinator.pyi +33 -0
- homeassistant-stubs/components/pyload/diagnostics.pyi +10 -0
- homeassistant-stubs/components/pyload/entity.pyi +13 -0
- homeassistant-stubs/components/pyload/sensor.pyi +33 -0
- homeassistant-stubs/components/pyload/switch.pyi +37 -0
- homeassistant-stubs/components/qbus/climate.pyi +41 -0
- homeassistant-stubs/components/qbus/light.pyi +3 -3
- homeassistant-stubs/components/recorder/const.pyi +1 -0
- homeassistant-stubs/components/recorder/core.pyi +1 -2
- homeassistant-stubs/components/recorder/db_schema.pyi +3 -1
- homeassistant-stubs/components/recorder/migration.pyi +16 -2
- homeassistant-stubs/components/recorder/models/__init__.pyi +2 -2
- homeassistant-stubs/components/recorder/models/statistics.pyi +10 -2
- homeassistant-stubs/components/recorder/statistics.pyi +27 -9
- homeassistant-stubs/components/recorder/table_managers/statistics_meta.pyi +5 -3
- homeassistant-stubs/components/recorder/websocket_api.pyi +1 -1
- homeassistant-stubs/components/remote_calendar/__init__.pyi +11 -0
- homeassistant-stubs/components/remote_calendar/calendar.pyi +26 -0
- homeassistant-stubs/components/remote_calendar/config_flow.pyi +13 -0
- homeassistant-stubs/components/remote_calendar/const.pyi +2 -0
- homeassistant-stubs/components/remote_calendar/coordinator.pyi +20 -0
- homeassistant-stubs/components/remote_calendar/diagnostics.pyi +5 -0
- homeassistant-stubs/components/renault/config_flow.pyi +1 -0
- homeassistant-stubs/components/reolink/__init__.pyi +1 -1
- homeassistant-stubs/components/reolink/binary_sensor.pyi +17 -1
- homeassistant-stubs/components/reolink/config_flow.pyi +1 -1
- homeassistant-stubs/components/reolink/const.pyi +1 -0
- homeassistant-stubs/components/reolink/host.pyi +4 -4
- homeassistant-stubs/components/reolink/number.pyi +21 -1
- homeassistant-stubs/components/reolink/select.pyi +17 -1
- homeassistant-stubs/components/reolink/update.pyi +2 -1
- homeassistant-stubs/components/reolink/util.pyi +7 -0
- homeassistant-stubs/components/roborock/__init__.pyi +5 -3
- homeassistant-stubs/components/roborock/binary_sensor.pyi +4 -1
- homeassistant-stubs/components/roborock/button.pyi +11 -1
- homeassistant-stubs/components/roborock/config_flow.pyi +7 -3
- homeassistant-stubs/components/roborock/const.pyi +7 -1
- homeassistant-stubs/components/roborock/coordinator.pyi +18 -3
- homeassistant-stubs/components/roborock/entity.pyi +3 -1
- homeassistant-stubs/components/roborock/image.pyi +2 -7
- homeassistant-stubs/components/roborock/models.pyi +7 -0
- homeassistant-stubs/components/roborock/number.pyi +1 -0
- homeassistant-stubs/components/roborock/select.pyi +7 -5
- homeassistant-stubs/components/roborock/sensor.pyi +14 -1
- homeassistant-stubs/components/roborock/switch.pyi +2 -0
- homeassistant-stubs/components/roborock/time.pyi +1 -0
- homeassistant-stubs/components/roborock/vacuum.pyi +1 -1
- homeassistant-stubs/components/sensor/const.pyi +2 -0
- homeassistant-stubs/components/sensor/recorder.pyi +15 -3
- homeassistant-stubs/components/shelly/__init__.pyi +2 -2
- homeassistant-stubs/components/shelly/bluetooth/__init__.pyi +4 -2
- homeassistant-stubs/components/shelly/button.pyi +22 -7
- homeassistant-stubs/components/shelly/climate.pyi +1 -1
- homeassistant-stubs/components/shelly/config_flow.pyi +5 -5
- homeassistant-stubs/components/shelly/const.pyi +0 -1
- homeassistant-stubs/components/shelly/coordinator.pyi +5 -1
- homeassistant-stubs/components/shelly/diagnostics.pyi +1 -2
- homeassistant-stubs/components/shelly/entity.pyi +1 -3
- homeassistant-stubs/components/shelly/event.pyi +1 -1
- homeassistant-stubs/components/shelly/number.pyi +1 -1
- homeassistant-stubs/components/shelly/sensor.pyi +2 -2
- homeassistant-stubs/components/shelly/switch.pyi +14 -14
- homeassistant-stubs/components/shelly/update.pyi +1 -1
- homeassistant-stubs/components/shelly/utils.pyi +6 -2
- homeassistant-stubs/components/skybell/config_flow.pyi +3 -0
- homeassistant-stubs/components/smlight/__init__.pyi +0 -2
- homeassistant-stubs/components/smlight/sensor.pyi +5 -2
- homeassistant-stubs/components/smlight/update.pyi +0 -1
- homeassistant-stubs/components/squeezebox/browse_media.pyi +6 -11
- homeassistant-stubs/components/squeezebox/button.pyi +31 -0
- homeassistant-stubs/components/squeezebox/entity.pyi +8 -2
- homeassistant-stubs/components/squeezebox/media_player.pyi +3 -5
- homeassistant-stubs/components/synology_dsm/__init__.pyi +5 -7
- homeassistant-stubs/components/synology_dsm/backup.pyi +3 -4
- homeassistant-stubs/components/synology_dsm/binary_sensor.pyi +2 -5
- homeassistant-stubs/components/synology_dsm/button.pyi +2 -3
- homeassistant-stubs/components/synology_dsm/camera.pyi +2 -4
- homeassistant-stubs/components/synology_dsm/config_flow.pyi +3 -2
- homeassistant-stubs/components/synology_dsm/coordinator.pyi +15 -5
- homeassistant-stubs/components/synology_dsm/diagnostics.pyi +3 -4
- homeassistant-stubs/components/synology_dsm/media_source.pyi +3 -1
- homeassistant-stubs/components/synology_dsm/repairs.pyi +2 -3
- homeassistant-stubs/components/synology_dsm/sensor.pyi +3 -5
- homeassistant-stubs/components/synology_dsm/service.pyi +1 -1
- homeassistant-stubs/components/synology_dsm/switch.pyi +2 -4
- homeassistant-stubs/components/synology_dsm/update.pyi +2 -5
- homeassistant-stubs/components/tibber/coordinator.pyi +1 -1
- homeassistant-stubs/components/todo/intent.pyi +8 -0
- homeassistant-stubs/components/trafikverket_ferry/config_flow.pyi +1 -0
- homeassistant-stubs/components/trafikverket_weatherstation/config_flow.pyi +3 -0
- homeassistant-stubs/components/tts/__init__.pyi +66 -51
- homeassistant-stubs/components/tts/entity.pyi +54 -0
- homeassistant-stubs/components/tts/media_source.pyi +1 -1
- homeassistant-stubs/components/update/__init__.pyi +2 -2
- homeassistant-stubs/components/usb/__init__.pyi +0 -3
- homeassistant-stubs/components/vodafone_station/__init__.pyi +11 -0
- homeassistant-stubs/components/vodafone_station/button.pyi +31 -0
- homeassistant-stubs/components/vodafone_station/config_flow.pyi +29 -0
- homeassistant-stubs/components/vodafone_station/const.pyi +9 -0
- homeassistant-stubs/components/vodafone_station/coordinator.pyi +43 -0
- homeassistant-stubs/components/vodafone_station/device_tracker.pyi +30 -0
- homeassistant-stubs/components/vodafone_station/diagnostics.pyi +10 -0
- homeassistant-stubs/components/vodafone_station/helpers.pyi +8 -0
- homeassistant-stubs/components/vodafone_station/sensor.pyi +38 -0
- homeassistant-stubs/components/zwave_js/__init__.pyi +5 -9
- homeassistant-stubs/components/zwave_js/api.pyi +15 -0
- homeassistant-stubs/components/zwave_js/config_flow.pyi +0 -1
- homeassistant-stubs/config_entries.pyi +2 -5
- homeassistant-stubs/helpers/backup.pyi +4 -1
- homeassistant-stubs/helpers/config_entry_oauth2_flow.pyi +14 -0
- homeassistant-stubs/helpers/config_validation.pyi +5 -2
- homeassistant-stubs/helpers/frame.pyi +14 -5
- homeassistant-stubs/helpers/intent.pyi +13 -4
- homeassistant-stubs/helpers/llm.pyi +7 -1
- homeassistant-stubs/helpers/selector.pyi +1 -0
- homeassistant-stubs/helpers/template.pyi +14 -1
- homeassistant-stubs/loader.pyi +18 -8
- homeassistant-stubs/scripts/check_config.pyi +0 -1
- homeassistant-stubs/util/logging.pyi +16 -1
- homeassistant-stubs/util/unit_conversion.pyi +3 -0
- homeassistant-stubs/util/unit_system.pyi +12 -10
- homeassistant-stubs/util/yaml/__init__.pyi +3 -4
- homeassistant-stubs/util/yaml/dumper.pyi +2 -8
- homeassistant-stubs/util/yaml/input.pyi +2 -9
- homeassistant-stubs/util/yaml/loader.pyi +4 -72
- homeassistant-stubs/util/yaml/objects.pyi +2 -26
- {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0b0.dist-info}/METADATA +2 -2
- {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0b0.dist-info}/RECORD +321 -260
- homeassistant-stubs/components/mcp_server/llm_api.pyi +0 -15
- homeassistant-stubs/components/synology_dsm/models.pyi +0 -10
- homeassistant-stubs/util/yaml/const.pyi +0 -1
- {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0b0.dist-info}/WHEEL +0 -0
- {homeassistant_stubs-2025.3.3.dist-info → homeassistant_stubs-2025.4.0b0.dist-info}/licenses/LICENSE +0 -0
@@ -1,5 +1,4 @@
|
|
1
1
|
from . import DOMAIN as DOMAIN, LinkPlayRequestException as LinkPlayRequestException
|
2
|
-
from .utils import MANUFACTURER_GENERIC as MANUFACTURER_GENERIC, get_info_from_project as get_info_from_project
|
3
2
|
from _typeshed import Incomplete
|
4
3
|
from collections.abc import Callable as Callable, Coroutine
|
5
4
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
@@ -21,23 +21,24 @@ SOURCE_MAP: dict[PlayingMode, str]
|
|
21
21
|
SOURCE_MAP_INV: dict[str, PlayingMode]
|
22
22
|
REPEAT_MAP: dict[LoopMode, RepeatMode]
|
23
23
|
REPEAT_MAP_INV: dict[RepeatMode, LoopMode]
|
24
|
-
EQUALIZER_MAP: dict[EqualizerMode, str]
|
25
24
|
EQUALIZER_MAP_INV: dict[str, EqualizerMode]
|
26
25
|
DEFAULT_FEATURES: MediaPlayerEntityFeature
|
27
26
|
SEEKABLE_FEATURES: MediaPlayerEntityFeature
|
28
27
|
SERVICE_PLAY_PRESET: str
|
29
28
|
ATTR_PRESET_NUMBER: str
|
30
29
|
SERVICE_PLAY_PRESET_SCHEMA: Incomplete
|
30
|
+
RETRY_POLL_MAXIMUM: int
|
31
31
|
|
32
32
|
async def async_setup_entry(hass: HomeAssistant, entry: LinkPlayConfigEntry, async_add_entities: AddConfigEntryEntitiesCallback) -> None: ...
|
33
33
|
|
34
34
|
class LinkPlayMediaPlayerEntity(LinkPlayBaseEntity, MediaPlayerEntity):
|
35
|
-
_attr_sound_mode_list: Incomplete
|
36
35
|
_attr_device_class: Incomplete
|
37
36
|
_attr_media_content_type: Incomplete
|
38
37
|
_attr_name: Incomplete
|
39
38
|
_attr_unique_id: Incomplete
|
39
|
+
_retry_count: int
|
40
40
|
_attr_source_list: Incomplete
|
41
|
+
_attr_sound_mode_list: Incomplete
|
41
42
|
def __init__(self, bridge: LinkPlayBridge) -> None: ...
|
42
43
|
_attr_available: bool
|
43
44
|
@exception_wrap
|
@@ -2,37 +2,5 @@ from .const import DATA_SESSION as DATA_SESSION, DOMAIN as DOMAIN
|
|
2
2
|
from aiohttp import ClientSession as ClientSession
|
3
3
|
from homeassistant.const import EVENT_HOMEASSISTANT_CLOSE as EVENT_HOMEASSISTANT_CLOSE
|
4
4
|
from homeassistant.core import Event as Event, HomeAssistant as HomeAssistant, callback as callback
|
5
|
-
from typing import Final
|
6
5
|
|
7
|
-
MANUFACTURER_ARTSOUND: Final[str]
|
8
|
-
MANUFACTURER_ARYLIC: Final[str]
|
9
|
-
MANUFACTURER_IEAST: Final[str]
|
10
|
-
MANUFACTURER_WIIM: Final[str]
|
11
|
-
MANUFACTURER_GGMM: Final[str]
|
12
|
-
MANUFACTURER_MEDION: Final[str]
|
13
|
-
MANUFACTURER_GENERIC: Final[str]
|
14
|
-
MODELS_ARTSOUND_SMART_ZONE4: Final[str]
|
15
|
-
MODELS_ARTSOUND_SMART_HYDE: Final[str]
|
16
|
-
MODELS_ARYLIC_S50: Final[str]
|
17
|
-
MODELS_ARYLIC_S50_PRO: Final[str]
|
18
|
-
MODELS_ARYLIC_A30: Final[str]
|
19
|
-
MODELS_ARYLIC_A50: Final[str]
|
20
|
-
MODELS_ARYLIC_A50S: Final[str]
|
21
|
-
MODELS_ARYLIC_UP2STREAM_AMP: Final[str]
|
22
|
-
MODELS_ARYLIC_UP2STREAM_AMP_2P1: Final[str]
|
23
|
-
MODELS_ARYLIC_UP2STREAM_AMP_V3: Final[str]
|
24
|
-
MODELS_ARYLIC_UP2STREAM_AMP_V4: Final[str]
|
25
|
-
MODELS_ARYLIC_UP2STREAM_PRO: Final[str]
|
26
|
-
MODELS_ARYLIC_UP2STREAM_PRO_V3: Final[str]
|
27
|
-
MODELS_ARYLIC_S10P: Final[str]
|
28
|
-
MODELS_ARYLIC_UP2STREAM_PLATE_AMP: Final[str]
|
29
|
-
MODELS_IEAST_AUDIOCAST_M5: Final[str]
|
30
|
-
MODELS_WIIM_AMP: Final[str]
|
31
|
-
MODELS_WIIM_MINI: Final[str]
|
32
|
-
MODELS_GGMM_GGMM_E2: Final[str]
|
33
|
-
MODELS_MEDION_MD_43970: Final[str]
|
34
|
-
MODELS_GENERIC: Final[str]
|
35
|
-
PROJECTID_LOOKUP: Final[dict[str, tuple[str, str]]]
|
36
|
-
|
37
|
-
def get_info_from_project(project: str) -> tuple[str, str]: ...
|
38
6
|
async def async_get_client_session(hass: HomeAssistant) -> ClientSession: ...
|
@@ -9,7 +9,7 @@ from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
|
|
9
9
|
from homeassistant.helpers import discovery as discovery
|
10
10
|
from homeassistant.helpers.typing import ConfigType as ConfigType
|
11
11
|
from homeassistant.util import slugify as slugify
|
12
|
-
from mastodon.Mastodon import Mastodon as Mastodon
|
12
|
+
from mastodon.Mastodon import Account as Account, Instance as Instance, InstanceV2 as InstanceV2, Mastodon as Mastodon
|
13
13
|
|
14
14
|
PLATFORMS: list[Platform]
|
15
15
|
CONFIG_SCHEMA: Incomplete
|
@@ -18,4 +18,4 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
|
|
18
18
|
async def async_setup_entry(hass: HomeAssistant, entry: MastodonConfigEntry) -> bool: ...
|
19
19
|
async def async_unload_entry(hass: HomeAssistant, entry: MastodonConfigEntry) -> bool: ...
|
20
20
|
async def async_migrate_entry(hass: HomeAssistant, entry: MastodonConfigEntry) -> bool: ...
|
21
|
-
def setup_mastodon(entry: MastodonConfigEntry) -> tuple[Mastodon,
|
21
|
+
def setup_mastodon(entry: MastodonConfigEntry) -> tuple[Mastodon, InstanceV2 | Instance, Account]: ...
|
@@ -5,6 +5,7 @@ from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowRes
|
|
5
5
|
from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_CLIENT_SECRET as CONF_CLIENT_SECRET
|
6
6
|
from homeassistant.helpers.selector import TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
|
7
7
|
from homeassistant.util import slugify as slugify
|
8
|
+
from mastodon.Mastodon import Account as Account, Instance as Instance
|
8
9
|
from typing import Any
|
9
10
|
|
10
11
|
STEP_USER_DATA_SCHEMA: Incomplete
|
@@ -14,6 +15,6 @@ def base_url_from_url(url: str) -> str: ...
|
|
14
15
|
class MastodonConfigFlow(ConfigFlow, domain=DOMAIN):
|
15
16
|
VERSION: int
|
16
17
|
MINOR_VERSION: int
|
17
|
-
def check_connection(self, base_url: str, client_id: str, client_secret: str, access_token: str) -> tuple[
|
18
|
+
def check_connection(self, base_url: str, client_id: str, client_secret: str, access_token: str) -> tuple[Instance | None, Account | None, dict[str, str]]: ...
|
18
19
|
def show_user_form(self, user_input: dict[str, Any] | None = None, errors: dict[str, str] | None = None, description_placeholders: dict[str, str] | None = None, step_id: str = 'user') -> ConfigFlowResult: ...
|
19
20
|
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
@@ -7,13 +7,6 @@ CONF_BASE_URL: Final[str]
|
|
7
7
|
DATA_HASS_CONFIG: str
|
8
8
|
DEFAULT_URL: Final[str]
|
9
9
|
DEFAULT_NAME: Final[str]
|
10
|
-
INSTANCE_VERSION: Final[str]
|
11
|
-
INSTANCE_URI: Final[str]
|
12
|
-
INSTANCE_DOMAIN: Final[str]
|
13
|
-
ACCOUNT_USERNAME: Final[str]
|
14
|
-
ACCOUNT_FOLLOWERS_COUNT: Final[str]
|
15
|
-
ACCOUNT_FOLLOWING_COUNT: Final[str]
|
16
|
-
ACCOUNT_STATUSES_COUNT: Final[str]
|
17
10
|
ATTR_CONFIG_ENTRY_ID: str
|
18
11
|
ATTR_STATUS: str
|
19
12
|
ATTR_VISIBILITY: str
|
@@ -5,18 +5,18 @@ from homeassistant.config_entries import ConfigEntry as ConfigEntry
|
|
5
5
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
6
6
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator as DataUpdateCoordinator, UpdateFailed as UpdateFailed
|
7
7
|
from mastodon import Mastodon as Mastodon
|
8
|
-
from
|
8
|
+
from mastodon.Mastodon import Account, Instance as Instance, InstanceV2 as InstanceV2
|
9
9
|
|
10
10
|
@dataclass
|
11
11
|
class MastodonData:
|
12
12
|
client: Mastodon
|
13
|
-
instance:
|
14
|
-
account:
|
13
|
+
instance: InstanceV2 | Instance
|
14
|
+
account: Account
|
15
15
|
coordinator: MastodonCoordinator
|
16
16
|
type MastodonConfigEntry = ConfigEntry[MastodonData]
|
17
17
|
|
18
|
-
class MastodonCoordinator(DataUpdateCoordinator[
|
18
|
+
class MastodonCoordinator(DataUpdateCoordinator[Account]):
|
19
19
|
config_entry: MastodonConfigEntry
|
20
20
|
client: Incomplete
|
21
21
|
def __init__(self, hass: HomeAssistant, config_entry: MastodonConfigEntry, client: Mastodon) -> None: ...
|
22
|
-
async def _async_update_data(self) ->
|
22
|
+
async def _async_update_data(self) -> Account: ...
|
@@ -1,6 +1,7 @@
|
|
1
1
|
from .coordinator import MastodonConfigEntry as MastodonConfigEntry
|
2
2
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
3
|
+
from mastodon.Mastodon import Account as Account, Instance as Instance
|
3
4
|
from typing import Any
|
4
5
|
|
5
6
|
async def async_get_config_entry_diagnostics(hass: HomeAssistant, config_entry: MastodonConfigEntry) -> dict[str, Any]: ...
|
6
|
-
def get_diagnostics(config_entry: MastodonConfigEntry) -> tuple[
|
7
|
+
def get_diagnostics(config_entry: MastodonConfigEntry) -> tuple[Instance, Account]: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
|
1
|
+
from .const import DEFAULT_NAME as DEFAULT_NAME, DOMAIN as DOMAIN
|
2
2
|
from .coordinator import MastodonConfigEntry as MastodonConfigEntry, MastodonCoordinator as MastodonCoordinator
|
3
3
|
from .utils import construct_mastodon_username as construct_mastodon_username
|
4
4
|
from _typeshed import Incomplete
|
@@ -6,7 +6,8 @@ from homeassistant.const import CONF_ACCESS_TOKEN as CONF_ACCESS_TOKEN, CONF_CLI
|
|
6
6
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
7
7
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
|
8
8
|
from homeassistant.helpers.typing import ConfigType as ConfigType, DiscoveryInfoType as DiscoveryInfoType
|
9
|
-
from mastodon import Mastodon
|
9
|
+
from mastodon import Mastodon
|
10
|
+
from mastodon.Mastodon import MediaAttachment as MediaAttachment
|
10
11
|
from typing import Any
|
11
12
|
|
12
13
|
ATTR_MEDIA: str
|
@@ -20,4 +21,4 @@ class MastodonNotificationService(BaseNotificationService):
|
|
20
21
|
client: Incomplete
|
21
22
|
def __init__(self, hass: HomeAssistant, client: Mastodon) -> None: ...
|
22
23
|
def send_message(self, message: str = '', **kwargs: Any) -> None: ...
|
23
|
-
def _upload_media(self, media_path: Any = None) ->
|
24
|
+
def _upload_media(self, media_path: Any = None) -> MediaAttachment: ...
|
@@ -1,4 +1,3 @@
|
|
1
|
-
from .const import ACCOUNT_FOLLOWERS_COUNT as ACCOUNT_FOLLOWERS_COUNT, ACCOUNT_FOLLOWING_COUNT as ACCOUNT_FOLLOWING_COUNT, ACCOUNT_STATUSES_COUNT as ACCOUNT_STATUSES_COUNT
|
2
1
|
from .coordinator import MastodonConfigEntry as MastodonConfigEntry
|
3
2
|
from .entity import MastodonEntity as MastodonEntity
|
4
3
|
from _typeshed import Incomplete
|
@@ -8,13 +7,13 @@ from homeassistant.components.sensor import SensorEntity as SensorEntity, Sensor
|
|
8
7
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
8
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback as AddConfigEntryEntitiesCallback
|
10
9
|
from homeassistant.helpers.typing import StateType as StateType
|
11
|
-
from
|
10
|
+
from mastodon.Mastodon import Account as Account
|
12
11
|
|
13
12
|
PARALLEL_UPDATES: int
|
14
13
|
|
15
14
|
@dataclass(frozen=True, kw_only=True)
|
16
15
|
class MastodonSensorEntityDescription(SensorEntityDescription):
|
17
|
-
value_fn: Callable[[
|
16
|
+
value_fn: Callable[[Account], StateType]
|
18
17
|
|
19
18
|
ENTITY_DESCRIPTIONS: Incomplete
|
20
19
|
|
@@ -7,6 +7,7 @@ from homeassistant.config_entries import ConfigEntryState as ConfigEntryState
|
|
7
7
|
from homeassistant.core import HomeAssistant as HomeAssistant, ServiceCall as ServiceCall, ServiceResponse as ServiceResponse
|
8
8
|
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError, ServiceValidationError as ServiceValidationError
|
9
9
|
from mastodon import Mastodon as Mastodon
|
10
|
+
from mastodon.Mastodon import MediaAttachment as MediaAttachment
|
10
11
|
|
11
12
|
class StatusVisibility(StrEnum):
|
12
13
|
PUBLIC = 'public'
|
@@ -1,7 +1,8 @@
|
|
1
|
-
from .const import
|
1
|
+
from .const import DEFAULT_NAME as DEFAULT_NAME
|
2
2
|
from mastodon import Mastodon
|
3
|
+
from mastodon.Mastodon import Account as Account, Instance as Instance, InstanceV2
|
3
4
|
from typing import Any
|
4
5
|
|
5
6
|
def create_mastodon_client(base_url: str, client_id: str, client_secret: str, access_token: str) -> Mastodon: ...
|
6
|
-
def construct_mastodon_username(instance:
|
7
|
+
def construct_mastodon_username(instance: InstanceV2 | Instance | None, account: Account | None) -> str: ...
|
7
8
|
def get_media_type(media_path: Any = None) -> Any: ...
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import asyncio
|
2
1
|
import voluptuous as vol
|
3
2
|
from .const import DOMAIN as DOMAIN
|
4
3
|
from _typeshed import Incomplete
|
@@ -24,17 +23,11 @@ class ModelContextProtocolTool(llm.Tool):
|
|
24
23
|
name: Incomplete
|
25
24
|
description: Incomplete
|
26
25
|
parameters: Incomplete
|
27
|
-
|
28
|
-
def __init__(self, name: str, description: str | None, parameters: vol.Schema,
|
26
|
+
server_url: Incomplete
|
27
|
+
def __init__(self, name: str, description: str | None, parameters: vol.Schema, server_url: str) -> None: ...
|
29
28
|
async def async_call(self, hass: HomeAssistant, tool_input: llm.ToolInput, llm_context: llm.LLMContext) -> JsonObjectType: ...
|
30
29
|
|
31
30
|
class ModelContextProtocolCoordinator(DataUpdateCoordinator[list[llm.Tool]]):
|
32
31
|
config_entry: ConfigEntry
|
33
|
-
_session: ClientSession | None
|
34
|
-
_setup_error: Exception | None
|
35
|
-
_stop: Incomplete
|
36
32
|
def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry) -> None: ...
|
37
|
-
async def _async_setup(self) -> None: ...
|
38
|
-
async def _connect(self, connected: asyncio.Event, stop: asyncio.Event) -> None: ...
|
39
|
-
async def close(self) -> None: ...
|
40
33
|
async def _async_update_data(self) -> list[llm.Tool]: ...
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import DOMAIN as DOMAIN
|
1
|
+
from .const import DOMAIN as DOMAIN
|
2
2
|
from _typeshed import Incomplete
|
3
3
|
from homeassistant.config_entries import ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult
|
4
4
|
from homeassistant.const import CONF_LLM_HASS_API as CONF_LLM_HASS_API
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from .const import CALL_TYPE_COIL as CALL_TYPE_COIL, CALL_TYPE_DISCRETE as CALL_TYPE_DISCRETE, CALL_TYPE_REGISTER_HOLDING as CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_REGISTER_INPUT as CALL_TYPE_REGISTER_INPUT, CALL_TYPE_X_COILS as CALL_TYPE_X_COILS, CALL_TYPE_X_REGISTER_HOLDINGS as CALL_TYPE_X_REGISTER_HOLDINGS, CONF_BAUDRATE as CONF_BAUDRATE, CONF_BYTESIZE as CONF_BYTESIZE, CONF_CLIMATES as CONF_CLIMATES, CONF_DATA_TYPE as CONF_DATA_TYPE, CONF_DEVICE_ADDRESS as CONF_DEVICE_ADDRESS, CONF_FANS as CONF_FANS, CONF_FAN_MODE_AUTO as CONF_FAN_MODE_AUTO, CONF_FAN_MODE_DIFFUSE as CONF_FAN_MODE_DIFFUSE, CONF_FAN_MODE_FOCUS as CONF_FAN_MODE_FOCUS, CONF_FAN_MODE_HIGH as CONF_FAN_MODE_HIGH, CONF_FAN_MODE_LOW as CONF_FAN_MODE_LOW, CONF_FAN_MODE_MEDIUM as CONF_FAN_MODE_MEDIUM, CONF_FAN_MODE_MIDDLE as CONF_FAN_MODE_MIDDLE, CONF_FAN_MODE_OFF as CONF_FAN_MODE_OFF, CONF_FAN_MODE_ON as CONF_FAN_MODE_ON, CONF_FAN_MODE_REGISTER as CONF_FAN_MODE_REGISTER, CONF_FAN_MODE_TOP as CONF_FAN_MODE_TOP, CONF_FAN_MODE_VALUES as CONF_FAN_MODE_VALUES, CONF_HVAC_MODE_AUTO as CONF_HVAC_MODE_AUTO, CONF_HVAC_MODE_COOL as CONF_HVAC_MODE_COOL, CONF_HVAC_MODE_DRY as CONF_HVAC_MODE_DRY, CONF_HVAC_MODE_FAN_ONLY as CONF_HVAC_MODE_FAN_ONLY, CONF_HVAC_MODE_HEAT as CONF_HVAC_MODE_HEAT, CONF_HVAC_MODE_HEAT_COOL as CONF_HVAC_MODE_HEAT_COOL, CONF_HVAC_MODE_OFF as CONF_HVAC_MODE_OFF, CONF_HVAC_MODE_REGISTER as CONF_HVAC_MODE_REGISTER, CONF_HVAC_MODE_VALUES as CONF_HVAC_MODE_VALUES, CONF_HVAC_OFF_VALUE as CONF_HVAC_OFF_VALUE, CONF_HVAC_ONOFF_COIL as CONF_HVAC_ONOFF_COIL, CONF_HVAC_ONOFF_REGISTER as CONF_HVAC_ONOFF_REGISTER, CONF_HVAC_ON_VALUE as CONF_HVAC_ON_VALUE, CONF_INPUT_TYPE as CONF_INPUT_TYPE, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MAX_VALUE as CONF_MAX_VALUE, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_MIN_VALUE as CONF_MIN_VALUE, CONF_MSG_WAIT as CONF_MSG_WAIT, CONF_NAN_VALUE as CONF_NAN_VALUE, CONF_PARITY as CONF_PARITY, CONF_PRECISION as CONF_PRECISION, CONF_SCALE as CONF_SCALE, CONF_SLAVE_COUNT as CONF_SLAVE_COUNT, CONF_STATE_CLOSED as CONF_STATE_CLOSED, CONF_STATE_CLOSING as CONF_STATE_CLOSING, CONF_STATE_OFF as CONF_STATE_OFF, CONF_STATE_ON as CONF_STATE_ON, CONF_STATE_OPEN as CONF_STATE_OPEN, CONF_STATE_OPENING as CONF_STATE_OPENING, CONF_STATUS_REGISTER as CONF_STATUS_REGISTER, CONF_STATUS_REGISTER_TYPE as CONF_STATUS_REGISTER_TYPE, CONF_STEP as CONF_STEP, CONF_STOPBITS as CONF_STOPBITS, CONF_SWAP as CONF_SWAP, CONF_SWAP_BYTE as CONF_SWAP_BYTE, CONF_SWAP_WORD as CONF_SWAP_WORD, CONF_SWAP_WORD_BYTE as CONF_SWAP_WORD_BYTE, CONF_SWING_MODE_REGISTER as CONF_SWING_MODE_REGISTER, CONF_SWING_MODE_SWING_BOTH as CONF_SWING_MODE_SWING_BOTH, CONF_SWING_MODE_SWING_HORIZ as CONF_SWING_MODE_SWING_HORIZ, CONF_SWING_MODE_SWING_OFF as CONF_SWING_MODE_SWING_OFF, CONF_SWING_MODE_SWING_ON as CONF_SWING_MODE_SWING_ON, CONF_SWING_MODE_SWING_VERT as CONF_SWING_MODE_SWING_VERT, CONF_SWING_MODE_VALUES as CONF_SWING_MODE_VALUES, CONF_TARGET_TEMP as CONF_TARGET_TEMP, CONF_TARGET_TEMP_WRITE_REGISTERS as CONF_TARGET_TEMP_WRITE_REGISTERS, CONF_VERIFY as CONF_VERIFY, CONF_VIRTUAL_COUNT as CONF_VIRTUAL_COUNT, CONF_WRITE_REGISTERS as CONF_WRITE_REGISTERS, CONF_WRITE_TYPE as CONF_WRITE_TYPE, CONF_ZERO_SUPPRESS as CONF_ZERO_SUPPRESS, DEFAULT_HUB as DEFAULT_HUB, DEFAULT_HVAC_OFF_VALUE as DEFAULT_HVAC_OFF_VALUE, DEFAULT_HVAC_ON_VALUE as DEFAULT_HVAC_ON_VALUE, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DEFAULT_TEMP_UNIT as DEFAULT_TEMP_UNIT, DataType as DataType, RTUOVERTCP as RTUOVERTCP, SERIAL as SERIAL, TCP as TCP, UDP as UDP
|
1
|
+
from .const import CALL_TYPE_COIL as CALL_TYPE_COIL, CALL_TYPE_DISCRETE as CALL_TYPE_DISCRETE, CALL_TYPE_REGISTER_HOLDING as CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_REGISTER_INPUT as CALL_TYPE_REGISTER_INPUT, CALL_TYPE_X_COILS as CALL_TYPE_X_COILS, CALL_TYPE_X_REGISTER_HOLDINGS as CALL_TYPE_X_REGISTER_HOLDINGS, CONF_BAUDRATE as CONF_BAUDRATE, CONF_BYTESIZE as CONF_BYTESIZE, CONF_CLIMATES as CONF_CLIMATES, CONF_DATA_TYPE as CONF_DATA_TYPE, CONF_DEVICE_ADDRESS as CONF_DEVICE_ADDRESS, CONF_FANS as CONF_FANS, CONF_FAN_MODE_AUTO as CONF_FAN_MODE_AUTO, CONF_FAN_MODE_DIFFUSE as CONF_FAN_MODE_DIFFUSE, CONF_FAN_MODE_FOCUS as CONF_FAN_MODE_FOCUS, CONF_FAN_MODE_HIGH as CONF_FAN_MODE_HIGH, CONF_FAN_MODE_LOW as CONF_FAN_MODE_LOW, CONF_FAN_MODE_MEDIUM as CONF_FAN_MODE_MEDIUM, CONF_FAN_MODE_MIDDLE as CONF_FAN_MODE_MIDDLE, CONF_FAN_MODE_OFF as CONF_FAN_MODE_OFF, CONF_FAN_MODE_ON as CONF_FAN_MODE_ON, CONF_FAN_MODE_REGISTER as CONF_FAN_MODE_REGISTER, CONF_FAN_MODE_TOP as CONF_FAN_MODE_TOP, CONF_FAN_MODE_VALUES as CONF_FAN_MODE_VALUES, CONF_HVAC_ACTION_COOLING as CONF_HVAC_ACTION_COOLING, CONF_HVAC_ACTION_DEFROSTING as CONF_HVAC_ACTION_DEFROSTING, CONF_HVAC_ACTION_DRYING as CONF_HVAC_ACTION_DRYING, CONF_HVAC_ACTION_FAN as CONF_HVAC_ACTION_FAN, CONF_HVAC_ACTION_HEATING as CONF_HVAC_ACTION_HEATING, CONF_HVAC_ACTION_IDLE as CONF_HVAC_ACTION_IDLE, CONF_HVAC_ACTION_OFF as CONF_HVAC_ACTION_OFF, CONF_HVAC_ACTION_PREHEATING as CONF_HVAC_ACTION_PREHEATING, CONF_HVAC_ACTION_REGISTER as CONF_HVAC_ACTION_REGISTER, CONF_HVAC_ACTION_VALUES as CONF_HVAC_ACTION_VALUES, CONF_HVAC_MODE_AUTO as CONF_HVAC_MODE_AUTO, CONF_HVAC_MODE_COOL as CONF_HVAC_MODE_COOL, CONF_HVAC_MODE_DRY as CONF_HVAC_MODE_DRY, CONF_HVAC_MODE_FAN_ONLY as CONF_HVAC_MODE_FAN_ONLY, CONF_HVAC_MODE_HEAT as CONF_HVAC_MODE_HEAT, CONF_HVAC_MODE_HEAT_COOL as CONF_HVAC_MODE_HEAT_COOL, CONF_HVAC_MODE_OFF as CONF_HVAC_MODE_OFF, CONF_HVAC_MODE_REGISTER as CONF_HVAC_MODE_REGISTER, CONF_HVAC_MODE_VALUES as CONF_HVAC_MODE_VALUES, CONF_HVAC_OFF_VALUE as CONF_HVAC_OFF_VALUE, CONF_HVAC_ONOFF_COIL as CONF_HVAC_ONOFF_COIL, CONF_HVAC_ONOFF_REGISTER as CONF_HVAC_ONOFF_REGISTER, CONF_HVAC_ON_VALUE as CONF_HVAC_ON_VALUE, CONF_INPUT_TYPE as CONF_INPUT_TYPE, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MAX_VALUE as CONF_MAX_VALUE, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_MIN_VALUE as CONF_MIN_VALUE, CONF_MSG_WAIT as CONF_MSG_WAIT, CONF_NAN_VALUE as CONF_NAN_VALUE, CONF_PARITY as CONF_PARITY, CONF_PRECISION as CONF_PRECISION, CONF_SCALE as CONF_SCALE, CONF_SLAVE_COUNT as CONF_SLAVE_COUNT, CONF_STATE_CLOSED as CONF_STATE_CLOSED, CONF_STATE_CLOSING as CONF_STATE_CLOSING, CONF_STATE_OFF as CONF_STATE_OFF, CONF_STATE_ON as CONF_STATE_ON, CONF_STATE_OPEN as CONF_STATE_OPEN, CONF_STATE_OPENING as CONF_STATE_OPENING, CONF_STATUS_REGISTER as CONF_STATUS_REGISTER, CONF_STATUS_REGISTER_TYPE as CONF_STATUS_REGISTER_TYPE, CONF_STEP as CONF_STEP, CONF_STOPBITS as CONF_STOPBITS, CONF_SWAP as CONF_SWAP, CONF_SWAP_BYTE as CONF_SWAP_BYTE, CONF_SWAP_WORD as CONF_SWAP_WORD, CONF_SWAP_WORD_BYTE as CONF_SWAP_WORD_BYTE, CONF_SWING_MODE_REGISTER as CONF_SWING_MODE_REGISTER, CONF_SWING_MODE_SWING_BOTH as CONF_SWING_MODE_SWING_BOTH, CONF_SWING_MODE_SWING_HORIZ as CONF_SWING_MODE_SWING_HORIZ, CONF_SWING_MODE_SWING_OFF as CONF_SWING_MODE_SWING_OFF, CONF_SWING_MODE_SWING_ON as CONF_SWING_MODE_SWING_ON, CONF_SWING_MODE_SWING_VERT as CONF_SWING_MODE_SWING_VERT, CONF_SWING_MODE_VALUES as CONF_SWING_MODE_VALUES, CONF_TARGET_TEMP as CONF_TARGET_TEMP, CONF_TARGET_TEMP_WRITE_REGISTERS as CONF_TARGET_TEMP_WRITE_REGISTERS, CONF_VERIFY as CONF_VERIFY, CONF_VIRTUAL_COUNT as CONF_VIRTUAL_COUNT, CONF_WRITE_REGISTERS as CONF_WRITE_REGISTERS, CONF_WRITE_TYPE as CONF_WRITE_TYPE, CONF_ZERO_SUPPRESS as CONF_ZERO_SUPPRESS, DEFAULT_HUB as DEFAULT_HUB, DEFAULT_HVAC_OFF_VALUE as DEFAULT_HVAC_OFF_VALUE, DEFAULT_HVAC_ON_VALUE as DEFAULT_HVAC_ON_VALUE, DEFAULT_SCAN_INTERVAL as DEFAULT_SCAN_INTERVAL, DEFAULT_TEMP_UNIT as DEFAULT_TEMP_UNIT, DataType as DataType, RTUOVERTCP as RTUOVERTCP, SERIAL as SERIAL, TCP as TCP, UDP as UDP
|
2
2
|
from .modbus import DATA_MODBUS_HUBS as DATA_MODBUS_HUBS, ModbusHub as ModbusHub, async_modbus_setup as async_modbus_setup
|
3
3
|
from .validators import duplicate_fan_mode_validator as duplicate_fan_mode_validator, duplicate_swing_mode_validator as duplicate_swing_mode_validator, hvac_fixedsize_reglist_validator as hvac_fixedsize_reglist_validator, nan_validator as nan_validator, register_int_list_validator as register_int_list_validator, struct_validator as struct_validator
|
4
4
|
from _typeshed import Incomplete
|
@@ -1,9 +1,9 @@
|
|
1
1
|
from . import get_hub as get_hub
|
2
|
-
from .const import CALL_TYPE_COIL as CALL_TYPE_COIL, CALL_TYPE_REGISTER_HOLDING as CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_WRITE_COIL as CALL_TYPE_WRITE_COIL, CALL_TYPE_WRITE_REGISTER as CALL_TYPE_WRITE_REGISTER, CALL_TYPE_WRITE_REGISTERS as CALL_TYPE_WRITE_REGISTERS, CONF_CLIMATES as CONF_CLIMATES, CONF_FAN_MODE_AUTO as CONF_FAN_MODE_AUTO, CONF_FAN_MODE_DIFFUSE as CONF_FAN_MODE_DIFFUSE, CONF_FAN_MODE_FOCUS as CONF_FAN_MODE_FOCUS, CONF_FAN_MODE_HIGH as CONF_FAN_MODE_HIGH, CONF_FAN_MODE_LOW as CONF_FAN_MODE_LOW, CONF_FAN_MODE_MEDIUM as CONF_FAN_MODE_MEDIUM, CONF_FAN_MODE_MIDDLE as CONF_FAN_MODE_MIDDLE, CONF_FAN_MODE_OFF as CONF_FAN_MODE_OFF, CONF_FAN_MODE_ON as CONF_FAN_MODE_ON, CONF_FAN_MODE_REGISTER as CONF_FAN_MODE_REGISTER, CONF_FAN_MODE_TOP as CONF_FAN_MODE_TOP, CONF_FAN_MODE_VALUES as CONF_FAN_MODE_VALUES, CONF_HVAC_MODE_AUTO as CONF_HVAC_MODE_AUTO, CONF_HVAC_MODE_COOL as CONF_HVAC_MODE_COOL, CONF_HVAC_MODE_DRY as CONF_HVAC_MODE_DRY, CONF_HVAC_MODE_FAN_ONLY as CONF_HVAC_MODE_FAN_ONLY, CONF_HVAC_MODE_HEAT as CONF_HVAC_MODE_HEAT, CONF_HVAC_MODE_HEAT_COOL as CONF_HVAC_MODE_HEAT_COOL, CONF_HVAC_MODE_OFF as CONF_HVAC_MODE_OFF, CONF_HVAC_MODE_REGISTER as CONF_HVAC_MODE_REGISTER, CONF_HVAC_MODE_VALUES as CONF_HVAC_MODE_VALUES, CONF_HVAC_OFF_VALUE as CONF_HVAC_OFF_VALUE, CONF_HVAC_ONOFF_COIL as CONF_HVAC_ONOFF_COIL, CONF_HVAC_ONOFF_REGISTER as CONF_HVAC_ONOFF_REGISTER, CONF_HVAC_ON_VALUE as CONF_HVAC_ON_VALUE, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_STEP as CONF_STEP, CONF_SWING_MODE_REGISTER as CONF_SWING_MODE_REGISTER, CONF_SWING_MODE_SWING_BOTH as CONF_SWING_MODE_SWING_BOTH, CONF_SWING_MODE_SWING_HORIZ as CONF_SWING_MODE_SWING_HORIZ, CONF_SWING_MODE_SWING_OFF as CONF_SWING_MODE_SWING_OFF, CONF_SWING_MODE_SWING_ON as CONF_SWING_MODE_SWING_ON, CONF_SWING_MODE_SWING_VERT as CONF_SWING_MODE_SWING_VERT, CONF_SWING_MODE_VALUES as CONF_SWING_MODE_VALUES, CONF_TARGET_TEMP as CONF_TARGET_TEMP, CONF_TARGET_TEMP_WRITE_REGISTERS as CONF_TARGET_TEMP_WRITE_REGISTERS, CONF_WRITE_REGISTERS as CONF_WRITE_REGISTERS, DataType as DataType
|
2
|
+
from .const import CALL_TYPE_COIL as CALL_TYPE_COIL, CALL_TYPE_REGISTER_HOLDING as CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_WRITE_COIL as CALL_TYPE_WRITE_COIL, CALL_TYPE_WRITE_REGISTER as CALL_TYPE_WRITE_REGISTER, CALL_TYPE_WRITE_REGISTERS as CALL_TYPE_WRITE_REGISTERS, CONF_CLIMATES as CONF_CLIMATES, CONF_FAN_MODE_AUTO as CONF_FAN_MODE_AUTO, CONF_FAN_MODE_DIFFUSE as CONF_FAN_MODE_DIFFUSE, CONF_FAN_MODE_FOCUS as CONF_FAN_MODE_FOCUS, CONF_FAN_MODE_HIGH as CONF_FAN_MODE_HIGH, CONF_FAN_MODE_LOW as CONF_FAN_MODE_LOW, CONF_FAN_MODE_MEDIUM as CONF_FAN_MODE_MEDIUM, CONF_FAN_MODE_MIDDLE as CONF_FAN_MODE_MIDDLE, CONF_FAN_MODE_OFF as CONF_FAN_MODE_OFF, CONF_FAN_MODE_ON as CONF_FAN_MODE_ON, CONF_FAN_MODE_REGISTER as CONF_FAN_MODE_REGISTER, CONF_FAN_MODE_TOP as CONF_FAN_MODE_TOP, CONF_FAN_MODE_VALUES as CONF_FAN_MODE_VALUES, CONF_HVAC_ACTION_COOLING as CONF_HVAC_ACTION_COOLING, CONF_HVAC_ACTION_DEFROSTING as CONF_HVAC_ACTION_DEFROSTING, CONF_HVAC_ACTION_DRYING as CONF_HVAC_ACTION_DRYING, CONF_HVAC_ACTION_FAN as CONF_HVAC_ACTION_FAN, CONF_HVAC_ACTION_HEATING as CONF_HVAC_ACTION_HEATING, CONF_HVAC_ACTION_IDLE as CONF_HVAC_ACTION_IDLE, CONF_HVAC_ACTION_OFF as CONF_HVAC_ACTION_OFF, CONF_HVAC_ACTION_PREHEATING as CONF_HVAC_ACTION_PREHEATING, CONF_HVAC_ACTION_REGISTER as CONF_HVAC_ACTION_REGISTER, CONF_HVAC_ACTION_VALUES as CONF_HVAC_ACTION_VALUES, CONF_HVAC_MODE_AUTO as CONF_HVAC_MODE_AUTO, CONF_HVAC_MODE_COOL as CONF_HVAC_MODE_COOL, CONF_HVAC_MODE_DRY as CONF_HVAC_MODE_DRY, CONF_HVAC_MODE_FAN_ONLY as CONF_HVAC_MODE_FAN_ONLY, CONF_HVAC_MODE_HEAT as CONF_HVAC_MODE_HEAT, CONF_HVAC_MODE_HEAT_COOL as CONF_HVAC_MODE_HEAT_COOL, CONF_HVAC_MODE_OFF as CONF_HVAC_MODE_OFF, CONF_HVAC_MODE_REGISTER as CONF_HVAC_MODE_REGISTER, CONF_HVAC_MODE_VALUES as CONF_HVAC_MODE_VALUES, CONF_HVAC_OFF_VALUE as CONF_HVAC_OFF_VALUE, CONF_HVAC_ONOFF_COIL as CONF_HVAC_ONOFF_COIL, CONF_HVAC_ONOFF_REGISTER as CONF_HVAC_ONOFF_REGISTER, CONF_HVAC_ON_VALUE as CONF_HVAC_ON_VALUE, CONF_INPUT_TYPE as CONF_INPUT_TYPE, CONF_MAX_TEMP as CONF_MAX_TEMP, CONF_MIN_TEMP as CONF_MIN_TEMP, CONF_STEP as CONF_STEP, CONF_SWING_MODE_REGISTER as CONF_SWING_MODE_REGISTER, CONF_SWING_MODE_SWING_BOTH as CONF_SWING_MODE_SWING_BOTH, CONF_SWING_MODE_SWING_HORIZ as CONF_SWING_MODE_SWING_HORIZ, CONF_SWING_MODE_SWING_OFF as CONF_SWING_MODE_SWING_OFF, CONF_SWING_MODE_SWING_ON as CONF_SWING_MODE_SWING_ON, CONF_SWING_MODE_SWING_VERT as CONF_SWING_MODE_SWING_VERT, CONF_SWING_MODE_VALUES as CONF_SWING_MODE_VALUES, CONF_TARGET_TEMP as CONF_TARGET_TEMP, CONF_TARGET_TEMP_WRITE_REGISTERS as CONF_TARGET_TEMP_WRITE_REGISTERS, CONF_WRITE_REGISTERS as CONF_WRITE_REGISTERS, DataType as DataType
|
3
3
|
from .entity import BaseStructPlatform as BaseStructPlatform
|
4
4
|
from .modbus import ModbusHub as ModbusHub
|
5
5
|
from _typeshed import Incomplete
|
6
|
-
from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_AUTO as FAN_AUTO, FAN_DIFFUSE as FAN_DIFFUSE, FAN_FOCUS as FAN_FOCUS, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, FAN_MIDDLE as FAN_MIDDLE, FAN_OFF as FAN_OFF, FAN_ON as FAN_ON, FAN_TOP as FAN_TOP, HVACMode as HVACMode, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_ON as SWING_ON, SWING_VERTICAL as SWING_VERTICAL
|
6
|
+
from homeassistant.components.climate import ClimateEntity as ClimateEntity, ClimateEntityFeature as ClimateEntityFeature, FAN_AUTO as FAN_AUTO, FAN_DIFFUSE as FAN_DIFFUSE, FAN_FOCUS as FAN_FOCUS, FAN_HIGH as FAN_HIGH, FAN_LOW as FAN_LOW, FAN_MEDIUM as FAN_MEDIUM, FAN_MIDDLE as FAN_MIDDLE, FAN_OFF as FAN_OFF, FAN_ON as FAN_ON, FAN_TOP as FAN_TOP, HVACAction as HVACAction, HVACMode as HVACMode, SWING_BOTH as SWING_BOTH, SWING_HORIZONTAL as SWING_HORIZONTAL, SWING_OFF as SWING_OFF, SWING_ON as SWING_ON, SWING_VERTICAL as SWING_VERTICAL
|
7
7
|
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, CONF_ADDRESS as CONF_ADDRESS, CONF_NAME as CONF_NAME, CONF_TEMPERATURE_UNIT as CONF_TEMPERATURE_UNIT, PRECISION_TENTHS as PRECISION_TENTHS, PRECISION_WHOLE as PRECISION_WHOLE, STATE_UNKNOWN as STATE_UNKNOWN, UnitOfTemperature as UnitOfTemperature
|
8
8
|
from homeassistant.core import HomeAssistant as HomeAssistant
|
9
9
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
|
@@ -34,6 +34,10 @@ class ModbusThermostat(BaseStructPlatform, RestoreEntity, ClimateEntity):
|
|
34
34
|
_attr_hvac_mode: Incomplete
|
35
35
|
_hvac_mode_mapping: list[tuple[int, HVACMode]]
|
36
36
|
_hvac_mode_write_registers: Incomplete
|
37
|
+
_hvac_action_register: Incomplete
|
38
|
+
_hvac_action_type: Incomplete
|
39
|
+
_attr_hvac_action: Incomplete
|
40
|
+
_hvac_action_mapping: list[tuple[int, HVACAction]]
|
37
41
|
_fan_mode_register: Incomplete
|
38
42
|
_attr_fan_modes: Incomplete
|
39
43
|
_attr_fan_mode: Incomplete
|
@@ -52,6 +52,16 @@ CONF_HVAC_ONOFF_REGISTER: str
|
|
52
52
|
CONF_HVAC_ON_VALUE: str
|
53
53
|
CONF_HVAC_OFF_VALUE: str
|
54
54
|
CONF_HVAC_ONOFF_COIL: str
|
55
|
+
CONF_HVAC_ACTION_REGISTER: str
|
56
|
+
CONF_HVAC_ACTION_COOLING: str
|
57
|
+
CONF_HVAC_ACTION_DEFROSTING: str
|
58
|
+
CONF_HVAC_ACTION_DRYING: str
|
59
|
+
CONF_HVAC_ACTION_FAN: str
|
60
|
+
CONF_HVAC_ACTION_HEATING: str
|
61
|
+
CONF_HVAC_ACTION_IDLE: str
|
62
|
+
CONF_HVAC_ACTION_OFF: str
|
63
|
+
CONF_HVAC_ACTION_PREHEATING: str
|
64
|
+
CONF_HVAC_ACTION_VALUES: str
|
55
65
|
CONF_HVAC_MODE_OFF: str
|
56
66
|
CONF_HVAC_MODE_HEAT: str
|
57
67
|
CONF_HVAC_MODE_COOL: str
|
@@ -1,20 +1,26 @@
|
|
1
1
|
import asyncio
|
2
|
+
import voluptuous as vol
|
2
3
|
from .addon import get_addon_manager as get_addon_manager
|
3
4
|
from .client import MqttClientSetup as MqttClientSetup
|
4
|
-
from .const import ATTR_PAYLOAD as ATTR_PAYLOAD, ATTR_QOS as ATTR_QOS, ATTR_RETAIN as ATTR_RETAIN, ATTR_TOPIC as ATTR_TOPIC, CONFIG_ENTRY_MINOR_VERSION as CONFIG_ENTRY_MINOR_VERSION, CONFIG_ENTRY_VERSION as CONFIG_ENTRY_VERSION, CONF_BIRTH_MESSAGE as CONF_BIRTH_MESSAGE, CONF_BROKER as CONF_BROKER, CONF_CERTIFICATE as CONF_CERTIFICATE, CONF_CLIENT_CERT as CONF_CLIENT_CERT, CONF_CLIENT_KEY as CONF_CLIENT_KEY, CONF_DISCOVERY_PREFIX as CONF_DISCOVERY_PREFIX, CONF_KEEPALIVE as CONF_KEEPALIVE, CONF_TLS_INSECURE as CONF_TLS_INSECURE, CONF_TRANSPORT as CONF_TRANSPORT, CONF_WILL_MESSAGE as CONF_WILL_MESSAGE, CONF_WS_HEADERS as CONF_WS_HEADERS, CONF_WS_PATH as CONF_WS_PATH, DEFAULT_BIRTH as DEFAULT_BIRTH, DEFAULT_DISCOVERY as DEFAULT_DISCOVERY, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_KEEPALIVE as DEFAULT_KEEPALIVE, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_PREFIX as DEFAULT_PREFIX, DEFAULT_PROTOCOL as DEFAULT_PROTOCOL, DEFAULT_TRANSPORT as DEFAULT_TRANSPORT, DEFAULT_WILL as DEFAULT_WILL, DEFAULT_WS_PATH as DEFAULT_WS_PATH, DOMAIN as DOMAIN, SUPPORTED_PROTOCOLS as SUPPORTED_PROTOCOLS, TRANSPORT_TCP as TRANSPORT_TCP, TRANSPORT_WEBSOCKETS as TRANSPORT_WEBSOCKETS
|
5
|
-
from .
|
5
|
+
from .const import ATTR_PAYLOAD as ATTR_PAYLOAD, ATTR_QOS as ATTR_QOS, ATTR_RETAIN as ATTR_RETAIN, ATTR_TOPIC as ATTR_TOPIC, CONFIG_ENTRY_MINOR_VERSION as CONFIG_ENTRY_MINOR_VERSION, CONFIG_ENTRY_VERSION as CONFIG_ENTRY_VERSION, CONF_AVAILABILITY_TEMPLATE as CONF_AVAILABILITY_TEMPLATE, CONF_AVAILABILITY_TOPIC as CONF_AVAILABILITY_TOPIC, CONF_BIRTH_MESSAGE as CONF_BIRTH_MESSAGE, CONF_BROKER as CONF_BROKER, CONF_CERTIFICATE as CONF_CERTIFICATE, CONF_CLIENT_CERT as CONF_CLIENT_CERT, CONF_CLIENT_KEY as CONF_CLIENT_KEY, CONF_COMMAND_TEMPLATE as CONF_COMMAND_TEMPLATE, CONF_COMMAND_TOPIC as CONF_COMMAND_TOPIC, CONF_DISCOVERY_PREFIX as CONF_DISCOVERY_PREFIX, CONF_ENTITY_PICTURE as CONF_ENTITY_PICTURE, CONF_EXPIRE_AFTER as CONF_EXPIRE_AFTER, CONF_KEEPALIVE as CONF_KEEPALIVE, CONF_LAST_RESET_VALUE_TEMPLATE as CONF_LAST_RESET_VALUE_TEMPLATE, CONF_OPTIONS as CONF_OPTIONS, CONF_PAYLOAD_AVAILABLE as CONF_PAYLOAD_AVAILABLE, CONF_PAYLOAD_NOT_AVAILABLE as CONF_PAYLOAD_NOT_AVAILABLE, CONF_QOS as CONF_QOS, CONF_RETAIN as CONF_RETAIN, CONF_STATE_TOPIC as CONF_STATE_TOPIC, CONF_SUGGESTED_DISPLAY_PRECISION as CONF_SUGGESTED_DISPLAY_PRECISION, CONF_TLS_INSECURE as CONF_TLS_INSECURE, CONF_TRANSPORT as CONF_TRANSPORT, CONF_WILL_MESSAGE as CONF_WILL_MESSAGE, CONF_WS_HEADERS as CONF_WS_HEADERS, CONF_WS_PATH as CONF_WS_PATH, DEFAULT_BIRTH as DEFAULT_BIRTH, DEFAULT_DISCOVERY as DEFAULT_DISCOVERY, DEFAULT_ENCODING as DEFAULT_ENCODING, DEFAULT_KEEPALIVE as DEFAULT_KEEPALIVE, DEFAULT_PAYLOAD_AVAILABLE as DEFAULT_PAYLOAD_AVAILABLE, DEFAULT_PAYLOAD_NOT_AVAILABLE as DEFAULT_PAYLOAD_NOT_AVAILABLE, DEFAULT_PORT as DEFAULT_PORT, DEFAULT_PREFIX as DEFAULT_PREFIX, DEFAULT_PROTOCOL as DEFAULT_PROTOCOL, DEFAULT_QOS as DEFAULT_QOS, DEFAULT_TRANSPORT as DEFAULT_TRANSPORT, DEFAULT_WILL as DEFAULT_WILL, DEFAULT_WS_PATH as DEFAULT_WS_PATH, DOMAIN as DOMAIN, Platform as Platform, SUPPORTED_PROTOCOLS as SUPPORTED_PROTOCOLS, TRANSPORT_TCP as TRANSPORT_TCP, TRANSPORT_WEBSOCKETS as TRANSPORT_WEBSOCKETS
|
6
|
+
from .models import MqttAvailabilityData as MqttAvailabilityData, MqttDeviceData as MqttDeviceData, MqttSubentryData as MqttSubentryData
|
7
|
+
from .util import async_create_certificate_temp_files as async_create_certificate_temp_files, get_file_path as get_file_path, learn_more_url as learn_more_url, valid_birth_will as valid_birth_will, valid_publish_topic as valid_publish_topic, valid_qos_schema as valid_qos_schema, valid_subscribe_topic as valid_subscribe_topic, valid_subscribe_topic_template as valid_subscribe_topic_template
|
6
8
|
from _typeshed import Incomplete
|
7
9
|
from collections import OrderedDict
|
8
10
|
from collections.abc import Callable as Callable, Mapping
|
11
|
+
from dataclasses import dataclass
|
12
|
+
from enum import IntEnum
|
9
13
|
from homeassistant.components.file_upload import process_uploaded_file as process_uploaded_file
|
10
14
|
from homeassistant.components.hassio import AddonError as AddonError, AddonManager as AddonManager, AddonState as AddonState
|
11
|
-
from homeassistant.
|
12
|
-
from homeassistant.
|
15
|
+
from homeassistant.components.sensor import CONF_STATE_CLASS as CONF_STATE_CLASS, DEVICE_CLASS_UNITS as DEVICE_CLASS_UNITS, SensorDeviceClass as SensorDeviceClass, SensorStateClass as SensorStateClass
|
16
|
+
from homeassistant.components.switch import SwitchDeviceClass as SwitchDeviceClass
|
17
|
+
from homeassistant.config_entries import ConfigEntry as ConfigEntry, ConfigFlow as ConfigFlow, ConfigFlowResult as ConfigFlowResult, ConfigSubentryFlow as ConfigSubentryFlow, OptionsFlow as OptionsFlow, SOURCE_RECONFIGURE as SOURCE_RECONFIGURE, SubentryFlowResult as SubentryFlowResult
|
18
|
+
from homeassistant.const import ATTR_CONFIGURATION_URL as ATTR_CONFIGURATION_URL, ATTR_HW_VERSION as ATTR_HW_VERSION, ATTR_MODEL as ATTR_MODEL, ATTR_MODEL_ID as ATTR_MODEL_ID, ATTR_NAME as ATTR_NAME, ATTR_SW_VERSION as ATTR_SW_VERSION, CONF_CLIENT_ID as CONF_CLIENT_ID, CONF_DEVICE as CONF_DEVICE, CONF_DEVICE_CLASS as CONF_DEVICE_CLASS, CONF_DISCOVERY as CONF_DISCOVERY, CONF_HOST as CONF_HOST, CONF_NAME as CONF_NAME, CONF_OPTIMISTIC as CONF_OPTIMISTIC, CONF_PASSWORD as CONF_PASSWORD, CONF_PAYLOAD as CONF_PAYLOAD, CONF_PLATFORM as CONF_PLATFORM, CONF_PORT as CONF_PORT, CONF_PROTOCOL as CONF_PROTOCOL, CONF_UNIT_OF_MEASUREMENT as CONF_UNIT_OF_MEASUREMENT, CONF_USERNAME as CONF_USERNAME, CONF_VALUE_TEMPLATE as CONF_VALUE_TEMPLATE
|
13
19
|
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
|
14
|
-
from homeassistant.data_entry_flow import AbortFlow as AbortFlow
|
20
|
+
from homeassistant.data_entry_flow import AbortFlow as AbortFlow, SectionConfig as SectionConfig, section as section
|
15
21
|
from homeassistant.helpers.hassio import is_hassio as is_hassio
|
16
22
|
from homeassistant.helpers.json import json_dumps as json_dumps
|
17
|
-
from homeassistant.helpers.selector import BooleanSelector as BooleanSelector, FileSelector as FileSelector, FileSelectorConfig as FileSelectorConfig, NumberSelector as NumberSelector, NumberSelectorConfig as NumberSelectorConfig, NumberSelectorMode as NumberSelectorMode, SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
|
23
|
+
from homeassistant.helpers.selector import BooleanSelector as BooleanSelector, FileSelector as FileSelector, FileSelectorConfig as FileSelectorConfig, NumberSelector as NumberSelector, NumberSelectorConfig as NumberSelectorConfig, NumberSelectorMode as NumberSelectorMode, SelectOptionDict as SelectOptionDict, SelectSelector as SelectSelector, SelectSelectorConfig as SelectSelectorConfig, SelectSelectorMode as SelectSelectorMode, Selector as Selector, TemplateSelector as TemplateSelector, TemplateSelectorConfig as TemplateSelectorConfig, TextSelector as TextSelector, TextSelectorConfig as TextSelectorConfig, TextSelectorType as TextSelectorType
|
18
24
|
from homeassistant.helpers.service_info.hassio import HassioServiceInfo as HassioServiceInfo
|
19
25
|
from homeassistant.util.json import JSON_DECODE_EXCEPTIONS as JSON_DECODE_EXCEPTIONS, json_loads as json_loads
|
20
26
|
from types import MappingProxyType
|
@@ -23,6 +29,7 @@ from typing import Any
|
|
23
29
|
_LOGGER: Incomplete
|
24
30
|
ADDON_SETUP_TIMEOUT: int
|
25
31
|
ADDON_SETUP_TIMEOUT_ROUNDS: int
|
32
|
+
CONF_CLIENT_KEY_PASSWORD: str
|
26
33
|
MQTT_TIMEOUT: int
|
27
34
|
ADVANCED_OPTIONS: str
|
28
35
|
SET_CA_CERT: str
|
@@ -33,6 +40,7 @@ PUBLISH_TOPIC_SELECTOR: Incomplete
|
|
33
40
|
PORT_SELECTOR: Incomplete
|
34
41
|
PASSWORD_SELECTOR: Incomplete
|
35
42
|
QOS_SELECTOR: Incomplete
|
43
|
+
QOS_DATA_SCHEMA: Incomplete
|
36
44
|
KEEPALIVE_SELECTOR: Incomplete
|
37
45
|
PROTOCOL_SELECTOR: Incomplete
|
38
46
|
SUPPORTED_TRANSPORTS: Incomplete
|
@@ -43,11 +51,55 @@ BROKER_VERIFICATION_SELECTOR: Incomplete
|
|
43
51
|
CA_CERT_UPLOAD_SELECTOR: Incomplete
|
44
52
|
CERT_UPLOAD_SELECTOR: Incomplete
|
45
53
|
KEY_UPLOAD_SELECTOR: Incomplete
|
54
|
+
SUBENTRY_PLATFORMS: Incomplete
|
55
|
+
SUBENTRY_PLATFORM_SELECTOR: Incomplete
|
56
|
+
TEMPLATE_SELECTOR: Incomplete
|
57
|
+
SUBENTRY_AVAILABILITY_SCHEMA: Incomplete
|
58
|
+
SENSOR_DEVICE_CLASS_SELECTOR: Incomplete
|
59
|
+
SENSOR_STATE_CLASS_SELECTOR: Incomplete
|
60
|
+
OPTIONS_SELECTOR: Incomplete
|
61
|
+
SUGGESTED_DISPLAY_PRECISION_SELECTOR: Incomplete
|
62
|
+
EXPIRE_AFTER_SELECTOR: Incomplete
|
63
|
+
SWITCH_DEVICE_CLASS_SELECTOR: Incomplete
|
64
|
+
|
65
|
+
@callback
|
66
|
+
def validate_sensor_platform_config(config: dict[str, Any]) -> dict[str, str]: ...
|
67
|
+
|
68
|
+
@dataclass(frozen=True)
|
69
|
+
class PlatformField:
|
70
|
+
selector: Selector[Any] | Callable[..., Selector[Any]]
|
71
|
+
required: bool
|
72
|
+
validator: Callable[..., Any]
|
73
|
+
error: str | None = ...
|
74
|
+
default: str | int | vol.Undefined = ...
|
75
|
+
exclude_from_reconfig: bool = ...
|
76
|
+
conditions: tuple[dict[str, Any], ...] | None = ...
|
77
|
+
custom_filtering: bool = ...
|
78
|
+
section: str | None = ...
|
79
|
+
|
80
|
+
@callback
|
81
|
+
def unit_of_measurement_selector(user_data: dict[str, Any | None]) -> Selector: ...
|
82
|
+
|
83
|
+
COMMON_ENTITY_FIELDS: Incomplete
|
84
|
+
PLATFORM_ENTITY_FIELDS: Incomplete
|
85
|
+
PLATFORM_MQTT_FIELDS: Incomplete
|
86
|
+
ENTITY_CONFIG_VALIDATOR: dict[str, Callable[[dict[str, Any]], dict[str, str]] | None]
|
87
|
+
MQTT_DEVICE_PLATFORM_FIELDS: Incomplete
|
46
88
|
REAUTH_SCHEMA: Incomplete
|
47
89
|
PWD_NOT_CHANGED: str
|
48
90
|
|
49
91
|
@callback
|
50
92
|
def update_password_from_user_input(entry_password: str | None, user_input: dict[str, Any]) -> dict[str, Any]: ...
|
93
|
+
@callback
|
94
|
+
def validate_field(field: str, validator: Callable[..., Any], user_input: dict[str, Any] | None, errors: dict[str, str], error: str) -> None: ...
|
95
|
+
@callback
|
96
|
+
def _check_conditions(platform_field: PlatformField, component_data: dict[str, Any] | None = None) -> bool: ...
|
97
|
+
@callback
|
98
|
+
def calculate_merged_config(merged_user_input: dict[str, Any], data_schema_fields: dict[str, PlatformField], component_data: dict[str, Any]) -> dict[str, Any]: ...
|
99
|
+
@callback
|
100
|
+
def validate_user_input(user_input: dict[str, Any], data_schema_fields: dict[str, PlatformField], *, component_data: dict[str, Any] | None = None, config_validator: Callable[[dict[str, Any]], dict[str, str]] | None = None) -> tuple[dict[str, Any], dict[str, str]]: ...
|
101
|
+
@callback
|
102
|
+
def data_schema_from_fields(data_schema_fields: dict[str, PlatformField], reconfig: bool, component_data: dict[str, Any] | None = None, user_input: dict[str, Any] | None = None, device_data: MqttDeviceData | None = None) -> vol.Schema: ...
|
51
103
|
|
52
104
|
class FlowHandler(ConfigFlow, domain=DOMAIN):
|
53
105
|
VERSION = CONFIG_ENTRY_VERSION
|
@@ -57,6 +109,9 @@ class FlowHandler(ConfigFlow, domain=DOMAIN):
|
|
57
109
|
install_task: asyncio.Task | None
|
58
110
|
start_task: asyncio.Task | None
|
59
111
|
def __init__(self) -> None: ...
|
112
|
+
@classmethod
|
113
|
+
@callback
|
114
|
+
def async_get_supported_subentry_types(cls, config_entry: ConfigEntry) -> dict[str, type[ConfigSubentryFlow]]: ...
|
60
115
|
@staticmethod
|
61
116
|
@callback
|
62
117
|
def async_get_options_flow(config_entry: ConfigEntry) -> MQTTOptionsFlowHandler: ...
|
@@ -81,7 +136,41 @@ class MQTTOptionsFlowHandler(OptionsFlow):
|
|
81
136
|
async def async_step_init(self, user_input: None = None) -> ConfigFlowResult: ...
|
82
137
|
async def async_step_options(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult: ...
|
83
138
|
|
84
|
-
|
139
|
+
class MQTTSubentryFlowHandler(ConfigSubentryFlow):
|
140
|
+
_subentry_data: MqttSubentryData
|
141
|
+
_component_id: str | None
|
142
|
+
@callback
|
143
|
+
def update_component_fields(self, data_schema_fields: dict[str, PlatformField], merged_user_input: dict[str, Any]) -> None: ...
|
144
|
+
@callback
|
145
|
+
def generate_names(self) -> tuple[str, str]: ...
|
146
|
+
@callback
|
147
|
+
def get_suggested_values_from_component(self, data_schema: vol.Schema) -> dict[str, Any]: ...
|
148
|
+
async def async_step_user(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
149
|
+
async def async_step_reconfigure(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
150
|
+
async def async_step_device(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
151
|
+
async def async_step_entity(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
152
|
+
def _show_update_or_delete_form(self, step_id: str) -> SubentryFlowResult: ...
|
153
|
+
async def async_step_update_entity(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
154
|
+
async def async_step_delete_entity(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
155
|
+
async def async_step_entity_platform_config(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
156
|
+
async def async_step_mqtt_platform_config(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
157
|
+
@callback
|
158
|
+
def _async_create_subentry(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
159
|
+
async def async_step_availability(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
160
|
+
async def async_step_summary_menu(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
161
|
+
async def async_step_save_changes(self, user_input: dict[str, Any] | None = None) -> SubentryFlowResult: ...
|
162
|
+
|
163
|
+
@callback
|
164
|
+
def async_is_pem_data(data: bytes) -> bool: ...
|
165
|
+
|
166
|
+
class PEMType(IntEnum):
|
167
|
+
CERTIFICATE = 1
|
168
|
+
PRIVATE_KEY = 2
|
169
|
+
|
170
|
+
@callback
|
171
|
+
def async_convert_to_pem(data: bytes, pem_type: PEMType, password: str | None = None) -> str | None: ...
|
172
|
+
async def _get_uploaded_file(hass: HomeAssistant, id: str) -> bytes: ...
|
173
|
+
def _validate_pki_file(file_id: str | None, pem_data: str | None, errors: dict[str, str], error: str) -> bool: ...
|
85
174
|
async def async_get_broker_settings(flow: ConfigFlow | OptionsFlow, fields: OrderedDict[Any, Any], entry_config: MappingProxyType[str, Any] | None, user_input: dict[str, Any] | None, validated_user_input: dict[str, Any], errors: dict[str, str]) -> bool: ...
|
86
175
|
def try_connection(user_input: dict[str, Any]) -> bool: ...
|
87
176
|
def check_certicate_chain() -> str | None: ...
|
@@ -45,20 +45,55 @@ CONF_PAYLOAD_RESET: str
|
|
45
45
|
CONF_SUPPORTED_FEATURES: str
|
46
46
|
CONF_ACTION_TEMPLATE: str
|
47
47
|
CONF_ACTION_TOPIC: str
|
48
|
+
CONF_BLUE_TEMPLATE: str
|
49
|
+
CONF_BRIGHTNESS_COMMAND_TEMPLATE: str
|
50
|
+
CONF_BRIGHTNESS_COMMAND_TOPIC: str
|
51
|
+
CONF_BRIGHTNESS_SCALE: str
|
52
|
+
CONF_BRIGHTNESS_STATE_TOPIC: str
|
53
|
+
CONF_BRIGHTNESS_TEMPLATE: str
|
54
|
+
CONF_BRIGHTNESS_VALUE_TEMPLATE: str
|
55
|
+
CONF_COLOR_MODE: str
|
56
|
+
CONF_COLOR_MODE_STATE_TOPIC: str
|
57
|
+
CONF_COLOR_MODE_VALUE_TEMPLATE: str
|
58
|
+
CONF_COLOR_TEMP_COMMAND_TEMPLATE: str
|
59
|
+
CONF_COLOR_TEMP_COMMAND_TOPIC: str
|
48
60
|
CONF_COLOR_TEMP_KELVIN: str
|
61
|
+
CONF_COLOR_TEMP_TEMPLATE: str
|
62
|
+
CONF_COLOR_TEMP_STATE_TOPIC: str
|
63
|
+
CONF_COLOR_TEMP_VALUE_TEMPLATE: str
|
64
|
+
CONF_COMMAND_OFF_TEMPLATE: str
|
65
|
+
CONF_COMMAND_ON_TEMPLATE: str
|
49
66
|
CONF_CURRENT_HUMIDITY_TEMPLATE: str
|
50
67
|
CONF_CURRENT_HUMIDITY_TOPIC: str
|
51
68
|
CONF_CURRENT_TEMP_TEMPLATE: str
|
52
69
|
CONF_CURRENT_TEMP_TOPIC: str
|
53
70
|
CONF_ENABLED_BY_DEFAULT: str
|
71
|
+
CONF_EFFECT_COMMAND_TEMPLATE: str
|
72
|
+
CONF_EFFECT_COMMAND_TOPIC: str
|
73
|
+
CONF_EFFECT_LIST: str
|
74
|
+
CONF_EFFECT_STATE_TOPIC: str
|
75
|
+
CONF_EFFECT_TEMPLATE: str
|
76
|
+
CONF_EFFECT_VALUE_TEMPLATE: str
|
54
77
|
CONF_ENTITY_PICTURE: str
|
78
|
+
CONF_EXPIRE_AFTER: str
|
79
|
+
CONF_FLASH_TIME_LONG: str
|
80
|
+
CONF_FLASH_TIME_SHORT: str
|
81
|
+
CONF_GREEN_TEMPLATE: str
|
82
|
+
CONF_HS_COMMAND_TEMPLATE: str
|
83
|
+
CONF_HS_COMMAND_TOPIC: str
|
84
|
+
CONF_HS_STATE_TOPIC: str
|
85
|
+
CONF_HS_VALUE_TEMPLATE: str
|
86
|
+
CONF_LAST_RESET_VALUE_TEMPLATE: str
|
55
87
|
CONF_MAX_KELVIN: str
|
88
|
+
CONF_MAX_MIREDS: str
|
56
89
|
CONF_MIN_KELVIN: str
|
90
|
+
CONF_MIN_MIREDS: str
|
57
91
|
CONF_MODE_COMMAND_TEMPLATE: str
|
58
92
|
CONF_MODE_COMMAND_TOPIC: str
|
59
93
|
CONF_MODE_LIST: str
|
60
94
|
CONF_MODE_STATE_TEMPLATE: str
|
61
95
|
CONF_MODE_STATE_TOPIC: str
|
96
|
+
CONF_ON_COMMAND_TYPE: str
|
62
97
|
CONF_PAYLOAD_CLOSE: str
|
63
98
|
CONF_PAYLOAD_OPEN: str
|
64
99
|
CONF_PAYLOAD_STOP: str
|
@@ -67,10 +102,25 @@ CONF_POSITION_OPEN: str
|
|
67
102
|
CONF_POWER_COMMAND_TOPIC: str
|
68
103
|
CONF_POWER_COMMAND_TEMPLATE: str
|
69
104
|
CONF_PRECISION: str
|
105
|
+
CONF_RED_TEMPLATE: str
|
106
|
+
CONF_RGB_COMMAND_TEMPLATE: str
|
107
|
+
CONF_RGB_COMMAND_TOPIC: str
|
108
|
+
CONF_RGB_STATE_TOPIC: str
|
109
|
+
CONF_RGB_VALUE_TEMPLATE: str
|
110
|
+
CONF_RGBW_COMMAND_TEMPLATE: str
|
111
|
+
CONF_RGBW_COMMAND_TOPIC: str
|
112
|
+
CONF_RGBW_STATE_TOPIC: str
|
113
|
+
CONF_RGBW_VALUE_TEMPLATE: str
|
114
|
+
CONF_RGBWW_COMMAND_TEMPLATE: str
|
115
|
+
CONF_RGBWW_COMMAND_TOPIC: str
|
116
|
+
CONF_RGBWW_STATE_TOPIC: str
|
117
|
+
CONF_RGBWW_VALUE_TEMPLATE: str
|
70
118
|
CONF_STATE_CLOSED: str
|
71
119
|
CONF_STATE_CLOSING: str
|
72
120
|
CONF_STATE_OPEN: str
|
73
121
|
CONF_STATE_OPENING: str
|
122
|
+
CONF_SUGGESTED_DISPLAY_PRECISION: str
|
123
|
+
CONF_SUPPORTED_COLOR_MODES: str
|
74
124
|
CONF_TEMP_COMMAND_TEMPLATE: str
|
75
125
|
CONF_TEMP_COMMAND_TOPIC: str
|
76
126
|
CONF_TEMP_STATE_TEMPLATE: str
|
@@ -78,6 +128,12 @@ CONF_TEMP_STATE_TOPIC: str
|
|
78
128
|
CONF_TEMP_INITIAL: str
|
79
129
|
CONF_TEMP_MAX: str
|
80
130
|
CONF_TEMP_MIN: str
|
131
|
+
CONF_XY_COMMAND_TEMPLATE: str
|
132
|
+
CONF_XY_COMMAND_TOPIC: str
|
133
|
+
CONF_XY_STATE_TOPIC: str
|
134
|
+
CONF_XY_VALUE_TEMPLATE: str
|
135
|
+
CONF_WHITE_COMMAND_TOPIC: str
|
136
|
+
CONF_WHITE_SCALE: str
|
81
137
|
CONF_CERTIFICATE: str
|
82
138
|
CONF_CLIENT_KEY: str
|
83
139
|
CONF_CLIENT_CERT: str
|
@@ -95,15 +151,23 @@ CONF_SUGGESTED_AREA: str
|
|
95
151
|
CONF_CONFIGURATION_URL: str
|
96
152
|
CONF_OBJECT_ID: str
|
97
153
|
CONF_SUPPORT_URL: str
|
154
|
+
DEFAULT_BRIGHTNESS: bool
|
155
|
+
DEFAULT_BRIGHTNESS_SCALE: int
|
98
156
|
DEFAULT_PREFIX: str
|
99
157
|
DEFAULT_BIRTH_WILL_TOPIC: Incomplete
|
100
158
|
DEFAULT_DISCOVERY: bool
|
159
|
+
DEFAULT_EFFECT: bool
|
101
160
|
DEFAULT_ENCODING: str
|
161
|
+
DEFAULT_FLASH_TIME_LONG: int
|
162
|
+
DEFAULT_FLASH_TIME_SHORT: int
|
102
163
|
DEFAULT_OPTIMISTIC: bool
|
164
|
+
DEFAULT_ON_COMMAND_TYPE: str
|
103
165
|
DEFAULT_QOS: int
|
104
166
|
DEFAULT_PAYLOAD_AVAILABLE: str
|
105
167
|
DEFAULT_PAYLOAD_CLOSE: str
|
106
168
|
DEFAULT_PAYLOAD_NOT_AVAILABLE: str
|
169
|
+
DEFAULT_PAYLOAD_OFF: str
|
170
|
+
DEFAULT_PAYLOAD_ON: str
|
107
171
|
DEFAULT_PAYLOAD_OPEN: str
|
108
172
|
DEFAULT_PORT: int
|
109
173
|
DEFAULT_RETAIN: bool
|
@@ -111,6 +175,7 @@ DEFAULT_WS_HEADERS: dict[str, str]
|
|
111
175
|
DEFAULT_WS_PATH: str
|
112
176
|
DEFAULT_POSITION_CLOSED: int
|
113
177
|
DEFAULT_POSITION_OPEN: int
|
178
|
+
DEFAULT_WHITE_SCALE: int
|
114
179
|
PROTOCOL_31: str
|
115
180
|
PROTOCOL_311: str
|
116
181
|
PROTOCOL_5: str
|