car control
This commit is contained in:
@@ -129,4 +129,41 @@ output:
|
|||||||
unit: "-"
|
unit: "-"
|
||||||
register_type: holding
|
register_type: holding
|
||||||
data_type: int32
|
data_type: int32
|
||||||
adaptor: onOffAdaptor
|
adaptor: onOffAdaptor
|
||||||
|
- name: car_control
|
||||||
|
publish_topic: IoT/Car/Control
|
||||||
|
slave_id: 5
|
||||||
|
registers:
|
||||||
|
- address: 0x0001
|
||||||
|
attribute: state
|
||||||
|
name: State
|
||||||
|
unit: "-"
|
||||||
|
register_type: holding
|
||||||
|
data_type: int32
|
||||||
|
adaptor: onOffAdaptor
|
||||||
|
- name: car_meter
|
||||||
|
enabled: true
|
||||||
|
publish_topic: IoT/Car/Values
|
||||||
|
slave_id: 6
|
||||||
|
registers:
|
||||||
|
- address: 14
|
||||||
|
attribute: voltageL1
|
||||||
|
name: Voltage L1
|
||||||
|
unit: V
|
||||||
|
register_type: input
|
||||||
|
data_type: float32
|
||||||
|
adaptor: floatAdaptor
|
||||||
|
- address: 16
|
||||||
|
attribute: voltageL2
|
||||||
|
name: Voltage L2
|
||||||
|
unit: V
|
||||||
|
register_type: input
|
||||||
|
data_type: float32
|
||||||
|
adaptor: floatAdaptor
|
||||||
|
- address: 18
|
||||||
|
attribute: voltageL3
|
||||||
|
name: Voltage L3
|
||||||
|
unit: V
|
||||||
|
register_type: input
|
||||||
|
data_type: float32
|
||||||
|
adaptor: floatAdaptor
|
||||||
|
|||||||
@@ -29,6 +29,9 @@ class FromDevices(AbstractMqttPublisher):
|
|||||||
payload['timestamp'] = datetime.datetime.isoformat(datetime.datetime.utcnow())
|
payload['timestamp'] = datetime.datetime.isoformat(datetime.datetime.utcnow())
|
||||||
for device in self.config.output:
|
for device in self.config.output:
|
||||||
logger.debug(f"{device.name=} {device.publish_topic=}")
|
logger.debug(f"{device.name=} {device.publish_topic=}")
|
||||||
|
if not device.enabled:
|
||||||
|
logger.debug(f" device disabled, skipping")
|
||||||
|
continue
|
||||||
for registers in device.registers:
|
for registers in device.registers:
|
||||||
logger.debug(f" {registers.name=} {registers.address=} {registers.register_type=}")
|
logger.debug(f" {registers.name=} {registers.address=} {registers.register_type=}")
|
||||||
rawValue = self.modbusHandler.readRegister(registers.register_type, device.slave_id, registers.address, registers.data_type)
|
rawValue = self.modbusHandler.readRegister(registers.register_type, device.slave_id, registers.address, registers.data_type)
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ class RegisterConfig(BaseModel):
|
|||||||
class OutputConfig(BaseModel):
|
class OutputConfig(BaseModel):
|
||||||
"""Output Configuration for Modbus Devices"""
|
"""Output Configuration for Modbus Devices"""
|
||||||
name: str
|
name: str
|
||||||
|
enabled: bool = Field(default=True)
|
||||||
publish_topic: str
|
publish_topic: str
|
||||||
slave_id: int
|
slave_id: int
|
||||||
registers: List[RegisterConfig]
|
registers: List[RegisterConfig]
|
||||||
|
|||||||
Reference in New Issue
Block a user