@@ -175,37 +175,57 @@ async def async_setup(hass, config):
175175
176176 component = hass .data [DOMAIN ][CONF_COMPONENT ] = EntityComponent (_LOGGER , DOMAIN , hass )
177177
178- # Register entity services
179- component .async_register_entity_service (SERVICE_WAKEUP , {}, "async_wakeup" )
180- component .async_register_entity_service (SERVICE_PAGE_NEXT , {}, "async_change_page_next" )
181- component .async_register_entity_service (SERVICE_PAGE_PREV , {}, "async_change_page_prev" )
178+ # Use cv.make_entity_service_schema for all services for consistency
182179 component .async_register_entity_service (
183- SERVICE_PAGE_CHANGE , {vol .Required (ATTR_PAGE ): int }, "async_change_page"
180+ SERVICE_WAKEUP ,
181+ cv .make_entity_service_schema ({}),
182+ "async_wakeup" ,
184183 )
185184 component .async_register_entity_service (
186- SERVICE_LOAD_PAGE , {vol .Required (ATTR_PATH ): cv .isfile }, "async_load_page"
185+ SERVICE_PAGE_NEXT ,
186+ cv .make_entity_service_schema ({}),
187+ "async_change_page_next" ,
187188 )
188189 component .async_register_entity_service (
189- SERVICE_CLEAR_PAGE , {vol .Optional (ATTR_PAGE ): int }, "async_clearpage"
190+ SERVICE_PAGE_PREV ,
191+ cv .make_entity_service_schema ({}),
192+ "async_change_page_prev" ,
193+ )
194+ component .async_register_entity_service (
195+ SERVICE_PAGE_CHANGE ,
196+ cv .make_entity_service_schema ({vol .Required (ATTR_PAGE ): int }),
197+ "async_change_page" ,
198+ )
199+ component .async_register_entity_service (
200+ SERVICE_LOAD_PAGE ,
201+ cv .make_entity_service_schema ({vol .Required (ATTR_PATH ): cv .isfile }),
202+ "async_load_page" ,
203+ )
204+ component .async_register_entity_service (
205+ SERVICE_CLEAR_PAGE ,
206+ cv .make_entity_service_schema ({vol .Optional (ATTR_PAGE ): int }),
207+ "async_clearpage" ,
190208 )
191209 component .async_register_entity_service (
192210 SERVICE_COMMAND ,
193- {
211+ cv . make_entity_service_schema ( {
194212 vol .Required (ATTR_COMMAND_KEYWORD ): cv .string ,
195213 vol .Optional (ATTR_COMMAND_PARAMETERS , default = "" ): cv .string ,
196- },
214+ }) ,
197215 "async_command_service" ,
198216 )
199217 component .async_register_entity_service (
200218 SERVICE_CONFIG ,
201- {
219+ cv . make_entity_service_schema ( {
202220 vol .Required (ATTR_CONFIG_SUBMODULE ): cv .string ,
203221 vol .Required (ATTR_CONFIG_PARAMETERS ): cv .string ,
204- },
222+ }) ,
205223 "async_config_service" ,
206224 )
207225 component .async_register_entity_service (
208- SERVICE_PUSH_IMAGE , PUSH_IMAGE_SCHEMA , "async_push_image"
226+ SERVICE_PUSH_IMAGE ,
227+ PUSH_IMAGE_SCHEMA ,
228+ "async_push_image" ,
209229 )
210230
211231 hass .data [DOMAIN ][DATA_IMAGES ] = dict ()
@@ -400,7 +420,8 @@ async def statusupdate_message_received(msg):
400420 """Process statusupdate message."""
401421 try :
402422 message = HASP_STATUSUPDATE_SCHEMA (json .loads (msg .payload ))
403- major , minor , _ = message ["version" ].split ("." )
423+
424+ major , minor , patch = message ["version" ].split ("." )[:3 ]
404425 if (major , minor ) != (MAJOR , MINOR ):
405426 _LOGGER .warning (
406427 "%s firmware mismatch %s <> %s" ,
0 commit comments