Pass None instead of empty dict when registering entity services (#123879)

* Pass None instead of empty dict when registering entity services

* Update rainmachine
This commit is contained in:
Erik Montnemery 2024-08-15 10:11:43 +02:00 committed by GitHub
parent 2c3d97d373
commit 5836f8edb5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
28 changed files with 75 additions and 70 deletions

View File

@ -274,59 +274,59 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
await component.async_setup(config) await component.async_setup(config)
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_TURN_ON, {}, "async_turn_on", [MediaPlayerEntityFeature.TURN_ON] SERVICE_TURN_ON, None, "async_turn_on", [MediaPlayerEntityFeature.TURN_ON]
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_TURN_OFF, {}, "async_turn_off", [MediaPlayerEntityFeature.TURN_OFF] SERVICE_TURN_OFF, None, "async_turn_off", [MediaPlayerEntityFeature.TURN_OFF]
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_TOGGLE, SERVICE_TOGGLE,
{}, None,
"async_toggle", "async_toggle",
[MediaPlayerEntityFeature.TURN_OFF | MediaPlayerEntityFeature.TURN_ON], [MediaPlayerEntityFeature.TURN_OFF | MediaPlayerEntityFeature.TURN_ON],
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_VOLUME_UP, SERVICE_VOLUME_UP,
{}, None,
"async_volume_up", "async_volume_up",
[MediaPlayerEntityFeature.VOLUME_SET, MediaPlayerEntityFeature.VOLUME_STEP], [MediaPlayerEntityFeature.VOLUME_SET, MediaPlayerEntityFeature.VOLUME_STEP],
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_VOLUME_DOWN, SERVICE_VOLUME_DOWN,
{}, None,
"async_volume_down", "async_volume_down",
[MediaPlayerEntityFeature.VOLUME_SET, MediaPlayerEntityFeature.VOLUME_STEP], [MediaPlayerEntityFeature.VOLUME_SET, MediaPlayerEntityFeature.VOLUME_STEP],
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_MEDIA_PLAY_PAUSE, SERVICE_MEDIA_PLAY_PAUSE,
{}, None,
"async_media_play_pause", "async_media_play_pause",
[MediaPlayerEntityFeature.PLAY | MediaPlayerEntityFeature.PAUSE], [MediaPlayerEntityFeature.PLAY | MediaPlayerEntityFeature.PAUSE],
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_MEDIA_PLAY, {}, "async_media_play", [MediaPlayerEntityFeature.PLAY] SERVICE_MEDIA_PLAY, None, "async_media_play", [MediaPlayerEntityFeature.PLAY]
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_MEDIA_PAUSE, {}, "async_media_pause", [MediaPlayerEntityFeature.PAUSE] SERVICE_MEDIA_PAUSE, None, "async_media_pause", [MediaPlayerEntityFeature.PAUSE]
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_MEDIA_STOP, {}, "async_media_stop", [MediaPlayerEntityFeature.STOP] SERVICE_MEDIA_STOP, None, "async_media_stop", [MediaPlayerEntityFeature.STOP]
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_NEXT_TRACK,
{}, None,
"async_media_next_track", "async_media_next_track",
[MediaPlayerEntityFeature.NEXT_TRACK], [MediaPlayerEntityFeature.NEXT_TRACK],
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_MEDIA_PREVIOUS_TRACK, SERVICE_MEDIA_PREVIOUS_TRACK,
{}, None,
"async_media_previous_track", "async_media_previous_track",
[MediaPlayerEntityFeature.PREVIOUS_TRACK], [MediaPlayerEntityFeature.PREVIOUS_TRACK],
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_CLEAR_PLAYLIST, SERVICE_CLEAR_PLAYLIST,
{}, None,
"async_clear_playlist", "async_clear_playlist",
[MediaPlayerEntityFeature.CLEAR_PLAYLIST], [MediaPlayerEntityFeature.CLEAR_PLAYLIST],
) )
@ -423,7 +423,7 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
[MediaPlayerEntityFeature.SHUFFLE_SET], [MediaPlayerEntityFeature.SHUFFLE_SET],
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_UNJOIN, {}, "async_unjoin_player", [MediaPlayerEntityFeature.GROUPING] SERVICE_UNJOIN, None, "async_unjoin_player", [MediaPlayerEntityFeature.GROUPING]
) )
component.async_register_entity_service( component.async_register_entity_service(

View File

@ -56,7 +56,7 @@ async def async_setup_entry(
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_CLEAR_FAN_SLEEP_TIMER, SERVICE_CLEAR_FAN_SLEEP_TIMER,
{}, None,
"async_clear_fan_sleep_timer", "async_clear_fan_sleep_timer",
) )

View File

@ -61,7 +61,7 @@ async def async_setup_entry(
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_CLEAR_LIGHT_SLEEP_TIMER, SERVICE_CLEAR_LIGHT_SLEEP_TIMER,
{}, None,
"async_clear_light_sleep_timer", "async_clear_light_sleep_timer",
) )

