From 09508aa08922c7678bc2335b92ee02cf09237dcc Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Wed, 30 Sep 2026 14:54:38 +0200 Subject: [PATCH] Use probatio.Port directly across integrations (#183741) --- homeassistant/components/ads/__init__.py | 2 +- homeassistant/components/amcrest/__init__.py | 2 +- .../components/android_ip_webcam/config_flow.py | 3 +-- homeassistant/components/androidtv/config_flow.py | 5 ++--- homeassistant/components/anel_pwrctrl/switch.py | 4 ++-- homeassistant/components/apache_kafka/__init__.py | 2 +- homeassistant/components/aprilaire/config_flow.py | 3 +-- homeassistant/components/apsystems/config_flow.py | 2 +- homeassistant/components/aqualogic/__init__.py | 2 +- homeassistant/components/aqualogic/config_flow.py | 3 +-- homeassistant/components/aquostv/media_player.py | 2 +- homeassistant/components/asuswrt/config_flow.py | 3 +-- homeassistant/components/ccm15/config_flow.py | 3 +-- homeassistant/components/channels/media_player.py | 2 +- .../components/cisco_ios/device_tracker.py | 2 +- homeassistant/components/cmus/media_player.py | 2 +- homeassistant/components/comelit/config_flow.py | 4 ++-- .../components/concord232/alarm_control_panel.py | 2 +- .../components/concord232/binary_sensor.py | 2 +- homeassistant/components/debugpy/__init__.py | 2 +- homeassistant/components/dlna_dmr/config_flow.py | 2 +- homeassistant/components/dnsip/config_flow.py | 8 ++++---- homeassistant/components/ebusd/__init__.py | 2 +- homeassistant/components/egardia/__init__.py | 4 ++-- homeassistant/components/emby/media_player.py | 2 +- homeassistant/components/emulated_hue/__init__.py | 4 ++-- homeassistant/components/emulated_roku/__init__.py | 4 ++-- .../components/envertech_evt800/config_flow.py | 2 +- homeassistant/components/envisalink/__init__.py | 2 +- homeassistant/components/fivem/config_flow.py | 2 +- homeassistant/components/flic/binary_sensor.py | 2 +- homeassistant/components/futurenow/light.py | 2 +- homeassistant/components/gc100/__init__.py | 2 +- homeassistant/components/gpsd/config_flow.py | 3 +-- homeassistant/components/graphite/__init__.py | 2 +- .../components/greeneye_monitor/__init__.py | 2 +- homeassistant/components/guardian/services.py | 2 +- .../components/harman_kardon_avr/media_player.py | 2 +- homeassistant/components/hddtemp/sensor.py | 2 +- .../components/hikvision/binary_sensor.py | 2 +- homeassistant/components/hikvisioncam/switch.py | 2 +- homeassistant/components/hlk_sw16/__init__.py | 4 +++- homeassistant/components/homekit/__init__.py | 2 +- homeassistant/components/homematic/__init__.py | 14 +++++++++----- homeassistant/components/horizon/media_player.py | 2 +- homeassistant/components/hp_ilo/sensor.py | 2 +- homeassistant/components/http/__init__.py | 2 +- homeassistant/components/http/config.py | 6 ++++-- homeassistant/components/iammeter/sensor.py | 2 +- homeassistant/components/idteck_prox/__init__.py | 2 +- homeassistant/components/iglo/light.py | 2 +- homeassistant/components/imap/config_flow.py | 2 +- homeassistant/components/influxdb/const.py | 2 +- homeassistant/components/iperf3/__init__.py | 2 +- homeassistant/components/itach/remote.py | 2 +- homeassistant/components/itunes/media_player.py | 2 +- homeassistant/components/kankun/switch.py | 2 +- homeassistant/components/kef/media_player.py | 2 +- homeassistant/components/kira/__init__.py | 4 ++-- homeassistant/components/kodi/notify.py | 2 +- homeassistant/components/kwb/sensor.py | 2 +- homeassistant/components/lifx/__init__.py | 2 +- homeassistant/components/lightwave/__init__.py | 2 +- homeassistant/components/limitlessled/light.py | 2 +- homeassistant/components/lw12wifi/light.py | 2 +- homeassistant/components/marytts/tts.py | 2 +- homeassistant/components/maxcube/__init__.py | 2 +- homeassistant/components/mfi/sensor.py | 2 +- homeassistant/components/mfi/switch.py | 2 +- homeassistant/components/minio/__init__.py | 2 +- homeassistant/components/mochad/__init__.py | 2 +- homeassistant/components/modbus/schemas.py | 2 +- homeassistant/components/mpd/media_player.py | 2 +- homeassistant/components/ness_alarm/__init__.py | 2 +- homeassistant/components/ness_alarm/config_flow.py | 4 ++-- homeassistant/components/netdata/sensor.py | 2 +- homeassistant/components/netio/config_flow.py | 3 +-- homeassistant/components/netio/switch.py | 2 +- .../components/nx584/alarm_control_panel.py | 2 +- homeassistant/components/nx584/binary_sensor.py | 2 +- homeassistant/components/octoprint/__init__.py | 2 +- homeassistant/components/octoprint/config_flow.py | 3 +-- homeassistant/components/oem/climate.py | 2 +- homeassistant/components/ombi/__init__.py | 2 +- .../components/openhardwaremonitor/sensor.py | 2 +- homeassistant/components/openrgb/config_flow.py | 5 ++--- .../components/panasonic_viera/__init__.py | 4 +++- homeassistant/components/pencom/switch.py | 2 +- homeassistant/components/pilight/__init__.py | 2 +- homeassistant/components/pioneer/media_player.py | 2 +- homeassistant/components/pjlink/config_flow.py | 3 +-- homeassistant/components/pjlink/media_player.py | 2 +- homeassistant/components/proxmoxve/config_flow.py | 2 +- .../components/pulseaudio_loopback/switch.py | 2 +- homeassistant/components/qnap/config_flow.py | 2 +- homeassistant/components/qvr_pro/__init__.py | 2 +- homeassistant/components/raspyrfm/switch.py | 2 +- homeassistant/components/reolink/config_flow.py | 8 +++++--- homeassistant/components/repetier/__init__.py | 2 +- homeassistant/components/rflink/__init__.py | 2 +- homeassistant/components/roon/config_flow.py | 2 +- .../components/russound_rio/config_flow.py | 2 +- .../components/russound_rnet/media_player.py | 2 +- .../components/satel_integra/config_flow.py | 2 +- homeassistant/components/shelly/__init__.py | 3 +-- homeassistant/components/smtp/config_flow.py | 2 +- homeassistant/components/smtp/notify.py | 2 +- homeassistant/components/snmp/sensor.py | 2 +- homeassistant/components/snmp/switch.py | 2 +- homeassistant/components/solax/config_flow.py | 2 +- homeassistant/components/statsd/__init__.py | 2 +- .../components/synology_srm/device_tracker.py | 2 +- homeassistant/components/tcp/common.py | 2 +- homeassistant/components/ted5000/sensor.py | 2 +- homeassistant/components/tellstick/__init__.py | 4 +++- homeassistant/components/telnet/switch.py | 2 +- homeassistant/components/tomato/device_tracker.py | 2 +- .../components/unifi_direct/config_flow.py | 3 +-- .../components/unifi_direct/device_tracker.py | 2 +- homeassistant/components/uvc/camera.py | 2 +- homeassistant/components/vivotek/config_flow.py | 2 +- homeassistant/components/voip/config_flow.py | 2 +- .../components/volkszaehler/config_flow.py | 2 +- homeassistant/components/volkszaehler/sensor.py | 2 +- homeassistant/components/wake_on_lan/__init__.py | 2 +- homeassistant/components/wake_on_lan/switch.py | 2 +- homeassistant/components/wemo/__init__.py | 2 +- homeassistant/components/xiaomi/camera.py | 2 +- homeassistant/components/yi/camera.py | 2 +- homeassistant/components/zhong_hong/climate.py | 2 +- homeassistant/components/zhong_hong/config_flow.py | 2 +- pyproject.toml | 1 + 132 files changed, 165 insertions(+), 163 deletions(-) diff --git a/homeassistant/components/ads/__init__.py b/homeassistant/components/ads/__init__.py index 06728a5ea6da..6b54667070bf 100644 --- a/homeassistant/components/ads/__init__.py +++ b/homeassistant/components/ads/__init__.py @@ -53,7 +53,7 @@ CONFIG_SCHEMA = probatio.Schema( DOMAIN: probatio.Schema( { probatio.Required(CONF_DEVICE): cv.string, - probatio.Required(CONF_PORT): cv.port, + probatio.Required(CONF_PORT): probatio.Port(), probatio.Optional(CONF_IP_ADDRESS): cv.string, } ) diff --git a/homeassistant/components/amcrest/__init__.py b/homeassistant/components/amcrest/__init__.py index 324798d3d3ba..6e917cc8cf7d 100644 --- a/homeassistant/components/amcrest/__init__.py +++ b/homeassistant/components/amcrest/__init__.py @@ -85,7 +85,7 @@ AMCREST_SCHEMA = probatio.Schema( probatio.Required(CONF_USERNAME): cv.string, probatio.Required(CONF_PASSWORD): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional( CONF_AUTHENTICATION, default=HTTP_BASIC_AUTHENTICATION ): probatio.All(probatio.In(AUTHENTICATION_LIST)), diff --git a/homeassistant/components/android_ip_webcam/config_flow.py b/homeassistant/components/android_ip_webcam/config_flow.py index 6387470693ae..0b58da774dc5 100644 --- a/homeassistant/components/android_ip_webcam/config_flow.py +++ b/homeassistant/components/android_ip_webcam/config_flow.py @@ -9,7 +9,6 @@ from pydroid_ipcam.exceptions import PyDroidIPCamException, Unauthorized from homeassistant.config_entries import ConfigFlow, ConfigFlowResult from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_PORT, CONF_USERNAME from homeassistant.core import HomeAssistant -from homeassistant.helpers import config_validation as cv from homeassistant.helpers.aiohttp_client import async_get_clientsession from .const import DEFAULT_PORT, DOMAIN @@ -17,7 +16,7 @@ from .const import DEFAULT_PORT, DOMAIN STEP_USER_DATA_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST): str, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Inclusive(CONF_USERNAME, "authentication"): str, probatio.Inclusive(CONF_PASSWORD, "authentication"): str, } diff --git a/homeassistant/components/androidtv/config_flow.py b/homeassistant/components/androidtv/config_flow.py index 4db81221833f..5a6cb88c810b 100644 --- a/homeassistant/components/androidtv/config_flow.py +++ b/homeassistant/components/androidtv/config_flow.py @@ -16,7 +16,6 @@ from homeassistant.config_entries import ( from homeassistant.const import CONF_DEVICE_CLASS, CONF_HOST, CONF_PORT from homeassistant.core import callback from homeassistant.data_entry_flow import SectionConfig, section -from homeassistant.helpers import config_validation as cv from homeassistant.helpers.selector import ( ObjectSelector, SelectOptionDict, @@ -100,7 +99,7 @@ class AndroidTVFlowHandler(ConfigFlow, domain=DOMAIN): translation_key="device_class", ) ), - probatio.Required(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Required(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Required(CONF_MORE_OPTIONS): section( probatio.Schema( { @@ -109,7 +108,7 @@ class AndroidTVFlowHandler(ConfigFlow, domain=DOMAIN): probatio.Optional( CONF_ADB_SERVER_PORT, default=DEFAULT_ADB_SERVER_PORT, - ): cv.port, + ): probatio.Port(), } ), SectionConfig(collapsed=True), diff --git a/homeassistant/components/anel_pwrctrl/switch.py b/homeassistant/components/anel_pwrctrl/switch.py index 5d9580b60ade..a1477fb97b36 100644 --- a/homeassistant/components/anel_pwrctrl/switch.py +++ b/homeassistant/components/anel_pwrctrl/switch.py @@ -27,8 +27,8 @@ MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=5) PLATFORM_SCHEMA = SWITCH_PLATFORM_SCHEMA.extend( { - probatio.Required(CONF_PORT_RECV): cv.port, - probatio.Required(CONF_PORT_SEND): cv.port, + probatio.Required(CONF_PORT_RECV): probatio.Port(), + probatio.Required(CONF_PORT_SEND): probatio.Port(), probatio.Required(CONF_USERNAME): cv.string, probatio.Required(CONF_PASSWORD): cv.string, probatio.Optional(CONF_HOST): cv.string, diff --git a/homeassistant/components/apache_kafka/__init__.py b/homeassistant/components/apache_kafka/__init__.py index 76a2d868d932..b96403d1f193 100644 --- a/homeassistant/components/apache_kafka/__init__.py +++ b/homeassistant/components/apache_kafka/__init__.py @@ -32,7 +32,7 @@ CONFIG_SCHEMA = probatio.Schema( DOMAIN: probatio.Schema( { probatio.Required(CONF_IP_ADDRESS): cv.string, - probatio.Required(CONF_PORT): cv.port, + probatio.Required(CONF_PORT): probatio.Port(), probatio.Required(CONF_TOPIC): cv.string, probatio.Optional(CONF_FILTER, default={}): FILTER_SCHEMA, probatio.Optional( diff --git a/homeassistant/components/aprilaire/config_flow.py b/homeassistant/components/aprilaire/config_flow.py index e31e30f6edcc..290f657770b6 100644 --- a/homeassistant/components/aprilaire/config_flow.py +++ b/homeassistant/components/aprilaire/config_flow.py @@ -8,7 +8,6 @@ from pyaprilaire.const import Attribute from homeassistant.config_entries import ConfigFlow, ConfigFlowResult from homeassistant.const import CONF_HOST, CONF_PORT -from homeassistant.helpers import config_validation as cv from homeassistant.helpers.device_registry import format_mac from .const import DOMAIN @@ -17,7 +16,7 @@ from .coordinator import AprilaireCoordinator STEP_USER_DATA_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST): str, - probatio.Required(CONF_PORT, default=7000): cv.port, + probatio.Required(CONF_PORT, default=7000): probatio.Port(), } ) diff --git a/homeassistant/components/apsystems/config_flow.py b/homeassistant/components/apsystems/config_flow.py index 5898b0865f6c..483a6bbe34eb 100644 --- a/homeassistant/components/apsystems/config_flow.py +++ b/homeassistant/components/apsystems/config_flow.py @@ -16,7 +16,7 @@ from .const import DEFAULT_PORT, DOMAIN DATA_SCHEMA = probatio.Schema( { probatio.Required(CONF_IP_ADDRESS): cv.string, - probatio.Optional(CONF_PORT): cv.port, + probatio.Optional(CONF_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/aqualogic/__init__.py b/homeassistant/components/aqualogic/__init__.py index 401da031bccc..a5b506736c33 100644 --- a/homeassistant/components/aqualogic/__init__.py +++ b/homeassistant/components/aqualogic/__init__.py @@ -30,7 +30,7 @@ CONFIG_SCHEMA = probatio.Schema( DOMAIN: probatio.Schema( { probatio.Required(CONF_HOST): cv.string, - probatio.Required(CONF_PORT): cv.port, + probatio.Required(CONF_PORT): probatio.Port(), } ) }, diff --git a/homeassistant/components/aqualogic/config_flow.py b/homeassistant/components/aqualogic/config_flow.py index 0da295c51559..1f8861c8f913 100644 --- a/homeassistant/components/aqualogic/config_flow.py +++ b/homeassistant/components/aqualogic/config_flow.py @@ -9,14 +9,13 @@ import probatio from homeassistant.config_entries import ConfigFlow, ConfigFlowResult from homeassistant.const import CONF_HOST, CONF_PORT -from homeassistant.helpers import config_validation as cv from .const import DOMAIN STEP_USER_DATA_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST): str, - probatio.Required(CONF_PORT): cv.port, + probatio.Required(CONF_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/aquostv/media_player.py b/homeassistant/components/aquostv/media_player.py index 52ed7e3bc949..79122cd6047a 100644 --- a/homeassistant/components/aquostv/media_player.py +++ b/homeassistant/components/aquostv/media_player.py @@ -39,7 +39,7 @@ PLATFORM_SCHEMA = MEDIA_PLAYER_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_USERNAME, default=DEFAULT_USERNAME): cv.string, probatio.Optional(CONF_PASSWORD, default=DEFAULT_PASSWORD): cv.string, probatio.Optional(CONF_TIMEOUT, default=DEFAULT_TIMEOUT): cv.string, diff --git a/homeassistant/components/asuswrt/config_flow.py b/homeassistant/components/asuswrt/config_flow.py index 8b2a56dd5cc2..41bb003adad1 100644 --- a/homeassistant/components/asuswrt/config_flow.py +++ b/homeassistant/components/asuswrt/config_flow.py @@ -24,7 +24,6 @@ from homeassistant.const import ( ) from homeassistant.core import callback from homeassistant.data_entry_flow import SectionConfig, section -from homeassistant.helpers import config_validation as cv from homeassistant.helpers.schema_config_entry_flow import ( SchemaCommonFlowHandler, SchemaFlowFormStep, @@ -157,7 +156,7 @@ class AsusWrtFlowHandler(ConfigFlow, domain=DOMAIN): probatio.Required(CONF_MORE_OPTIONS): section( probatio.Schema( { - probatio.Optional(CONF_PORT): cv.port, + probatio.Optional(CONF_PORT): probatio.Port(), probatio.Optional(CONF_SSH_KEY): str, } ), diff --git a/homeassistant/components/ccm15/config_flow.py b/homeassistant/components/ccm15/config_flow.py index f0c5bc868d3b..9461dae4d494 100644 --- a/homeassistant/components/ccm15/config_flow.py +++ b/homeassistant/components/ccm15/config_flow.py @@ -8,7 +8,6 @@ import probatio from homeassistant.config_entries import ConfigFlow, ConfigFlowResult from homeassistant.const import CONF_HOST, CONF_PORT -from homeassistant.helpers import config_validation as cv from homeassistant.helpers.httpx_client import get_async_client from .const import DEFAULT_TIMEOUT, DOMAIN @@ -18,7 +17,7 @@ _LOGGER = logging.getLogger(__name__) STEP_USER_DATA_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST): str, - probatio.Optional(CONF_PORT, default=80): cv.port, + probatio.Optional(CONF_PORT, default=80): probatio.Port(), } ) diff --git a/homeassistant/components/channels/media_player.py b/homeassistant/components/channels/media_player.py index c56ccc7e7005..320c8e6bae18 100644 --- a/homeassistant/components/channels/media_player.py +++ b/homeassistant/components/channels/media_player.py @@ -28,7 +28,7 @@ PLATFORM_SCHEMA = MEDIA_PLAYER_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/cisco_ios/device_tracker.py b/homeassistant/components/cisco_ios/device_tracker.py index cd4b52dd0674..3a52317e275b 100644 --- a/homeassistant/components/cisco_ios/device_tracker.py +++ b/homeassistant/components/cisco_ios/device_tracker.py @@ -24,7 +24,7 @@ PLATFORM_SCHEMA = probatio.All( probatio.Required(CONF_HOST): cv.string, probatio.Required(CONF_USERNAME): cv.string, probatio.Optional(CONF_PASSWORD, default=""): cv.string, - probatio.Optional(CONF_PORT): cv.port, + probatio.Optional(CONF_PORT): probatio.Port(), } ) ) diff --git a/homeassistant/components/cmus/media_player.py b/homeassistant/components/cmus/media_player.py index 86726567a284..57498145ff11 100644 --- a/homeassistant/components/cmus/media_player.py +++ b/homeassistant/components/cmus/media_player.py @@ -28,7 +28,7 @@ PLATFORM_SCHEMA = MEDIA_PLAYER_PLATFORM_SCHEMA.extend( { probatio.Inclusive(CONF_HOST, "remote"): cv.string, probatio.Inclusive(CONF_PASSWORD, "remote"): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, } ) diff --git a/homeassistant/components/comelit/config_flow.py b/homeassistant/components/comelit/config_flow.py index 62b11e2b6e97..1f1b32a8683d 100644 --- a/homeassistant/components/comelit/config_flow.py +++ b/homeassistant/components/comelit/config_flow.py @@ -29,7 +29,7 @@ DEFAULT_PIN = "111111" USER_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST, default=DEFAULT_HOST): cv.string, - probatio.Required(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Required(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_PIN, default=DEFAULT_PIN): cv.string, probatio.Required(CONF_TYPE, default=BRIDGE): probatio.In(DEVICE_TYPE_LIST), probatio.Optional(CONF_VEDO_PIN): cv.string, @@ -238,7 +238,7 @@ class ComelitConfigFlow(ConfigFlow, domain=DOMAIN): ): cv.string, probatio.Required( CONF_PORT, default=reconfigure_entry.data[CONF_PORT] - ): cv.port, + ): probatio.Port(), probatio.Optional(CONF_PIN): cv.string, probatio.Optional(CONF_VEDO_PIN): cv.string, } diff --git a/homeassistant/components/concord232/alarm_control_panel.py b/homeassistant/components/concord232/alarm_control_panel.py index 3bf95a00be0e..0d715c57b3ad 100644 --- a/homeassistant/components/concord232/alarm_control_panel.py +++ b/homeassistant/components/concord232/alarm_control_panel.py @@ -36,7 +36,7 @@ PLATFORM_SCHEMA = ALARM_CONTROL_PANEL_PLATFORM_SCHEMA.extend( probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, probatio.Optional(CONF_CODE): cv.string, probatio.Optional(CONF_MODE, default=DEFAULT_MODE): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/concord232/binary_sensor.py b/homeassistant/components/concord232/binary_sensor.py index 303ab98af9b5..b363843a62a5 100644 --- a/homeassistant/components/concord232/binary_sensor.py +++ b/homeassistant/components/concord232/binary_sensor.py @@ -42,7 +42,7 @@ PLATFORM_SCHEMA = BINARY_SENSOR_PLATFORM_SCHEMA.extend( probatio.EnsureList(), [cv.positive_int] ), probatio.Optional(CONF_HOST, default=DEFAULT_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_ZONE_TYPES, default={}): ZONE_TYPES_SCHEMA, } ) diff --git a/homeassistant/components/debugpy/__init__.py b/homeassistant/components/debugpy/__init__.py index 0e10121ea063..ced9b1b42154 100644 --- a/homeassistant/components/debugpy/__init__.py +++ b/homeassistant/components/debugpy/__init__.py @@ -23,7 +23,7 @@ CONFIG_SCHEMA = probatio.Schema( DOMAIN: probatio.Schema( { probatio.Optional(CONF_HOST, default="0.0.0.0"): cv.string, - probatio.Optional(CONF_PORT, default=5678): cv.port, + probatio.Optional(CONF_PORT, default=5678): probatio.Port(), probatio.Optional(CONF_START, default=True): cv.boolean, probatio.Optional(CONF_WAIT, default=False): cv.boolean, } diff --git a/homeassistant/components/dlna_dmr/config_flow.py b/homeassistant/components/dlna_dmr/config_flow.py index ffa0b6dd8995..7e8a3fe30fdc 100644 --- a/homeassistant/components/dlna_dmr/config_flow.py +++ b/homeassistant/components/dlna_dmr/config_flow.py @@ -388,7 +388,7 @@ class DlnaDmrOptionsFlowHandler(OptionsFlow): ] = validator # listen_port can be blank or 0 for "bind any free port" - _add_with_suggestion(CONF_LISTEN_PORT, cv.port) + _add_with_suggestion(CONF_LISTEN_PORT, probatio.Port()) _add_with_suggestion(CONF_CALLBACK_URL_OVERRIDE, str) _add_with_suggestion(CONF_POLL_AVAILABILITY, bool) _add_with_suggestion(CONF_BROWSE_UNFILTERED, bool) diff --git a/homeassistant/components/dnsip/config_flow.py b/homeassistant/components/dnsip/config_flow.py index 6371f6e89762..4d51b6c8ecdb 100644 --- a/homeassistant/components/dnsip/config_flow.py +++ b/homeassistant/components/dnsip/config_flow.py @@ -43,9 +43,9 @@ DATA_SCHEMA = probatio.Schema( probatio.Schema( { probatio.Optional(CONF_RESOLVER): cv.string, - probatio.Optional(CONF_PORT): cv.port, + probatio.Optional(CONF_PORT): probatio.Port(), probatio.Optional(CONF_RESOLVER_IPV6): cv.string, - probatio.Optional(CONF_PORT_IPV6): cv.port, + probatio.Optional(CONF_PORT_IPV6): probatio.Port(), } ), SectionConfig(collapsed=True), @@ -216,9 +216,9 @@ class DnsIPOptionsFlowHandler(OptionsFlowWithReload): probatio.Schema( { probatio.Optional(CONF_RESOLVER): cv.string, - probatio.Optional(CONF_PORT): cv.port, + probatio.Optional(CONF_PORT): probatio.Port(), probatio.Optional(CONF_RESOLVER_IPV6): cv.string, - probatio.Optional(CONF_PORT_IPV6): cv.port, + probatio.Optional(CONF_PORT_IPV6): probatio.Port(), } ), self.config_entry.options, diff --git a/homeassistant/components/ebusd/__init__.py b/homeassistant/components/ebusd/__init__.py index 24f30a48ab94..f131d73d67a1 100644 --- a/homeassistant/components/ebusd/__init__.py +++ b/homeassistant/components/ebusd/__init__.py @@ -45,7 +45,7 @@ CONFIG_SCHEMA = probatio.Schema( { probatio.Required(CONF_CIRCUIT): cv.string, probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, probatio.Optional( CONF_MONITORED_CONDITIONS, default=[] diff --git a/homeassistant/components/egardia/__init__.py b/homeassistant/components/egardia/__init__.py index 4ad269eadfcd..837d9713086f 100644 --- a/homeassistant/components/egardia/__init__.py +++ b/homeassistant/components/egardia/__init__.py @@ -66,7 +66,7 @@ CONFIG_SCHEMA = probatio.Schema( probatio.Required(CONF_USERNAME): cv.string, probatio.Optional(CONF_VERSION, default=DEFAULT_VERSION): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional( CONF_REPORT_SERVER_CODES, default={} ): SERVER_CODE_SCHEMA, @@ -75,7 +75,7 @@ CONFIG_SCHEMA = probatio.Schema( ): cv.boolean, probatio.Optional( CONF_REPORT_SERVER_PORT, default=DEFAULT_REPORT_SERVER_PORT - ): cv.port, + ): probatio.Port(), } ) }, diff --git a/homeassistant/components/emby/media_player.py b/homeassistant/components/emby/media_player.py index 73bf1c05e9c1..d82e8070ac1f 100644 --- a/homeassistant/components/emby/media_player.py +++ b/homeassistant/components/emby/media_player.py @@ -49,7 +49,7 @@ PLATFORM_SCHEMA = MEDIA_PLAYER_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_API_KEY): cv.string, probatio.Optional(CONF_HOST, default=DEFAULT_HOST): cv.string, - probatio.Optional(CONF_PORT): cv.port, + probatio.Optional(CONF_PORT): probatio.Port(), probatio.Optional(CONF_SSL, default=DEFAULT_SSL): cv.boolean, } ) diff --git a/homeassistant/components/emulated_hue/__init__.py b/homeassistant/components/emulated_hue/__init__.py index 745695854972..5da33d4b56f1 100644 --- a/homeassistant/components/emulated_hue/__init__.py +++ b/homeassistant/components/emulated_hue/__init__.py @@ -68,9 +68,9 @@ CONFIG_SCHEMA = probatio.Schema( probatio.Optional(CONF_HOST_IP): cv.string, probatio.Optional( CONF_LISTEN_PORT, default=DEFAULT_LISTEN_PORT - ): cv.port, + ): probatio.Port(), probatio.Optional(CONF_ADVERTISE_IP): cv.string, - probatio.Optional(CONF_ADVERTISE_PORT): cv.port, + probatio.Optional(CONF_ADVERTISE_PORT): probatio.Port(), probatio.Optional(CONF_UPNP_BIND_MULTICAST): cv.boolean, probatio.Optional(CONF_OFF_MAPS_TO_ON_DOMAINS): probatio.EnsureList(), probatio.Optional(CONF_EXPOSE_BY_DEFAULT): cv.boolean, diff --git a/homeassistant/components/emulated_roku/__init__.py b/homeassistant/components/emulated_roku/__init__.py index ac290815ca14..ead09fe1ee93 100644 --- a/homeassistant/components/emulated_roku/__init__.py +++ b/homeassistant/components/emulated_roku/__init__.py @@ -25,10 +25,10 @@ from .const import ( SERVER_CONFIG_SCHEMA = probatio.Schema( { probatio.Required(CONF_NAME): cv.string, - probatio.Required(CONF_LISTEN_PORT): cv.port, + probatio.Required(CONF_LISTEN_PORT): probatio.Port(), probatio.Optional(CONF_HOST_IP): cv.string, probatio.Optional(CONF_ADVERTISE_IP): cv.string, - probatio.Optional(CONF_ADVERTISE_PORT): cv.port, + probatio.Optional(CONF_ADVERTISE_PORT): probatio.Port(), probatio.Optional(CONF_UPNP_BIND_MULTICAST): cv.boolean, } ) diff --git a/homeassistant/components/envertech_evt800/config_flow.py b/homeassistant/components/envertech_evt800/config_flow.py index 4f8863ffbf5b..217757a9787d 100644 --- a/homeassistant/components/envertech_evt800/config_flow.py +++ b/homeassistant/components/envertech_evt800/config_flow.py @@ -14,7 +14,7 @@ from .const import DEFAULT_PORT, DOMAIN, TYPE_TCP_SERVER_MODE SCHEMA_DEVICE = probatio.Schema( { probatio.Required(CONF_IP_ADDRESS): cv.string, - probatio.Required(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Required(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/envisalink/__init__.py b/homeassistant/components/envisalink/__init__.py index 86d8e0195310..5656d8188559 100644 --- a/homeassistant/components/envisalink/__init__.py +++ b/homeassistant/components/envisalink/__init__.py @@ -81,7 +81,7 @@ CONFIG_SCHEMA = probatio.Schema( probatio.Optional(CONF_PARTITIONS): { probatio.Coerce(int): PARTITION_SCHEMA }, - probatio.Optional(CONF_EVL_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_EVL_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional( CONF_EVL_VERSION, default=DEFAULT_EVL_VERSION ): probatio.All(probatio.Coerce(int), probatio.Range(min=3, max=4)), diff --git a/homeassistant/components/fivem/config_flow.py b/homeassistant/components/fivem/config_flow.py index 3537529af706..5034268cbe6f 100644 --- a/homeassistant/components/fivem/config_flow.py +++ b/homeassistant/components/fivem/config_flow.py @@ -19,7 +19,7 @@ DEFAULT_PORT = 30120 STEP_USER_DATA_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/flic/binary_sensor.py b/homeassistant/components/flic/binary_sensor.py index 4c6b4e7a2928..f1eb0399d2a2 100644 --- a/homeassistant/components/flic/binary_sensor.py +++ b/homeassistant/components/flic/binary_sensor.py @@ -46,7 +46,7 @@ EVENT_DATA_QUEUED_TIME = "queued_time" PLATFORM_SCHEMA = BINARY_SENSOR_PLATFORM_SCHEMA.extend( { probatio.Optional(CONF_HOST, default=DEFAULT_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_DISCOVERY, default=True): cv.boolean, probatio.Optional(CONF_TIMEOUT, default=DEFAULT_TIMEOUT): cv.positive_int, probatio.Optional(CONF_IGNORED_CLICK_TYPES): probatio.All( diff --git a/homeassistant/components/futurenow/light.py b/homeassistant/components/futurenow/light.py index 3b5687c577fc..f9b95af49719 100644 --- a/homeassistant/components/futurenow/light.py +++ b/homeassistant/components/futurenow/light.py @@ -33,7 +33,7 @@ PLATFORM_SCHEMA = LIGHT_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_DRIVER): probatio.In(CONF_DRIVER_TYPES), probatio.Required(CONF_HOST): cv.string, - probatio.Required(CONF_PORT): cv.port, + probatio.Required(CONF_PORT): probatio.Port(), probatio.Required(CONF_DEVICES): {cv.string: DEVICE_SCHEMA}, } ) diff --git a/homeassistant/components/gc100/__init__.py b/homeassistant/components/gc100/__init__.py index 1e646ea8edd0..afd076ab85a0 100644 --- a/homeassistant/components/gc100/__init__.py +++ b/homeassistant/components/gc100/__init__.py @@ -21,7 +21,7 @@ CONFIG_SCHEMA = probatio.Schema( DOMAIN: probatio.Schema( { probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) }, diff --git a/homeassistant/components/gpsd/config_flow.py b/homeassistant/components/gpsd/config_flow.py index 2e44874cb324..947ae235dfa1 100644 --- a/homeassistant/components/gpsd/config_flow.py +++ b/homeassistant/components/gpsd/config_flow.py @@ -8,14 +8,13 @@ import probatio from homeassistant.config_entries import ConfigFlow, ConfigFlowResult from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PORT -from homeassistant.helpers import config_validation as cv from .const import DOMAIN STEP_USER_DATA_SCHEMA = probatio.Schema( { probatio.Optional(CONF_HOST, default=DEFAULT_HOST): str, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/graphite/__init__.py b/homeassistant/components/graphite/__init__.py index c9b3151b038a..1e816991ce39 100644 --- a/homeassistant/components/graphite/__init__.py +++ b/homeassistant/components/graphite/__init__.py @@ -38,7 +38,7 @@ CONFIG_SCHEMA = probatio.Schema( DOMAIN: probatio.Schema( { probatio.Optional(CONF_HOST, default=DEFAULT_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional( CONF_PROTOCOL, default=DEFAULT_PROTOCOL ): probatio.Any(PROTOCOL_TCP, PROTOCOL_UDP), diff --git a/homeassistant/components/greeneye_monitor/__init__.py b/homeassistant/components/greeneye_monitor/__init__.py index 45b9debd1aaa..0eb25d9781b0 100644 --- a/homeassistant/components/greeneye_monitor/__init__.py +++ b/homeassistant/components/greeneye_monitor/__init__.py @@ -117,7 +117,7 @@ MONITORS_SCHEMA = probatio.All(probatio.EnsureList(), [MONITOR_SCHEMA]) COMPONENT_SCHEMA = probatio.Schema( { - probatio.Required(CONF_PORT): cv.port, + probatio.Required(CONF_PORT): probatio.Port(), probatio.Required(CONF_MONITORS): MONITORS_SCHEMA, } ) diff --git a/homeassistant/components/guardian/services.py b/homeassistant/components/guardian/services.py index e694eb9501fd..4f592fc7eaae 100644 --- a/homeassistant/components/guardian/services.py +++ b/homeassistant/components/guardian/services.py @@ -49,7 +49,7 @@ SERVICE_UPGRADE_FIRMWARE_SCHEMA = probatio.Schema( { probatio.Required(ATTR_DEVICE_ID): cv.string, probatio.Optional(CONF_URL): cv.url, - probatio.Optional(CONF_PORT): cv.port, + probatio.Optional(CONF_PORT): probatio.Port(), probatio.Optional(CONF_FILENAME): cv.string, }, ) diff --git a/homeassistant/components/harman_kardon_avr/media_player.py b/homeassistant/components/harman_kardon_avr/media_player.py index 422d39b4c71e..44ee3e9fa19a 100644 --- a/homeassistant/components/harman_kardon_avr/media_player.py +++ b/homeassistant/components/harman_kardon_avr/media_player.py @@ -24,7 +24,7 @@ PLATFORM_SCHEMA = MEDIA_PLAYER_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/hddtemp/sensor.py b/homeassistant/components/hddtemp/sensor.py index b8c0b97587e7..14ad1ae80048 100644 --- a/homeassistant/components/hddtemp/sensor.py +++ b/homeassistant/components/hddtemp/sensor.py @@ -43,7 +43,7 @@ PLATFORM_SCHEMA = SENSOR_PLATFORM_SCHEMA.extend( probatio.EnsureList(), [cv.string] ), probatio.Optional(CONF_HOST, default=DEFAULT_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, } ) diff --git a/homeassistant/components/hikvision/binary_sensor.py b/homeassistant/components/hikvision/binary_sensor.py index 2491fb10ed62..e94a0adb7f02 100644 --- a/homeassistant/components/hikvision/binary_sensor.py +++ b/homeassistant/components/hikvision/binary_sensor.py @@ -171,7 +171,7 @@ PLATFORM_SCHEMA = BINARY_SENSOR_PLATFORM_SCHEMA.extend( { probatio.Optional(CONF_NAME): cv.string, probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_SSL, default=False): cv.boolean, probatio.Required(CONF_USERNAME): cv.string, probatio.Required(CONF_PASSWORD): cv.string, diff --git a/homeassistant/components/hikvisioncam/switch.py b/homeassistant/components/hikvisioncam/switch.py index ec21c943a629..665a4e603c54 100644 --- a/homeassistant/components/hikvisioncam/switch.py +++ b/homeassistant/components/hikvisioncam/switch.py @@ -37,7 +37,7 @@ PLATFORM_SCHEMA = SWITCH_PLATFORM_SCHEMA.extend( probatio.Required(CONF_HOST): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, probatio.Optional(CONF_PASSWORD, default=DEFAULT_PASSWORD): cv.string, - probatio.Optional(CONF_PORT): cv.port, + probatio.Optional(CONF_PORT): probatio.Port(), probatio.Optional(CONF_USERNAME, default=DEFAULT_USERNAME): cv.string, } ) diff --git a/homeassistant/components/hlk_sw16/__init__.py b/homeassistant/components/hlk_sw16/__init__.py index 6ffbd99005f5..b4fdd4b467b4 100644 --- a/homeassistant/components/hlk_sw16/__init__.py +++ b/homeassistant/components/hlk_sw16/__init__.py @@ -39,7 +39,9 @@ CONFIG_SCHEMA = probatio.Schema( cv.string: probatio.Schema( { probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional( + CONF_PORT, default=DEFAULT_PORT + ): probatio.Port(), probatio.Required(CONF_SWITCHES): probatio.Schema( {RELAY_ID: SWITCH_SCHEMA} ), diff --git a/homeassistant/components/homekit/__init__.py b/homeassistant/components/homekit/__init__.py index 71dc78314627..d06dd22a134a 100644 --- a/homeassistant/components/homekit/__init__.py +++ b/homeassistant/components/homekit/__init__.py @@ -205,7 +205,7 @@ BRIDGE_SCHEMA = probatio.All( probatio.Optional(CONF_NAME, default=BRIDGE_NAME): probatio.All( cv.string, probatio.Length(min=3, max=25) ), - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_IP_ADDRESS): probatio.All( ipaddress.ip_address, cv.string ), diff --git a/homeassistant/components/homematic/__init__.py b/homeassistant/components/homematic/__init__.py index 5b3f2f5ac154..b2e80b8401ec 100644 --- a/homeassistant/components/homematic/__init__.py +++ b/homeassistant/components/homematic/__init__.py @@ -120,14 +120,16 @@ CONFIG_SCHEMA = probatio.Schema( probatio.Optional(CONF_INTERFACES, default={}): { cv.match_all: { probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional( + CONF_PORT, default=DEFAULT_PORT + ): probatio.Port(), probatio.Optional(CONF_PATH, default=DEFAULT_PATH): cv.string, probatio.Optional( CONF_RESOLVENAMES, default=DEFAULT_RESOLVENAMES ): probatio.In(CONF_RESOLVENAMES_OPTIONS), probatio.Optional( CONF_JSONPORT, default=DEFAULT_JSONPORT - ): cv.port, + ): probatio.Port(), probatio.Optional( CONF_USERNAME, default=DEFAULT_USERNAME ): cv.string, @@ -135,7 +137,7 @@ CONFIG_SCHEMA = probatio.Schema( CONF_PASSWORD, default=DEFAULT_PASSWORD ): cv.string, probatio.Optional(CONF_CALLBACK_IP): cv.string, - probatio.Optional(CONF_CALLBACK_PORT): cv.port, + probatio.Optional(CONF_CALLBACK_PORT): probatio.Port(), probatio.Optional(CONF_SSL, default=DEFAULT_SSL): cv.boolean, probatio.Optional( CONF_VERIFY_SSL, default=DEFAULT_VERIFY_SSL @@ -145,7 +147,9 @@ CONFIG_SCHEMA = probatio.Schema( probatio.Optional(CONF_HOSTS, default={}): { cv.match_all: { probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional( + CONF_PORT, default=DEFAULT_PORT + ): probatio.Port(), probatio.Optional( CONF_USERNAME, default=DEFAULT_USERNAME ): cv.string, @@ -155,7 +159,7 @@ CONFIG_SCHEMA = probatio.Schema( } }, probatio.Optional(CONF_LOCAL_IP, default=DEFAULT_LOCAL_IP): cv.string, - probatio.Optional(CONF_LOCAL_PORT): cv.port, + probatio.Optional(CONF_LOCAL_PORT): probatio.Port(), } ) }, diff --git a/homeassistant/components/horizon/media_player.py b/homeassistant/components/horizon/media_player.py index 8054f2ad93de..1e6fcd65f97e 100644 --- a/homeassistant/components/horizon/media_player.py +++ b/homeassistant/components/horizon/media_player.py @@ -36,7 +36,7 @@ PLATFORM_SCHEMA = MEDIA_PLAYER_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/hp_ilo/sensor.py b/homeassistant/components/hp_ilo/sensor.py index 0309b83937e3..d3b33cee50bb 100644 --- a/homeassistant/components/hp_ilo/sensor.py +++ b/homeassistant/components/hp_ilo/sensor.py @@ -69,7 +69,7 @@ PLATFORM_SCHEMA = SENSOR_PLATFORM_SCHEMA.extend( ], ), probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/http/__init__.py b/homeassistant/components/http/__init__.py index 6fc69f2474b0..4f9076ca407f 100644 --- a/homeassistant/components/http/__init__.py +++ b/homeassistant/components/http/__init__.py @@ -77,7 +77,7 @@ HTTP_SCHEMA: Final = probatio.All( # No default: the YAML migration needs to tell an explicitly # configured port apart from an omitted one, which it keeps on the # previous default port instead of the Supervisor default. - probatio.Optional(CONF_SERVER_PORT): cv.port, + probatio.Optional(CONF_SERVER_PORT): probatio.Port(), probatio.Optional(CONF_BASE_URL): cv.string, probatio.Optional(CONF_SSL_CERTIFICATE): cv.isfile, probatio.Optional(CONF_SSL_PEER_CERTIFICATE): cv.isfile, diff --git a/homeassistant/components/http/config.py b/homeassistant/components/http/config.py index 58182a1de90c..060dc9b45f9c 100644 --- a/homeassistant/components/http/config.py +++ b/homeassistant/components/http/config.py @@ -59,7 +59,7 @@ def default_server_port() -> int: if (env_value := os.environ.get(ENV_SETUP_PORT)) is None: return default try: - return cv.port(env_value) + return probatio.Port()(env_value) except probatio.Invalid: _LOGGER.warning( "Invalid port %r in %s environment variable; falling back to %s", @@ -143,7 +143,9 @@ HTTP_STORAGE_SCHEMA: Final = probatio.Schema( probatio.Optional(CONF_SERVER_HOST): probatio.All( probatio.EnsureList(), probatio.Length(min=1), [cv.string] ), - probatio.Optional(CONF_SERVER_PORT, default=default_server_port): cv.port, + probatio.Optional( + CONF_SERVER_PORT, default=default_server_port + ): probatio.Port(), probatio.Optional(CONF_SSL_CERTIFICATE): cv.isfile, probatio.Optional(CONF_SSL_PEER_CERTIFICATE): cv.isfile, probatio.Optional(CONF_SSL_KEY): cv.isfile, diff --git a/homeassistant/components/iammeter/sensor.py b/homeassistant/components/iammeter/sensor.py index c1eb52f13452..6449eae7c3be 100644 --- a/homeassistant/components/iammeter/sensor.py +++ b/homeassistant/components/iammeter/sensor.py @@ -53,7 +53,7 @@ PLATFORM_SCHEMA = SENSOR_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_DEVICE_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/idteck_prox/__init__.py b/homeassistant/components/idteck_prox/__init__.py index 1cb62e5d9b52..b5aa517290b3 100644 --- a/homeassistant/components/idteck_prox/__init__.py +++ b/homeassistant/components/idteck_prox/__init__.py @@ -29,7 +29,7 @@ CONFIG_SCHEMA = probatio.Schema( probatio.Schema( { probatio.Required(CONF_HOST): cv.string, - probatio.Required(CONF_PORT): cv.port, + probatio.Required(CONF_PORT): probatio.Port(), probatio.Required(CONF_NAME): cv.string, } ) diff --git a/homeassistant/components/iglo/light.py b/homeassistant/components/iglo/light.py index a873d98f4b91..40096dd2ac4b 100644 --- a/homeassistant/components/iglo/light.py +++ b/homeassistant/components/iglo/light.py @@ -30,7 +30,7 @@ PLATFORM_SCHEMA = LIGHT_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/imap/config_flow.py b/homeassistant/components/imap/config_flow.py index 660ec8abf573..2b9fba31d6f3 100644 --- a/homeassistant/components/imap/config_flow.py +++ b/homeassistant/components/imap/config_flow.py @@ -70,7 +70,7 @@ CONFIG_SCHEMA = probatio.Schema( probatio.Required(CONF_USERNAME): str, probatio.Required(CONF_PASSWORD): str, probatio.Required(CONF_SERVER): str, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_CHARSET, default="utf-8"): str, probatio.Optional(CONF_FOLDER, default="INBOX"): str, probatio.Optional(CONF_SEARCH, default="UnSeen UnDeleted"): str, diff --git a/homeassistant/components/influxdb/const.py b/homeassistant/components/influxdb/const.py index c19c04aafa2d..f8b1a0275071 100644 --- a/homeassistant/components/influxdb/const.py +++ b/homeassistant/components/influxdb/const.py @@ -140,7 +140,7 @@ COMPONENT_CONFIG_SCHEMA_CONNECTION = { ), probatio.Optional(CONF_HOST): cv.string, probatio.Optional(CONF_PATH): cv.string, - probatio.Optional(CONF_PORT): cv.port, + probatio.Optional(CONF_PORT): probatio.Port(), probatio.Optional(CONF_SSL): cv.boolean, probatio.Optional(CONF_VERIFY_SSL, default=DEFAULT_VERIFY_SSL): cv.boolean, probatio.Optional(CONF_SSL_CA_CERT): cv.isfile, diff --git a/homeassistant/components/iperf3/__init__.py b/homeassistant/components/iperf3/__init__.py index 32e62163357f..27eaca197403 100644 --- a/homeassistant/components/iperf3/__init__.py +++ b/homeassistant/components/iperf3/__init__.py @@ -73,7 +73,7 @@ PROTOCOLS = ["tcp", "udp"] HOST_CONFIG_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_DURATION, default=DEFAULT_DURATION): probatio.Range( 5, 10 ), diff --git a/homeassistant/components/itach/remote.py b/homeassistant/components/itach/remote.py index e9780a6757ce..5197e5a92732 100644 --- a/homeassistant/components/itach/remote.py +++ b/homeassistant/components/itach/remote.py @@ -46,7 +46,7 @@ PLATFORM_SCHEMA = REMOTE_PLATFORM_SCHEMA.extend( { probatio.Optional(CONF_MAC): cv.string, probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Required(CONF_DEVICES): probatio.All( probatio.EnsureList(), [ diff --git a/homeassistant/components/itunes/media_player.py b/homeassistant/components/itunes/media_player.py index 44d71723833b..4916b4b15e5a 100644 --- a/homeassistant/components/itunes/media_player.py +++ b/homeassistant/components/itunes/media_player.py @@ -29,7 +29,7 @@ PLATFORM_SCHEMA = MEDIA_PLAYER_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_SSL, default=DEFAULT_SSL): cv.boolean, } ) diff --git a/homeassistant/components/kankun/switch.py b/homeassistant/components/kankun/switch.py index 0357e5c416a0..4eca4d6430c7 100644 --- a/homeassistant/components/kankun/switch.py +++ b/homeassistant/components/kankun/switch.py @@ -33,7 +33,7 @@ SWITCH_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST): cv.string, probatio.Optional(CONF_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_PATH, default=DEFAULT_PATH): cv.string, probatio.Optional(CONF_USERNAME): cv.string, probatio.Optional(CONF_PASSWORD): cv.string, diff --git a/homeassistant/components/kef/media_player.py b/homeassistant/components/kef/media_player.py index 23aa42e5e063..ccb4b2b78b94 100644 --- a/homeassistant/components/kef/media_player.py +++ b/homeassistant/components/kef/media_player.py @@ -62,7 +62,7 @@ PLATFORM_SCHEMA = MEDIA_PLAYER_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, probatio.Required(CONF_TYPE): probatio.In(["LS50", "LSX"]), - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, probatio.Optional(CONF_MAX_VOLUME, default=DEFAULT_MAX_VOLUME): cv.small_float, probatio.Optional( diff --git a/homeassistant/components/kira/__init__.py b/homeassistant/components/kira/__init__.py index 8bd706eb65ff..b383f8c33dc9 100644 --- a/homeassistant/components/kira/__init__.py +++ b/homeassistant/components/kira/__init__.py @@ -51,7 +51,7 @@ SENSOR_SCHEMA = probatio.Schema( { probatio.Optional(CONF_NAME, default=DOMAIN): cv.string, probatio.Optional(CONF_HOST, default=DEFAULT_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) @@ -59,7 +59,7 @@ REMOTE_SCHEMA = probatio.Schema( { probatio.Optional(CONF_NAME, default=DOMAIN): cv.string, probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/kodi/notify.py b/homeassistant/components/kodi/notify.py index 57095197a70d..bd1c71116077 100644 --- a/homeassistant/components/kodi/notify.py +++ b/homeassistant/components/kodi/notify.py @@ -39,7 +39,7 @@ DEFAULT_TIMEOUT = 5 PLATFORM_SCHEMA = NOTIFY_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_PROXY_SSL, default=DEFAULT_PROXY_SSL): cv.boolean, probatio.Inclusive(CONF_USERNAME, "auth"): cv.string, probatio.Inclusive(CONF_PASSWORD, "auth"): cv.string, diff --git a/homeassistant/components/kwb/sensor.py b/homeassistant/components/kwb/sensor.py index ef416bbb1c62..37a7f884ced8 100644 --- a/homeassistant/components/kwb/sensor.py +++ b/homeassistant/components/kwb/sensor.py @@ -44,7 +44,7 @@ ETHERNET_SCHEMA = SENSOR_PLATFORM_SCHEMA.extend( probatio.Optional(CONF_RAW, default=DEFAULT_RAW): cv.boolean, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, probatio.Required(CONF_HOST): cv.string, - probatio.Required(CONF_PORT): cv.port, + probatio.Required(CONF_PORT): probatio.Port(), probatio.Required(CONF_TYPE): "tcp", } ) diff --git a/homeassistant/components/lifx/__init__.py b/homeassistant/components/lifx/__init__.py index 8f779034db54..7774f0cc5dfa 100644 --- a/homeassistant/components/lifx/__init__.py +++ b/homeassistant/components/lifx/__init__.py @@ -26,7 +26,7 @@ CONF_BROADCAST = "broadcast" INTERFACE_SCHEMA = probatio.Schema( { probatio.Optional(CONF_SERVER): cv.string, - probatio.Optional(CONF_PORT): cv.port, + probatio.Optional(CONF_PORT): probatio.Port(), probatio.Optional(CONF_BROADCAST): cv.string, } ) diff --git a/homeassistant/components/lightwave/__init__.py b/homeassistant/components/lightwave/__init__.py index 03a1da0b6339..64516cacdf59 100644 --- a/homeassistant/components/lightwave/__init__.py +++ b/homeassistant/components/lightwave/__init__.py @@ -51,7 +51,7 @@ CONFIG_SCHEMA = probatio.Schema( probatio.Optional(CONF_TRV, default={}): { probatio.Optional( CONF_PROXY_PORT, default=DEFAULT_PROXY_PORT - ): cv.port, + ): probatio.Port(), probatio.Optional(CONF_PROXY_IP): cv.string, probatio.Required(CONF_TRVS, default={}): { cv.string: probatio.Schema( diff --git a/homeassistant/components/limitlessled/light.py b/homeassistant/components/limitlessled/light.py index 968662bf3114..72cc4d08bf2a 100644 --- a/homeassistant/components/limitlessled/light.py +++ b/homeassistant/components/limitlessled/light.py @@ -84,7 +84,7 @@ PLATFORM_SCHEMA = LIGHT_PLATFORM_SCHEMA.extend( probatio.Optional( CONF_VERSION, default=DEFAULT_VERSION ): cv.positive_int, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Required(CONF_GROUPS): probatio.All( probatio.EnsureList(), [ diff --git a/homeassistant/components/lw12wifi/light.py b/homeassistant/components/lw12wifi/light.py index e5aca5cae6b5..83756eb18c98 100644 --- a/homeassistant/components/lw12wifi/light.py +++ b/homeassistant/components/lw12wifi/light.py @@ -32,7 +32,7 @@ DEFAULT_PORT = 5000 PLATFORM_SCHEMA = LIGHT_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, } ) diff --git a/homeassistant/components/marytts/tts.py b/homeassistant/components/marytts/tts.py index 0404f9242344..082932236704 100644 --- a/homeassistant/components/marytts/tts.py +++ b/homeassistant/components/marytts/tts.py @@ -34,7 +34,7 @@ MAP_MARYTTS_CODEC = {"WAVE_FILE": "wav", "AIFF_FILE": "aiff", "AU_FILE": "au"} PLATFORM_SCHEMA = TTS_PLATFORM_SCHEMA.extend( { probatio.Optional(CONF_HOST, default=DEFAULT_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_LANG, default=DEFAULT_LANG): probatio.In( SUPPORT_LANGUAGES ), diff --git a/homeassistant/components/maxcube/__init__.py b/homeassistant/components/maxcube/__init__.py index cec976446734..c39086f4b48e 100644 --- a/homeassistant/components/maxcube/__init__.py +++ b/homeassistant/components/maxcube/__init__.py @@ -30,7 +30,7 @@ CONF_GATEWAYS = "gateways" CONFIG_GATEWAY = probatio.Schema( { probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_SCAN_INTERVAL, default=300): cv.time_period, } ) diff --git a/homeassistant/components/mfi/sensor.py b/homeassistant/components/mfi/sensor.py index 15e3c4c95c87..333dd3d060d4 100644 --- a/homeassistant/components/mfi/sensor.py +++ b/homeassistant/components/mfi/sensor.py @@ -50,7 +50,7 @@ PLATFORM_SCHEMA = SENSOR_PLATFORM_SCHEMA.extend( probatio.Required(CONF_HOST): cv.string, probatio.Required(CONF_USERNAME): cv.string, probatio.Required(CONF_PASSWORD): cv.string, - probatio.Optional(CONF_PORT): cv.port, + probatio.Optional(CONF_PORT): probatio.Port(), probatio.Optional(CONF_SSL, default=DEFAULT_SSL): cv.boolean, probatio.Optional(CONF_VERIFY_SSL, default=DEFAULT_VERIFY_SSL): cv.boolean, } diff --git a/homeassistant/components/mfi/switch.py b/homeassistant/components/mfi/switch.py index 37e0e14d4327..d6f144ed2831 100644 --- a/homeassistant/components/mfi/switch.py +++ b/homeassistant/components/mfi/switch.py @@ -36,7 +36,7 @@ PLATFORM_SCHEMA = SWITCH_PLATFORM_SCHEMA.extend( probatio.Required(CONF_HOST): cv.string, probatio.Required(CONF_USERNAME): cv.string, probatio.Required(CONF_PASSWORD): cv.string, - probatio.Optional(CONF_PORT): cv.port, + probatio.Optional(CONF_PORT): probatio.Port(), probatio.Optional(CONF_SSL, default=DEFAULT_SSL): cv.boolean, probatio.Optional(CONF_VERIFY_SSL, default=DEFAULT_VERIFY_SSL): cv.boolean, } diff --git a/homeassistant/components/minio/__init__.py b/homeassistant/components/minio/__init__.py index 0291c9c9b7e2..f1e252099e37 100644 --- a/homeassistant/components/minio/__init__.py +++ b/homeassistant/components/minio/__init__.py @@ -45,7 +45,7 @@ CONFIG_SCHEMA = probatio.Schema( DOMAIN: probatio.Schema( { probatio.Required(CONF_HOST): cv.string, - probatio.Required(CONF_PORT): cv.port, + probatio.Required(CONF_PORT): probatio.Port(), probatio.Required(CONF_ACCESS_KEY): cv.string, probatio.Required(CONF_SECRET_KEY): cv.string, probatio.Required(CONF_SECURE): cv.boolean, diff --git a/homeassistant/components/mochad/__init__.py b/homeassistant/components/mochad/__init__.py index 13b903c30c52..e63add2270a4 100644 --- a/homeassistant/components/mochad/__init__.py +++ b/homeassistant/components/mochad/__init__.py @@ -29,7 +29,7 @@ CONFIG_SCHEMA = probatio.Schema( DOMAIN: probatio.Schema( { probatio.Optional(CONF_HOST, default="localhost"): cv.string, - probatio.Optional(CONF_PORT, default=1099): cv.port, + probatio.Optional(CONF_PORT, default=1099): probatio.Port(), } ) }, diff --git a/homeassistant/components/modbus/schemas.py b/homeassistant/components/modbus/schemas.py index 4098122e9223..68d19a3b89fd 100644 --- a/homeassistant/components/modbus/schemas.py +++ b/homeassistant/components/modbus/schemas.py @@ -539,7 +539,7 @@ SERIAL_SCHEMA = MODBUS_SCHEMA.extend( ETHERNET_SCHEMA = MODBUS_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, - probatio.Required(CONF_PORT): cv.port, + probatio.Required(CONF_PORT): probatio.Port(), probatio.Required(CONF_TYPE): probatio.Any(TCP, UDP, RTUOVERTCP), } ) diff --git a/homeassistant/components/mpd/media_player.py b/homeassistant/components/mpd/media_player.py index 7c72f2446139..a04f8d3ad7d5 100644 --- a/homeassistant/components/mpd/media_player.py +++ b/homeassistant/components/mpd/media_player.py @@ -60,7 +60,7 @@ PLATFORM_SCHEMA = MEDIA_PLAYER_PLATFORM_SCHEMA.extend( probatio.Required(CONF_HOST): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, probatio.Optional(CONF_PASSWORD): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/ness_alarm/__init__.py b/homeassistant/components/ness_alarm/__init__.py index f698eeaae06a..fd3c1302e4a4 100644 --- a/homeassistant/components/ness_alarm/__init__.py +++ b/homeassistant/components/ness_alarm/__init__.py @@ -68,7 +68,7 @@ CONFIG_SCHEMA = probatio.Schema( DOMAIN: probatio.Schema( { probatio.Required(CONF_HOST): cv.string, - probatio.Required(CONF_PORT): cv.port, + probatio.Required(CONF_PORT): probatio.Port(), probatio.Optional( CONF_SCAN_INTERVAL, default=DEFAULT_SCAN_INTERVAL ): cv.positive_time_period, diff --git a/homeassistant/components/ness_alarm/config_flow.py b/homeassistant/components/ness_alarm/config_flow.py index ade71988200d..60f44469143a 100644 --- a/homeassistant/components/ness_alarm/config_flow.py +++ b/homeassistant/components/ness_alarm/config_flow.py @@ -20,7 +20,7 @@ from homeassistant.config_entries import ( ) from homeassistant.const import CONF_HOST, CONF_PORT, CONF_TYPE from homeassistant.core import callback -from homeassistant.helpers import config_validation as cv, selector +from homeassistant.helpers import selector from .const import ( CONF_INFER_ARMING_STATE, @@ -44,7 +44,7 @@ _LOGGER = logging.getLogger(__name__) STEP_USER_DATA_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST): str, - probatio.Required(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Required(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional( CONF_INFER_ARMING_STATE, default=DEFAULT_INFER_ARMING_STATE ): bool, diff --git a/homeassistant/components/netdata/sensor.py b/homeassistant/components/netdata/sensor.py index 418073b1fc60..4e187aff2bdd 100644 --- a/homeassistant/components/netdata/sensor.py +++ b/homeassistant/components/netdata/sensor.py @@ -51,7 +51,7 @@ PLATFORM_SCHEMA = SENSOR_PLATFORM_SCHEMA.extend( { probatio.Optional(CONF_HOST, default=DEFAULT_HOST): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Required(CONF_RESOURCES): probatio.Schema( {cv.string: RESOURCE_SCHEMA} ), diff --git a/homeassistant/components/netio/config_flow.py b/homeassistant/components/netio/config_flow.py index 2f1ac03616ab..9028803ebaea 100644 --- a/homeassistant/components/netio/config_flow.py +++ b/homeassistant/components/netio/config_flow.py @@ -16,7 +16,6 @@ from homeassistant.const import ( CONF_USERNAME, CONF_VERIFY_SSL, ) -from homeassistant.helpers import config_validation as cv from .const import DOMAIN from .coordinator import create_device @@ -28,7 +27,7 @@ DEFAULT_PORT = 80 STEP_USER_DATA_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST): str, - probatio.Required(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Required(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Required(CONF_USERNAME): str, probatio.Required(CONF_PASSWORD): str, probatio.Required(CONF_SSL, default=False): bool, diff --git a/homeassistant/components/netio/switch.py b/homeassistant/components/netio/switch.py index 9e84fcb03087..0f3a8e72b71c 100644 --- a/homeassistant/components/netio/switch.py +++ b/homeassistant/components/netio/switch.py @@ -57,7 +57,7 @@ URL_API_NETIO_EP = "/api/netio/{host}" PLATFORM_SCHEMA = SWITCH_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, - probatio.Required(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Required(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Required(CONF_USERNAME, default=DEFAULT_USERNAME): cv.string, probatio.Required(CONF_PASSWORD): cv.string, probatio.Optional(CONF_OUTLETS): {cv.string: cv.string}, diff --git a/homeassistant/components/nx584/alarm_control_panel.py b/homeassistant/components/nx584/alarm_control_panel.py index 6b0e5b7cd830..29cd89ac5012 100644 --- a/homeassistant/components/nx584/alarm_control_panel.py +++ b/homeassistant/components/nx584/alarm_control_panel.py @@ -37,7 +37,7 @@ PLATFORM_SCHEMA = ALARM_CONTROL_PANEL_PLATFORM_SCHEMA.extend( { probatio.Optional(CONF_HOST, default=DEFAULT_HOST): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/nx584/binary_sensor.py b/homeassistant/components/nx584/binary_sensor.py index bc7c9ad801dd..e04cd7244462 100644 --- a/homeassistant/components/nx584/binary_sensor.py +++ b/homeassistant/components/nx584/binary_sensor.py @@ -40,7 +40,7 @@ PLATFORM_SCHEMA = BINARY_SENSOR_PLATFORM_SCHEMA.extend( probatio.EnsureList(), [cv.positive_int] ), probatio.Optional(CONF_HOST, default=DEFAULT_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_ZONE_TYPES, default={}): ZONE_TYPES_SCHEMA, } ) diff --git a/homeassistant/components/octoprint/__init__.py b/homeassistant/components/octoprint/__init__.py index 96ab08635cdb..04720ceafe82 100644 --- a/homeassistant/components/octoprint/__init__.py +++ b/homeassistant/components/octoprint/__init__.py @@ -105,7 +105,7 @@ CONFIG_SCHEMA = probatio.Schema( probatio.Required(CONF_API_KEY): cv.string, probatio.Required(CONF_HOST): cv.string, probatio.Optional(CONF_SSL, default=False): cv.boolean, - probatio.Optional(CONF_PORT, default=80): cv.port, + probatio.Optional(CONF_PORT, default=80): probatio.Port(), probatio.Optional( CONF_PATH, default="/" ): ensure_valid_path, diff --git a/homeassistant/components/octoprint/config_flow.py b/homeassistant/components/octoprint/config_flow.py index d6a54371dcfd..c6c5dd9ca289 100644 --- a/homeassistant/components/octoprint/config_flow.py +++ b/homeassistant/components/octoprint/config_flow.py @@ -22,7 +22,6 @@ from homeassistant.const import ( ) from homeassistant.data_entry_flow import AbortFlow from homeassistant.exceptions import HomeAssistantError -from homeassistant.helpers import config_validation as cv from homeassistant.helpers.service_info.ssdp import SsdpServiceInfo from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo from homeassistant.util.ssl import get_default_context, get_default_no_verify_context @@ -39,7 +38,7 @@ def _schema_with_defaults( { probatio.Required(CONF_USERNAME, default=username): str, probatio.Required(CONF_HOST, default=host): str, - probatio.Required(CONF_PORT, default=port): cv.port, + probatio.Required(CONF_PORT, default=port): probatio.Port(), probatio.Required(CONF_PATH, default=path): str, probatio.Required(CONF_SSL, default=ssl): bool, probatio.Required(CONF_VERIFY_SSL, default=verify_ssl): bool, diff --git a/homeassistant/components/oem/climate.py b/homeassistant/components/oem/climate.py index fa799f212c7d..38b42fbe72af 100644 --- a/homeassistant/components/oem/climate.py +++ b/homeassistant/components/oem/climate.py @@ -31,7 +31,7 @@ PLATFORM_SCHEMA = CLIMATE_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, probatio.Optional(CONF_NAME, default="Thermostat"): cv.string, - probatio.Optional(CONF_PORT, default=80): cv.port, + probatio.Optional(CONF_PORT, default=80): probatio.Port(), probatio.Inclusive(CONF_USERNAME, "authentication"): cv.string, probatio.Inclusive(CONF_PASSWORD, "authentication"): cv.string, } diff --git a/homeassistant/components/ombi/__init__.py b/homeassistant/components/ombi/__init__.py index ad7df4067146..c2870bfd15f5 100644 --- a/homeassistant/components/ombi/__init__.py +++ b/homeassistant/components/ombi/__init__.py @@ -72,7 +72,7 @@ CONFIG_SCHEMA = probatio.Schema( probatio.Required(CONF_USERNAME): cv.string, probatio.Exclusive(CONF_API_KEY, "auth"): cv.string, probatio.Exclusive(CONF_PASSWORD, "auth"): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_URLBASE, default=DEFAULT_URLBASE): urlbase, probatio.Optional(CONF_SSL, default=DEFAULT_SSL): cv.boolean, } diff --git a/homeassistant/components/openhardwaremonitor/sensor.py b/homeassistant/components/openhardwaremonitor/sensor.py index e1f685af7a1c..bff893646cde 100644 --- a/homeassistant/components/openhardwaremonitor/sensor.py +++ b/homeassistant/components/openhardwaremonitor/sensor.py @@ -41,7 +41,7 @@ OHM_NAME = "Text" PLATFORM_SCHEMA = SENSOR_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=8085): cv.port, + probatio.Optional(CONF_PORT, default=8085): probatio.Port(), } ) diff --git a/homeassistant/components/openrgb/config_flow.py b/homeassistant/components/openrgb/config_flow.py index dc135e7e612e..f6516a3f3a34 100644 --- a/homeassistant/components/openrgb/config_flow.py +++ b/homeassistant/components/openrgb/config_flow.py @@ -9,7 +9,6 @@ import probatio from homeassistant.config_entries import ConfigFlow, ConfigFlowResult from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PORT from homeassistant.core import HomeAssistant -from homeassistant.helpers import config_validation as cv from .const import CONNECTION_ERRORS, DEFAULT_CLIENT_NAME, DEFAULT_PORT, DOMAIN @@ -21,14 +20,14 @@ STEP_USER_DATA_SCHEMA = probatio.Schema( # pylint: disable-next=home-assistant-config-flow-name-field probatio.Required(CONF_NAME): str, probatio.Required(CONF_HOST): str, - probatio.Required(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Required(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) STEP_RECONFIGURE_DATA_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST): str, - probatio.Required(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Required(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/panasonic_viera/__init__.py b/homeassistant/components/panasonic_viera/__init__.py index f3453ecc8524..15302d5a69d9 100644 --- a/homeassistant/components/panasonic_viera/__init__.py +++ b/homeassistant/components/panasonic_viera/__init__.py @@ -41,7 +41,9 @@ CONFIG_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional( + CONF_PORT, default=DEFAULT_PORT + ): probatio.Port(), probatio.Optional(CONF_ON_ACTION): cv.SCRIPT_SCHEMA, } ) diff --git a/homeassistant/components/pencom/switch.py b/homeassistant/components/pencom/switch.py index ef51a2a2a4e0..8fe71fe3a2e8 100644 --- a/homeassistant/components/pencom/switch.py +++ b/homeassistant/components/pencom/switch.py @@ -35,7 +35,7 @@ RELAY_SCHEMA = probatio.Schema( PLATFORM_SCHEMA = SWITCH_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, - probatio.Required(CONF_PORT): cv.port, + probatio.Required(CONF_PORT): probatio.Port(), probatio.Optional(CONF_BOARDS, default=1): cv.positive_int, probatio.Required(CONF_RELAYS): probatio.All( probatio.EnsureList(), [RELAY_SCHEMA] diff --git a/homeassistant/components/pilight/__init__.py b/homeassistant/components/pilight/__init__.py index 74610594430d..b8e5f706879b 100644 --- a/homeassistant/components/pilight/__init__.py +++ b/homeassistant/components/pilight/__init__.py @@ -56,7 +56,7 @@ CONFIG_SCHEMA = probatio.Schema( DOMAIN: probatio.Schema( { probatio.Optional(CONF_HOST, default=DEFAULT_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_WHITELIST, default={}): {cv.string: [cv.string]}, probatio.Optional( CONF_SEND_DELAY, default=DEFAULT_SEND_DELAY diff --git a/homeassistant/components/pioneer/media_player.py b/homeassistant/components/pioneer/media_player.py index 72a67879d0e1..6bd42a6412db 100644 --- a/homeassistant/components/pioneer/media_player.py +++ b/homeassistant/components/pioneer/media_player.py @@ -35,7 +35,7 @@ PLATFORM_SCHEMA = MEDIA_PLAYER_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_TIMEOUT, default=DEFAULT_TIMEOUT): cv.socket_timeout, probatio.Optional(CONF_SOURCES, default=DEFAULT_SOURCES): { cv.string: cv.string diff --git a/homeassistant/components/pjlink/config_flow.py b/homeassistant/components/pjlink/config_flow.py index b6ef5a060638..a9ccb1c00a43 100644 --- a/homeassistant/components/pjlink/config_flow.py +++ b/homeassistant/components/pjlink/config_flow.py @@ -9,7 +9,6 @@ from pypjlink.projector import ProjectorError from homeassistant.config_entries import ConfigFlow, ConfigFlowResult from homeassistant.const import CONF_HOST, CONF_NAME, CONF_PASSWORD, CONF_PORT -from homeassistant.helpers import config_validation as cv from .const import DEFAULT_PORT, DOMAIN @@ -18,7 +17,7 @@ _LOGGER = logging.getLogger(__name__) STEP_USER_DATA_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST): str, - probatio.Required(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Required(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_PASSWORD): str, } ) diff --git a/homeassistant/components/pjlink/media_player.py b/homeassistant/components/pjlink/media_player.py index d06a2f8b00cf..a6ac8b2df94d 100644 --- a/homeassistant/components/pjlink/media_player.py +++ b/homeassistant/components/pjlink/media_player.py @@ -32,7 +32,7 @@ ERR_PROJECTOR_UNAVAILABLE = "projector unavailable" PLATFORM_SCHEMA = MEDIA_PLAYER_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_NAME): cv.string, probatio.Optional(CONF_ENCODING, default=DEFAULT_ENCODING): cv.string, probatio.Optional(CONF_PASSWORD): cv.string, diff --git a/homeassistant/components/proxmoxve/config_flow.py b/homeassistant/components/proxmoxve/config_flow.py index 5106f2425e29..8725341e3411 100644 --- a/homeassistant/components/proxmoxve/config_flow.py +++ b/homeassistant/components/proxmoxve/config_flow.py @@ -64,7 +64,7 @@ BASE_SCHEMA = probatio.Schema( probatio.Required(CONF_USERNAME): TextSelector( TextSelectorConfig(type=TextSelectorType.TEXT, autocomplete="username") ), - probatio.Required(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Required(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Required(CONF_TOKEN, default=False): cv.boolean, probatio.Optional(CONF_VERIFY_SSL, default=DEFAULT_VERIFY_SSL): cv.boolean, } diff --git a/homeassistant/components/pulseaudio_loopback/switch.py b/homeassistant/components/pulseaudio_loopback/switch.py index 0f35ab7af56e..f00693128546 100644 --- a/homeassistant/components/pulseaudio_loopback/switch.py +++ b/homeassistant/components/pulseaudio_loopback/switch.py @@ -34,7 +34,7 @@ PLATFORM_SCHEMA = SWITCH_PLATFORM_SCHEMA.extend( probatio.Required(CONF_SOURCE_NAME): cv.string, probatio.Optional(CONF_HOST): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/qnap/config_flow.py b/homeassistant/components/qnap/config_flow.py index a5358c317647..16642738acf9 100644 --- a/homeassistant/components/qnap/config_flow.py +++ b/homeassistant/components/qnap/config_flow.py @@ -33,7 +33,7 @@ DATA_SCHEMA = probatio.Schema( probatio.Required(CONF_PASSWORD): cv.string, probatio.Optional(CONF_SSL, default=DEFAULT_SSL): cv.boolean, probatio.Optional(CONF_VERIFY_SSL, default=DEFAULT_VERIFY_SSL): cv.boolean, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/qvr_pro/__init__.py b/homeassistant/components/qvr_pro/__init__.py index 9dbfbcd97fb4..30243a0c318d 100644 --- a/homeassistant/components/qvr_pro/__init__.py +++ b/homeassistant/components/qvr_pro/__init__.py @@ -39,7 +39,7 @@ CONFIG_SCHEMA = probatio.Schema( probatio.Required(CONF_HOST): cv.string, probatio.Required(CONF_USERNAME): cv.string, probatio.Required(CONF_PASSWORD): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_EXCLUDE_CHANNELS, default=[]): probatio.All( cv.ensure_list_csv, [cv.positive_int] ), diff --git a/homeassistant/components/raspyrfm/switch.py b/homeassistant/components/raspyrfm/switch.py index 113fe9b6b5e8..ab3ff6ffc680 100644 --- a/homeassistant/components/raspyrfm/switch.py +++ b/homeassistant/components/raspyrfm/switch.py @@ -42,7 +42,7 @@ DEFAULT_HOST = "127.0.0.1" PLATFORM_SCHEMA = SWITCH_PLATFORM_SCHEMA.extend( { probatio.Optional(CONF_HOST, default=DEFAULT_HOST): cv.string, - probatio.Optional(CONF_PORT): cv.port, + probatio.Optional(CONF_PORT): probatio.Port(), probatio.Optional(CONF_GATEWAY_MANUFACTURER): cv.string, probatio.Optional(CONF_GATEWAY_MODEL): cv.string, probatio.Required(CONF_SWITCHES): probatio.Schema( diff --git a/homeassistant/components/reolink/config_flow.py b/homeassistant/components/reolink/config_flow.py index b10fa6d0f6e3..a6ae03665c35 100644 --- a/homeassistant/components/reolink/config_flow.py +++ b/homeassistant/components/reolink/config_flow.py @@ -32,7 +32,7 @@ from homeassistant.const import ( ) from homeassistant.core import callback from homeassistant.data_entry_flow import AbortFlow -from homeassistant.helpers import config_validation as cv, selector +from homeassistant.helpers import selector from homeassistant.helpers.device_registry import format_mac from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo @@ -367,9 +367,11 @@ class ReolinkFlowHandler(ConfigFlow, domain=DOMAIN): if errors: data_schema = data_schema.extend( { - probatio.Optional(CONF_PORT): cv.port, + probatio.Optional(CONF_PORT): probatio.Port(), probatio.Required(CONF_USE_HTTPS, default=False): bool, - probatio.Required(CONF_BC_PORT, default=DEFAULT_BC_PORT): cv.port, + probatio.Required( + CONF_BC_PORT, default=DEFAULT_BC_PORT + ): probatio.Port(), } ) diff --git a/homeassistant/components/repetier/__init__.py b/homeassistant/components/repetier/__init__.py index e658486b1a5d..5fac129372c6 100644 --- a/homeassistant/components/repetier/__init__.py +++ b/homeassistant/components/repetier/__init__.py @@ -204,7 +204,7 @@ CONFIG_SCHEMA = probatio.Schema( { probatio.Required(CONF_API_KEY): cv.string, probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=3344): cv.port, + probatio.Optional(CONF_PORT, default=3344): probatio.Port(), probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, probatio.Optional(CONF_SENSORS, default={}): SENSOR_SCHEMA, } diff --git a/homeassistant/components/rflink/__init__.py b/homeassistant/components/rflink/__init__.py index 208411a72631..95a37c349335 100644 --- a/homeassistant/components/rflink/__init__.py +++ b/homeassistant/components/rflink/__init__.py @@ -101,7 +101,7 @@ CONFIG_SCHEMA = probatio.Schema( { DOMAIN: probatio.Schema( { - probatio.Required(CONF_PORT): probatio.Any(cv.port, cv.string), + probatio.Required(CONF_PORT): probatio.Any(probatio.Port(), cv.string), probatio.Optional(CONF_HOST): cv.string, probatio.Optional(CONF_WAIT_FOR_ACK, default=True): cv.boolean, probatio.Optional( diff --git a/homeassistant/components/roon/config_flow.py b/homeassistant/components/roon/config_flow.py index 773b45c77d2b..c9ae9a380ec7 100644 --- a/homeassistant/components/roon/config_flow.py +++ b/homeassistant/components/roon/config_flow.py @@ -27,7 +27,7 @@ _LOGGER = logging.getLogger(__name__) DATA_SCHEMA = probatio.Schema( { probatio.Required("host"): cv.string, - probatio.Required("port", default=9330): cv.port, + probatio.Required("port", default=9330): probatio.Port(), } ) diff --git a/homeassistant/components/russound_rio/config_flow.py b/homeassistant/components/russound_rio/config_flow.py index 375802772e24..f105ca21de2d 100644 --- a/homeassistant/components/russound_rio/config_flow.py +++ b/homeassistant/components/russound_rio/config_flow.py @@ -54,7 +54,7 @@ TRANSPORT_SCHEMA = probatio.Schema( TCP_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/russound_rnet/media_player.py b/homeassistant/components/russound_rnet/media_player.py index 9c4f876a134a..054493bfc418 100644 --- a/homeassistant/components/russound_rnet/media_player.py +++ b/homeassistant/components/russound_rnet/media_player.py @@ -51,7 +51,7 @@ PLATFORM_SCHEMA = MEDIA_PLAYER_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, probatio.Required(CONF_NAME): cv.string, - probatio.Required(CONF_PORT): cv.port, + probatio.Required(CONF_PORT): probatio.Port(), probatio.Required(CONF_ZONES): probatio.Schema({cv.positive_int: ZONE_SCHEMA}), probatio.Required(CONF_SOURCES): probatio.All( probatio.EnsureList(), [SOURCE_SCHEMA] diff --git a/homeassistant/components/satel_integra/config_flow.py b/homeassistant/components/satel_integra/config_flow.py index 7565765d3b74..eeeaee4ea685 100644 --- a/homeassistant/components/satel_integra/config_flow.py +++ b/homeassistant/components/satel_integra/config_flow.py @@ -50,7 +50,7 @@ _LOGGER = logging.getLogger(__package__) CONNECTION_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST): str, - probatio.Required(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Required(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_ENCRYPTION_KEY): selector.TextSelector( selector.TextSelectorConfig(type=selector.TextSelectorType.PASSWORD) ), diff --git a/homeassistant/components/shelly/__init__.py b/homeassistant/components/shelly/__init__.py index 78c8d616dd44..b405df7066e9 100644 --- a/homeassistant/components/shelly/__init__.py +++ b/homeassistant/components/shelly/__init__.py @@ -29,7 +29,6 @@ from homeassistant.const import ( from homeassistant.core import HomeAssistant from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady from homeassistant.helpers import ( - config_validation as cv, device_registry as dr, entity_registry as er, issue_registry as ir, @@ -114,7 +113,7 @@ RPC_SLEEPING_PLATFORMS: Final = [ COAP_SCHEMA: Final = probatio.Schema( { - probatio.Optional(CONF_COAP_PORT, default=DEFAULT_COAP_PORT): cv.port, + probatio.Optional(CONF_COAP_PORT, default=DEFAULT_COAP_PORT): probatio.Port(), } ) CONFIG_SCHEMA: Final = probatio.Schema( diff --git a/homeassistant/components/smtp/config_flow.py b/homeassistant/components/smtp/config_flow.py index 18b2b8986e02..73ba306db349 100644 --- a/homeassistant/components/smtp/config_flow.py +++ b/homeassistant/components/smtp/config_flow.py @@ -99,7 +99,7 @@ STEP_USER_DATA_SCHEMA = probatio.Schema( ), probatio.Optional(CONF_SENDER_NAME): cv.string, probatio.Required(CONF_SERVER, default=DEFAULT_HOST): cv.string, - probatio.Required(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Required(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Required(CONF_ENCRYPTION, default=DEFAULT_ENCRYPTION): SelectSelector( SelectSelectorConfig( options=ENCRYPTION_OPTIONS, diff --git a/homeassistant/components/smtp/notify.py b/homeassistant/components/smtp/notify.py index 342f7def710a..0226942977bc 100644 --- a/homeassistant/components/smtp/notify.py +++ b/homeassistant/components/smtp/notify.py @@ -99,7 +99,7 @@ PLATFORM_SCHEMA = NOTIFY_PLATFORM_SCHEMA.extend( ), probatio.Required(CONF_SENDER): probatio.Email(), probatio.Optional(CONF_SERVER, default=DEFAULT_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_TIMEOUT, default=DEFAULT_TIMEOUT): cv.positive_int, probatio.Optional(CONF_ENCRYPTION, default=DEFAULT_ENCRYPTION): probatio.In( ENCRYPTION_OPTIONS diff --git a/homeassistant/components/snmp/sensor.py b/homeassistant/components/snmp/sensor.py index 9b979ec58178..cc874be42c0b 100644 --- a/homeassistant/components/snmp/sensor.py +++ b/homeassistant/components/snmp/sensor.py @@ -93,7 +93,7 @@ PLATFORM_SCHEMA = SENSOR_PLATFORM_SCHEMA.extend( probatio.Optional(CONF_COMMUNITY, default=DEFAULT_COMMUNITY): cv.string, probatio.Optional(CONF_DEFAULT_VALUE): cv.string, probatio.Optional(CONF_HOST, default=DEFAULT_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_VALUE_TEMPLATE): probatio.All( cv.template, ValueTemplate.from_template ), diff --git a/homeassistant/components/snmp/switch.py b/homeassistant/components/snmp/switch.py index 7be1ca607eba..9a61b52cb6af 100644 --- a/homeassistant/components/snmp/switch.py +++ b/homeassistant/components/snmp/switch.py @@ -110,7 +110,7 @@ PLATFORM_SCHEMA = SWITCH_PLATFORM_SCHEMA.extend( probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, probatio.Optional(CONF_PAYLOAD_OFF, default=DEFAULT_PAYLOAD_OFF): cv.string, probatio.Optional(CONF_PAYLOAD_ON, default=DEFAULT_PAYLOAD_ON): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_VERSION, default=DEFAULT_VERSION): probatio.In( SNMP_VERSIONS ), diff --git a/homeassistant/components/solax/config_flow.py b/homeassistant/components/solax/config_flow.py index 02e847a7470b..431e16b0bab0 100644 --- a/homeassistant/components/solax/config_flow.py +++ b/homeassistant/components/solax/config_flow.py @@ -23,7 +23,7 @@ DEFAULT_PASSWORD = "" STEP_USER_DATA_SCHEMA = probatio.Schema( { probatio.Required(CONF_IP_ADDRESS): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_PASSWORD, default=DEFAULT_PASSWORD): cv.string, } ) diff --git a/homeassistant/components/statsd/__init__.py b/homeassistant/components/statsd/__init__.py index 0f4d4d8b0296..a9de8bf38bb1 100644 --- a/homeassistant/components/statsd/__init__.py +++ b/homeassistant/components/statsd/__init__.py @@ -28,7 +28,7 @@ CONFIG_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST, default=DEFAULT_HOST): cv.string, probatio.Optional(CONF_ATTR, default=False): cv.boolean, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_PREFIX, default=DEFAULT_PREFIX): cv.string, probatio.Optional(CONF_RATE, default=DEFAULT_RATE): probatio.All( probatio.Coerce(int), probatio.Range(min=1) diff --git a/homeassistant/components/synology_srm/device_tracker.py b/homeassistant/components/synology_srm/device_tracker.py index 84b1aa372ec4..822f0cec6ce6 100644 --- a/homeassistant/components/synology_srm/device_tracker.py +++ b/homeassistant/components/synology_srm/device_tracker.py @@ -35,7 +35,7 @@ PLATFORM_SCHEMA = DEVICE_TRACKER_PLATFORM_SCHEMA.extend( probatio.Required(CONF_HOST): cv.string, probatio.Required(CONF_USERNAME, default=DEFAULT_USERNAME): cv.string, probatio.Required(CONF_PASSWORD): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_SSL, default=DEFAULT_SSL): cv.boolean, probatio.Optional(CONF_VERIFY_SSL, default=DEFAULT_VERIFY_SSL): cv.boolean, } diff --git a/homeassistant/components/tcp/common.py b/homeassistant/components/tcp/common.py index 1df7da80417d..f81921f9676a 100644 --- a/homeassistant/components/tcp/common.py +++ b/homeassistant/components/tcp/common.py @@ -29,7 +29,7 @@ from .const import ( TCP_PLATFORM_SCHEMA: Final[dict[probatio.Marker, Any]] = { probatio.Required(CONF_HOST): cv.string, - probatio.Required(CONF_PORT): cv.port, + probatio.Required(CONF_PORT): probatio.Port(), probatio.Required(CONF_PAYLOAD): cv.string, probatio.Optional(CONF_BUFFER_SIZE, default=DEFAULT_BUFFER_SIZE): cv.positive_int, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, diff --git a/homeassistant/components/ted5000/sensor.py b/homeassistant/components/ted5000/sensor.py index 4d01cef74cbe..567ff14d64d5 100644 --- a/homeassistant/components/ted5000/sensor.py +++ b/homeassistant/components/ted5000/sensor.py @@ -39,7 +39,7 @@ MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=10) PLATFORM_SCHEMA = SENSOR_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=80): cv.port, + probatio.Optional(CONF_PORT, default=80): probatio.Port(), probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, } ) diff --git a/homeassistant/components/tellstick/__init__.py b/homeassistant/components/tellstick/__init__.py index e41711f84a5b..6e156a552e88 100644 --- a/homeassistant/components/tellstick/__init__.py +++ b/homeassistant/components/tellstick/__init__.py @@ -33,7 +33,9 @@ CONFIG_SCHEMA = probatio.Schema( { probatio.Inclusive(CONF_HOST, "tellcore-net"): cv.string, probatio.Inclusive(CONF_PORT, "tellcore-net"): probatio.All( - probatio.EnsureList(), [cv.port], probatio.Length(min=2, max=2) + probatio.EnsureList(), + [probatio.Port()], + probatio.Length(min=2, max=2), ), probatio.Optional( CONF_SIGNAL_REPETITIONS, default=DEFAULT_SIGNAL_REPETITIONS diff --git a/homeassistant/components/telnet/switch.py b/homeassistant/components/telnet/switch.py index d0bce8c381e9..f111db5ccec5 100644 --- a/homeassistant/components/telnet/switch.py +++ b/homeassistant/components/telnet/switch.py @@ -42,7 +42,7 @@ SWITCH_SCHEMA = probatio.Schema( probatio.Optional(CONF_VALUE_TEMPLATE): cv.template, probatio.Optional(CONF_COMMAND_STATE): cv.string, probatio.Optional(CONF_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_TIMEOUT, default=DEFAULT_TIMEOUT): probatio.Coerce( float ), diff --git a/homeassistant/components/tomato/device_tracker.py b/homeassistant/components/tomato/device_tracker.py index 857c84cc3037..2ee415107481 100644 --- a/homeassistant/components/tomato/device_tracker.py +++ b/homeassistant/components/tomato/device_tracker.py @@ -33,7 +33,7 @@ _LOGGER = logging.getLogger(__name__) PLATFORM_SCHEMA = DEVICE_TRACKER_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT): cv.port, + probatio.Optional(CONF_PORT): probatio.Port(), probatio.Optional(CONF_SSL, default=False): cv.boolean, probatio.Optional(CONF_VERIFY_SSL, default=True): probatio.Any( cv.boolean, cv.isfile diff --git a/homeassistant/components/unifi_direct/config_flow.py b/homeassistant/components/unifi_direct/config_flow.py index bf2cf16c6e13..ea45955d8f1f 100644 --- a/homeassistant/components/unifi_direct/config_flow.py +++ b/homeassistant/components/unifi_direct/config_flow.py @@ -7,7 +7,6 @@ from unifi_ap import UniFiAP, UniFiAPConnectionException, UniFiAPDataException from homeassistant.config_entries import ConfigFlow, ConfigFlowResult from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_PORT, CONF_USERNAME -from homeassistant.helpers import config_validation as cv from .const import DEFAULT_NAME, DEFAULT_SSH_PORT, DOMAIN @@ -16,7 +15,7 @@ STEP_USER_DATA_SCHEMA = probatio.Schema( probatio.Required(CONF_HOST): str, probatio.Required(CONF_USERNAME): str, probatio.Required(CONF_PASSWORD): str, - probatio.Optional(CONF_PORT, default=DEFAULT_SSH_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_SSH_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/unifi_direct/device_tracker.py b/homeassistant/components/unifi_direct/device_tracker.py index f6fbcbf4db97..9e551af269dc 100644 --- a/homeassistant/components/unifi_direct/device_tracker.py +++ b/homeassistant/components/unifi_direct/device_tracker.py @@ -26,7 +26,7 @@ PLATFORM_SCHEMA = DEVICE_TRACKER_PLATFORM_SCHEMA.extend( probatio.Required(CONF_HOST): cv.string, probatio.Required(CONF_USERNAME): cv.string, probatio.Required(CONF_PASSWORD): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_SSH_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_SSH_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/uvc/camera.py b/homeassistant/components/uvc/camera.py index c68013027cc8..2a510060a30c 100644 --- a/homeassistant/components/uvc/camera.py +++ b/homeassistant/components/uvc/camera.py @@ -37,7 +37,7 @@ PLATFORM_SCHEMA = CAMERA_PLATFORM_SCHEMA.extend( probatio.Required(CONF_NVR): cv.string, probatio.Required(CONF_KEY): cv.string, probatio.Optional(CONF_PASSWORD, default=DEFAULT_PASSWORD): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_SSL, default=DEFAULT_SSL): cv.boolean, } ) diff --git a/homeassistant/components/vivotek/config_flow.py b/homeassistant/components/vivotek/config_flow.py index 789cfa969905..ddcea5a0bc9f 100644 --- a/homeassistant/components/vivotek/config_flow.py +++ b/homeassistant/components/vivotek/config_flow.py @@ -43,7 +43,7 @@ DESCRIPTION_PLACEHOLDERS = { CONF_SCHEMA = probatio.Schema( { probatio.Required(CONF_IP_ADDRESS): cv.string, - probatio.Required(CONF_PORT, default=80): cv.port, + probatio.Required(CONF_PORT, default=80): probatio.Port(), probatio.Required(CONF_USERNAME): cv.string, probatio.Required(CONF_PASSWORD): cv.string, probatio.Required( diff --git a/homeassistant/components/voip/config_flow.py b/homeassistant/components/voip/config_flow.py index 1630e51fc9ad..3883e87c7891 100644 --- a/homeassistant/components/voip/config_flow.py +++ b/homeassistant/components/voip/config_flow.py @@ -81,7 +81,7 @@ class VoipOptionsFlowHandler(OptionsFlow): CONF_SIP_PORT, SIP_PORT, ), - ): cv.port, + ): probatio.Port(), probatio.Optional( CONF_SIP_USER, description={ diff --git a/homeassistant/components/volkszaehler/config_flow.py b/homeassistant/components/volkszaehler/config_flow.py index 81fc56e87268..8aa9c21b9bfc 100644 --- a/homeassistant/components/volkszaehler/config_flow.py +++ b/homeassistant/components/volkszaehler/config_flow.py @@ -31,7 +31,7 @@ _LOGGER = logging.getLogger(__name__) STEP_USER_DATA_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST): cv.string, - probatio.Required(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Required(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Required(CONF_UUID): cv.string, } ) diff --git a/homeassistant/components/volkszaehler/sensor.py b/homeassistant/components/volkszaehler/sensor.py index a16b22d700a0..76826f97b8fb 100644 --- a/homeassistant/components/volkszaehler/sensor.py +++ b/homeassistant/components/volkszaehler/sensor.py @@ -76,7 +76,7 @@ PLATFORM_SCHEMA = SENSOR_PLATFORM_SCHEMA.extend( probatio.Required(CONF_UUID): cv.string, probatio.Optional(CONF_HOST, default=DEFAULT_HOST): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_MONITORED_CONDITIONS, default=["average"]): probatio.All( probatio.EnsureList(), [probatio.In(SENSOR_KEYS)] ), diff --git a/homeassistant/components/wake_on_lan/__init__.py b/homeassistant/components/wake_on_lan/__init__.py index d25ea2c5a5de..b7e6baa12b57 100644 --- a/homeassistant/components/wake_on_lan/__init__.py +++ b/homeassistant/components/wake_on_lan/__init__.py @@ -23,7 +23,7 @@ WAKE_ON_LAN_SEND_MAGIC_PACKET_SCHEMA = probatio.Schema( probatio.Required(CONF_MAC): cv.string, probatio.Optional(CONF_SECUREON_PASSWORD): cv.string, probatio.Optional(CONF_BROADCAST_ADDRESS): cv.string, - probatio.Optional(CONF_BROADCAST_PORT): cv.port, + probatio.Optional(CONF_BROADCAST_PORT): probatio.Port(), } ) diff --git a/homeassistant/components/wake_on_lan/switch.py b/homeassistant/components/wake_on_lan/switch.py index 37a3680c3740..1892e84ec803 100644 --- a/homeassistant/components/wake_on_lan/switch.py +++ b/homeassistant/components/wake_on_lan/switch.py @@ -32,7 +32,7 @@ PLATFORM_SCHEMA = SWITCH_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_MAC): cv.string, probatio.Optional(CONF_BROADCAST_ADDRESS): cv.string, - probatio.Optional(CONF_BROADCAST_PORT): cv.port, + probatio.Optional(CONF_BROADCAST_PORT): probatio.Port(), probatio.Optional(CONF_HOST): cv.string, probatio.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, probatio.Optional(CONF_OFF_ACTION): cv.SCRIPT_SCHEMA, diff --git a/homeassistant/components/wemo/__init__.py b/homeassistant/components/wemo/__init__.py index 9497854eb94f..c859fba39f4d 100644 --- a/homeassistant/components/wemo/__init__.py +++ b/homeassistant/components/wemo/__init__.py @@ -56,7 +56,7 @@ def coerce_host_port(value: str) -> HostPortTuple: if not host: raise probatio.Invalid("host cannot be empty") - port = cv.port(port_str) if port_str else None + port = probatio.Port()(port_str) if port_str else None return host, port diff --git a/homeassistant/components/xiaomi/camera.py b/homeassistant/components/xiaomi/camera.py index 1bb2b472bab0..f7aa2359f90f 100644 --- a/homeassistant/components/xiaomi/camera.py +++ b/homeassistant/components/xiaomi/camera.py @@ -47,7 +47,7 @@ PLATFORM_SCHEMA = CAMERA_PLATFORM_SCHEMA.extend( probatio.Required(CONF_NAME): cv.string, probatio.Required(CONF_HOST): cv.template, probatio.Required(CONF_MODEL): probatio.Any(MODEL_YI, MODEL_XIAOFANG), - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_PATH, default=DEFAULT_PATH): cv.string, probatio.Optional(CONF_USERNAME, default=DEFAULT_USERNAME): cv.string, probatio.Required(CONF_PASSWORD): cv.string, diff --git a/homeassistant/components/yi/camera.py b/homeassistant/components/yi/camera.py index c177cf2d3e09..8cccbe0622ed 100644 --- a/homeassistant/components/yi/camera.py +++ b/homeassistant/components/yi/camera.py @@ -43,7 +43,7 @@ PLATFORM_SCHEMA = CAMERA_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_NAME): cv.string, probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional(CONF_PATH, default=DEFAULT_PATH): cv.string, probatio.Optional(CONF_USERNAME, default=DEFAULT_USERNAME): cv.string, probatio.Required(CONF_PASSWORD): cv.string, diff --git a/homeassistant/components/zhong_hong/climate.py b/homeassistant/components/zhong_hong/climate.py index f2f3fa5ea9be..e640064a2d3f 100644 --- a/homeassistant/components/zhong_hong/climate.py +++ b/homeassistant/components/zhong_hong/climate.py @@ -57,7 +57,7 @@ PARALLEL_UPDATES = 1 PLATFORM_SCHEMA = CLIMATE_PLATFORM_SCHEMA.extend( { probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional( CONF_GATEWAY_ADDRESS, default=DEFAULT_GATEWAY_ADDRESS ): cv.positive_int, diff --git a/homeassistant/components/zhong_hong/config_flow.py b/homeassistant/components/zhong_hong/config_flow.py index 623436a1347d..8b8ff07383bf 100644 --- a/homeassistant/components/zhong_hong/config_flow.py +++ b/homeassistant/components/zhong_hong/config_flow.py @@ -22,7 +22,7 @@ from .const import ( STEP_USER_DATA_SCHEMA = probatio.Schema( { probatio.Required(CONF_HOST): cv.string, - probatio.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port, + probatio.Optional(CONF_PORT, default=DEFAULT_PORT): probatio.Port(), probatio.Optional( CONF_GATEWAY_ADDRESS, default=DEFAULT_GATEWAY_ADDRESS ): cv.positive_int, diff --git a/pyproject.toml b/pyproject.toml index bc63c8fc842a..1bc58c2de2a8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -861,6 +861,7 @@ mark-parentheses = false "tests".msg = "You should not import tests" "voluptuous".msg = "use probatio instead" "homeassistant.helpers.config_validation.ensure_list".msg = "use probatio.EnsureList() instead" +"homeassistant.helpers.config_validation.port".msg = "use probatio.Port() instead" "__future__.annotations".msg = "It should not be needed because Home Assistant requires Python 3.14+" [tool.ruff.lint.isort]