car control
This commit is contained in:
@@ -129,4 +129,41 @@ output:
|
||||
unit: "-"
|
||||
register_type: holding
|
||||
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())
|
||||
for device in self.config.output:
|
||||
logger.debug(f"{device.name=} {device.publish_topic=}")
|
||||
if not device.enabled:
|
||||
logger.debug(f" device disabled, skipping")
|
||||
continue
|
||||
for registers in device.registers:
|
||||
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)
|
||||
|
||||
@@ -21,6 +21,7 @@ class RegisterConfig(BaseModel):
|
||||
class OutputConfig(BaseModel):
|
||||
"""Output Configuration for Modbus Devices"""
|
||||
name: str
|
||||
enabled: bool = Field(default=True)
|
||||
publish_topic: str
|
||||
slave_id: int
|
||||
registers: List[RegisterConfig]
|
||||
|
||||
Reference in New Issue
Block a user