View File

@ -136,7 +136,7 @@ async def async_setup_entry(
) )
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_SNAPSHOT, SERVICE_SNAPSHOT,
{}, None,
"async_request_snapshot", "async_request_snapshot",
) )

View File

@ -174,7 +174,7 @@ async def async_setup_entry(
) )
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_CLEAR_TEMPERATURE_SETTING, SERVICE_CLEAR_TEMPERATURE_SETTING,
{}, None,
"_async_service_clear_temperature_setting", "_async_service_clear_temperature_setting",
) )

View File

@ -31,7 +31,7 @@ async def async_setup_entry(
platform = async_get_current_platform() platform = async_get_current_platform()
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_REQUEST_IMAGE, SERVICE_REQUEST_IMAGE,
{}, None,
"async_request_image", "async_request_image",
) )

View File

@ -6,7 +6,7 @@ import asyncio
from collections.abc import Awaitable, Callable, Coroutine from collections.abc import Awaitable, Callable, Coroutine
from dataclasses import dataclass from dataclasses import dataclass
from datetime import datetime from datetime import datetime
from typing import Any, Concatenate, cast from typing import Any, Concatenate
from regenmaschine.errors import RainMachineError from regenmaschine.errors import RainMachineError
import voluptuous as vol import voluptuous as vol
@ -184,8 +184,8 @@ async def async_setup_entry(
"""Set up RainMachine switches based on a config entry.""" """Set up RainMachine switches based on a config entry."""
platform = entity_platform.async_get_current_platform() platform = entity_platform.async_get_current_platform()
for service_name, schema, method in ( services: tuple[tuple[str, VolDictType | None, str], ...] = (
("start_program", {}, "async_start_program"), ("start_program", None, "async_start_program"),
( (
"start_zone", "start_zone",
{ {
@ -195,11 +195,11 @@ async def async_setup_entry(
}, },
"async_start_zone", "async_start_zone",
), ),
("stop_program", {}, "async_stop_program"), ("stop_program", None, "async_stop_program"),
("stop_zone", {}, "async_stop_zone"), ("stop_zone", None, "async_stop_zone"),
): )
schema_dict = cast(VolDictType, schema) for service_name, schema, method in services:
platform.async_register_entity_service(service_name, schema_dict, method) platform.async_register_entity_service(service_name, schema, method)
data = entry.runtime_data data = entry.runtime_data
entities: list[RainMachineBaseSwitch] = [] entities: list[RainMachineBaseSwitch] = []

View File

@ -69,7 +69,7 @@ async def async_setup_entry(
platform.async_register_entity_service( platform.async_register_entity_service(
GET_MAPS_SERVICE_NAME, GET_MAPS_SERVICE_NAME,
{}, None,
RoborockVacuum.get_maps.__name__, RoborockVacuum.get_maps.__name__,
supports_response=SupportsResponse.ONLY, supports_response=SupportsResponse.ONLY,
) )

View File

@ -66,13 +66,13 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_SELECT_FIRST, SERVICE_SELECT_FIRST,
{}, None,
SelectEntity.async_first.__name__, SelectEntity.async_first.__name__,
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_SELECT_LAST, SERVICE_SELECT_LAST,
{}, None,
SelectEntity.async_last.__name__, SelectEntity.async_last.__name__,
) )

View File

@ -129,11 +129,11 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
[SirenEntityFeature.TURN_ON], [SirenEntityFeature.TURN_ON],
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_TURN_OFF, {}, "async_turn_off", [SirenEntityFeature.TURN_OFF] SERVICE_TURN_OFF, None, "async_turn_off", [SirenEntityFeature.TURN_OFF]
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_TOGGLE, SERVICE_TOGGLE,
{}, None,
"async_toggle", "async_toggle",
[SirenEntityFeature.TURN_ON | SirenEntityFeature.TURN_OFF], [SirenEntityFeature.TURN_ON | SirenEntityFeature.TURN_OFF],
) )

