Remove non pymodbus_call from modbus.py. (#50813)

This commit is contained in:
jan iversen 2021-05-19 11:39:53 +02:00 committed by GitHub
parent f14f7134b3
commit b7fc537cd5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -92,12 +92,12 @@ async def async_modbus_setup(
service.data[ATTR_HUB] if ATTR_HUB in service.data else DEFAULT_HUB service.data[ATTR_HUB] if ATTR_HUB in service.data else DEFAULT_HUB
) )
if isinstance(value, list): if isinstance(value, list):
await hub_collect[client_name].async_write_registers( await hub_collect[client_name].async_pymodbus_call(
unit, address, [int(float(i)) for i in value] unit, address, [int(float(i)) for i in value], CALL_TYPE_WRITE_REGISTERS
) )
else: else:
await hub_collect[client_name].async_write_register( await hub_collect[client_name].async_pymodbus_call(
unit, address, int(float(value)) unit, address, int(float(value)), CALL_TYPE_WRITE_REGISTER
) )
hass.services.async_register( hass.services.async_register(
@ -116,9 +116,13 @@ async def async_modbus_setup(
service.data[ATTR_HUB] if ATTR_HUB in service.data else DEFAULT_HUB service.data[ATTR_HUB] if ATTR_HUB in service.data else DEFAULT_HUB
) )
if isinstance(state, list): if isinstance(state, list):
await hub_collect[client_name].async_write_coils(unit, address, state) await hub_collect[client_name].async_pymodbus_call(
unit, address, state, CALL_TYPE_WRITE_COILS
)
else: else:
await hub_collect[client_name].async_write_coil(unit, address, state) await hub_collect[client_name].async_pymodbus_call(
unit, address, state, CALL_TYPE_WRITE_COIL
)
hass.services.async_register( hass.services.async_register(
DOMAIN, SERVICE_WRITE_COIL, async_write_coil, schema=service_write_coil_schema DOMAIN, SERVICE_WRITE_COIL, async_write_coil, schema=service_write_coil_schema
@ -326,27 +330,3 @@ class ModbusHub:
return await self.hass.async_add_executor_job( return await self.hass.async_add_executor_job(
self._pymodbus_call, unit, address, value, use_call self._pymodbus_call, unit, address, value, use_call
) )
async def async_write_coil(self, unit, address, value) -> bool:
"""Write coil."""
return await self.async_pymodbus_call(
unit, address, value, CALL_TYPE_WRITE_COIL
)
async def async_write_coils(self, unit, address, values) -> bool:
"""Write coil."""
return await self.async_pymodbus_call(
unit, address, values, CALL_TYPE_WRITE_COILS
)
async def async_write_register(self, unit, address, value) -> bool:
"""Write register."""
return await self.async_pymodbus_call(
unit, address, value, CALL_TYPE_WRITE_REGISTER
)
async def async_write_registers(self, unit, address, values) -> bool:
"""Write registers."""
return await self.async_pymodbus_call(
unit, address, values, CALL_TYPE_WRITE_REGISTERS
)