To start the modbus2mqtt service you will need a configuration.yaml
in the data
folder.
Minimal configuration looks like this:
mqtt:
base_topic: modbus2mqtt
server: 'mqtt://localhost'
modbus:
port: /dev/tty.SLAB_USBtoUART
baud_rate: 9600
advanced:
log_output:
- console
Payload:
- id: a unique string for you
- modbus_id: the id of your Modbus device
- baud_rate: the baud rate of your device
- interval: in ms the polling period
- model: the model of your device as described in
modbus-herdsman-converters
{
id: 'uniqueStringId',
modbus_id: 1,
baud_rate: 9600,
interval: 10000,
model: 'xy-md02',
}
Payload:
- id: the id of the device to remove
This payload must be sent as a string not as a JSON object.
You can subscribe to this topic in order to receive data from the device.
In this topic are sent:
- ack of a new connected device
{
type: 'device_connected',
message: {
friendly_name: 'uniqueStringId'
}
}
- ack of a force removed device
{
type: 'device_force_removed',
message: 'uniqueStringId'
}
This work relies on the awesome modbus-serial library.
This work is inspired from the awesome work of Zigbee2MQTT.
- Discuss Modbus2MQTT on our forum
modbus2mqtt is fair-code licensed under Apache 2.0 with Commons Clause