View File

@ -42,12 +42,12 @@ def register_services():
"""Register snapcast services.""" """Register snapcast services."""
platform = entity_platform.async_get_current_platform() platform = entity_platform.async_get_current_platform()
platform.async_register_entity_service(SERVICE_SNAPSHOT, {}, "snapshot") platform.async_register_entity_service(SERVICE_SNAPSHOT, None, "snapshot")
platform.async_register_entity_service(SERVICE_RESTORE, {}, "async_restore") platform.async_register_entity_service(SERVICE_RESTORE, None, "async_restore")
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_JOIN, {vol.Required(ATTR_MASTER): cv.entity_id}, handle_async_join SERVICE_JOIN, {vol.Required(ATTR_MASTER): cv.entity_id}, handle_async_join
) )
platform.async_register_entity_service(SERVICE_UNJOIN, {}, handle_async_unjoin) platform.async_register_entity_service(SERVICE_UNJOIN, None, handle_async_unjoin)
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_SET_LATENCY, SERVICE_SET_LATENCY,
{vol.Required(ATTR_LATENCY): cv.positive_int}, {vol.Required(ATTR_LATENCY): cv.positive_int},

View File

@ -162,7 +162,9 @@ async def async_setup_entry(
"set_sleep_timer", "set_sleep_timer",
) )
platform.async_register_entity_service(SERVICE_CLEAR_TIMER, {}, "clear_sleep_timer") platform.async_register_entity_service(
SERVICE_CLEAR_TIMER, None, "clear_sleep_timer"
)
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_UPDATE_ALARM, SERVICE_UPDATE_ALARM,

View File

@ -185,7 +185,7 @@ async def async_setup_entry(
{vol.Required(ATTR_OTHER_PLAYER): cv.string}, {vol.Required(ATTR_OTHER_PLAYER): cv.string},
"async_sync", "async_sync",
) )
platform.async_register_entity_service(SERVICE_UNSYNC, {}, "async_unsync") platform.async_register_entity_service(SERVICE_UNSYNC, None, "async_unsync")
# Start server discovery task if not already running # Start server discovery task if not already running
entry.async_on_unload(async_at_start(hass, start_server_discovery)) entry.async_on_unload(async_at_start(hass, start_server_discovery))

View File

@ -79,9 +79,9 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
) )
await component.async_setup(config) await component.async_setup(config)
component.async_register_entity_service(SERVICE_TURN_OFF, {}, "async_turn_off") component.async_register_entity_service(SERVICE_TURN_OFF, None, "async_turn_off")
component.async_register_entity_service(SERVICE_TURN_ON, {}, "async_turn_on") component.async_register_entity_service(SERVICE_TURN_ON, None, "async_turn_on")
component.async_register_entity_service(SERVICE_TOGGLE, {}, "async_toggle") component.async_register_entity_service(SERVICE_TOGGLE, None, "async_toggle")
return True return True

View File

@ -159,9 +159,9 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
{vol.Optional(ATTR_DURATION, default=DEFAULT_DURATION): cv.time_period}, {vol.Optional(ATTR_DURATION, default=DEFAULT_DURATION): cv.time_period},
"async_start", "async_start",
) )
component.async_register_entity_service(SERVICE_PAUSE, {}, "async_pause") component.async_register_entity_service(SERVICE_PAUSE, None, "async_pause")
component.async_register_entity_service(SERVICE_CANCEL, {}, "async_cancel") component.async_register_entity_service(SERVICE_CANCEL, None, "async_cancel")
component.async_register_entity_service(SERVICE_FINISH, {}, "async_finish") component.async_register_entity_service(SERVICE_FINISH, None, "async_finish")
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_CHANGE, SERVICE_CHANGE,
{vol.Optional(ATTR_DURATION, default=DEFAULT_DURATION): cv.time_period}, {vol.Optional(ATTR_DURATION, default=DEFAULT_DURATION): cv.time_period},

View File

@ -183,7 +183,7 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
) )
component.async_register_entity_service( component.async_register_entity_service(
TodoServices.REMOVE_COMPLETED_ITEMS, TodoServices.REMOVE_COMPLETED_ITEMS,
{}, None,
_async_remove_completed_items, _async_remove_completed_items,
required_features=[TodoListEntityFeature.DELETE_TODO_ITEM], required_features=[TodoListEntityFeature.DELETE_TODO_ITEM],
) )

View File

@ -55,13 +55,13 @@ async def async_setup_entry(
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_ALARM_ARM_AWAY_INSTANT, SERVICE_ALARM_ARM_AWAY_INSTANT,
{}, None,
"async_alarm_arm_away_instant", "async_alarm_arm_away_instant",
) )
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_ALARM_ARM_HOME_INSTANT, SERVICE_ALARM_ARM_HOME_INSTANT,
{}, None,
"async_alarm_arm_home_instant", "async_alarm_arm_home_instant",
) )

View File

@ -42,7 +42,7 @@ async def async_setup_entry(
SERVICE_LIGHT_FADE_START, UPB_BRIGHTNESS_RATE_SCHEMA, "async_light_fade_start" SERVICE_LIGHT_FADE_START, UPB_BRIGHTNESS_RATE_SCHEMA, "async_light_fade_start"
) )
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_LIGHT_FADE_STOP, {}, "async_light_fade_stop" SERVICE_LIGHT_FADE_STOP, None, "async_light_fade_stop"
) )
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_LIGHT_BLINK, UPB_BLINK_RATE_SCHEMA, "async_light_blink" SERVICE_LIGHT_BLINK, UPB_BLINK_RATE_SCHEMA, "async_light_blink"

View File

@ -31,10 +31,10 @@ async def async_setup_entry(
platform = entity_platform.async_get_current_platform() platform = entity_platform.async_get_current_platform()
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_LINK_DEACTIVATE, {}, "async_link_deactivate" SERVICE_LINK_DEACTIVATE, None, "async_link_deactivate"
) )
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_LINK_FADE_STOP, {}, "async_link_fade_stop" SERVICE_LINK_FADE_STOP, None, "async_link_fade_stop"
) )
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_LINK_GOTO, UPB_BRIGHTNESS_RATE_SCHEMA, "async_link_goto" SERVICE_LINK_GOTO, UPB_BRIGHTNESS_RATE_SCHEMA, "async_link_goto"

View File

@ -95,12 +95,12 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_SKIP, SERVICE_SKIP,
{}, None,
async_skip, async_skip,
) )
component.async_register_entity_service( component.async_register_entity_service(
"clear_skipped", "clear_skipped",
{}, None,
async_clear_skipped, async_clear_skipped,
) )

View File

@ -116,37 +116,37 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_START, SERVICE_START,
{}, None,
"async_start", "async_start",
[VacuumEntityFeature.START], [VacuumEntityFeature.START],
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_PAUSE, SERVICE_PAUSE,
{}, None,
"async_pause", "async_pause",
[VacuumEntityFeature.PAUSE], [VacuumEntityFeature.PAUSE],
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_RETURN_TO_BASE, SERVICE_RETURN_TO_BASE,
{}, None,
"async_return_to_base", "async_return_to_base",
[VacuumEntityFeature.RETURN_HOME], [VacuumEntityFeature.RETURN_HOME],
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_CLEAN_SPOT, SERVICE_CLEAN_SPOT,
{}, None,
"async_clean_spot", "async_clean_spot",
[VacuumEntityFeature.CLEAN_SPOT], [VacuumEntityFeature.CLEAN_SPOT],
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_LOCATE, SERVICE_LOCATE,
{}, None,
"async_locate", "async_locate",
[VacuumEntityFeature.LOCATE], [VacuumEntityFeature.LOCATE],
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_STOP, SERVICE_STOP,
{}, None,
"async_stop", "async_stop",
[VacuumEntityFeature.STOP], [VacuumEntityFeature.STOP],
) )

View File

@ -71,11 +71,14 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
await component.async_setup(config) await component.async_setup(config)
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_OPEN_VALVE, {}, "async_handle_open_valve", [ValveEntityFeature.OPEN] SERVICE_OPEN_VALVE, None, "async_handle_open_valve", [ValveEntityFeature.OPEN]
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_CLOSE_VALVE, {}, "async_handle_close_valve", [ValveEntityFeature.CLOSE] SERVICE_CLOSE_VALVE,
None,
"async_handle_close_valve",
[ValveEntityFeature.CLOSE],
) )
component.async_register_entity_service( component.async_register_entity_service(
@ -90,12 +93,12 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_STOP_VALVE, {}, "async_stop_valve", [ValveEntityFeature.STOP] SERVICE_STOP_VALVE, None, "async_stop_valve", [ValveEntityFeature.STOP]
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_TOGGLE, SERVICE_TOGGLE,
{}, None,
"async_toggle", "async_toggle",
[ValveEntityFeature.OPEN | ValveEntityFeature.CLOSE], [ValveEntityFeature.OPEN | ValveEntityFeature.CLOSE],
) )

View File

@ -33,7 +33,7 @@ async def async_setup_entry(
platform = async_get_current_platform() platform = async_get_current_platform()
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_CAPTURE_SMARTCAM, SERVICE_CAPTURE_SMARTCAM,
{}, None,
VerisureSmartcam.capture_smartcam.__name__, VerisureSmartcam.capture_smartcam.__name__,
) )

View File

@ -41,12 +41,12 @@ async def async_setup_entry(
platform = async_get_current_platform() platform = async_get_current_platform()
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_DISABLE_AUTOLOCK, SERVICE_DISABLE_AUTOLOCK,
{}, None,
VerisureDoorlock.disable_autolock.__name__, VerisureDoorlock.disable_autolock.__name__,
) )
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_ENABLE_AUTOLOCK, SERVICE_ENABLE_AUTOLOCK,
{}, None,
VerisureDoorlock.enable_autolock.__name__, VerisureDoorlock.enable_autolock.__name__,
) )

View File

@ -129,10 +129,10 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
await component.async_setup(config) await component.async_setup(config)
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_TURN_ON, {}, "async_turn_on", [WaterHeaterEntityFeature.ON_OFF] SERVICE_TURN_ON, None, "async_turn_on", [WaterHeaterEntityFeature.ON_OFF]
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_TURN_OFF, {}, "async_turn_off", [WaterHeaterEntityFeature.ON_OFF] SERVICE_TURN_OFF, None, "async_turn_off", [WaterHeaterEntityFeature.ON_OFF]
) )
component.async_register_entity_service( component.async_register_entity_service(
SERVICE_SET_AWAY_MODE, SET_AWAY_MODE_SCHEMA, async_service_away_mode SERVICE_SET_AWAY_MODE, SET_AWAY_MODE_SCHEMA, async_service_away_mode

View File

@ -67,7 +67,7 @@ async def async_setup_entry(
# This will call WemoHumidifier.reset_filter_life() # This will call WemoHumidifier.reset_filter_life()
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_RESET_FILTER_LIFE, {}, WemoHumidifier.reset_filter_life.__name__ SERVICE_RESET_FILTER_LIFE, None, WemoHumidifier.reset_filter_life.__name__
) )

View File

@ -170,12 +170,12 @@ async def async_setup_platform(
) )
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_SET_REMOTE_LED_ON, SERVICE_SET_REMOTE_LED_ON,
{}, None,
async_service_led_on_handler, async_service_led_on_handler,
) )
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_SET_REMOTE_LED_OFF, SERVICE_SET_REMOTE_LED_OFF,
{}, None,
async_service_led_off_handler, async_service_led_off_handler,
) )

View File

@ -104,13 +104,13 @@ async def async_setup_entry(
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_START_REMOTE_CONTROL, SERVICE_START_REMOTE_CONTROL,
{}, None,
MiroboVacuum.async_remote_control_start.__name__, MiroboVacuum.async_remote_control_start.__name__,
) )
platform.async_register_entity_service( platform.async_register_entity_service(
SERVICE_STOP_REMOTE_CONTROL, SERVICE_STOP_REMOTE_CONTROL,
{}, None,
MiroboVacuum.async_remote_control_stop.__name__, MiroboVacuum.async_remote_control_stop.__name__,
) )