Modbus is an open communication protocol. It lets you expand your TapHome project by thousands of compatible devices – IO modules, special sensors etc.
Core comes with three bus terminals. Besides TapHome internal bus they also support Modbus. This means that you don’t need to buy any extra device from TapHome in order to connect to Modbus devices.
Supported Modbus types
- Modbus RTU
- Modbus TCP
In Menu – Settings – Hardware – Modbus, select Add Modbus Devices
Supported Modbus Device types
Use generic device types to define custom Modbus integration:
- Temperature sensor
- Multi-value Switch
- Dimmer / Analog Output
- Electric meter
- Modbus Wrapper
- Domat M312 (Triac PWM Output Module)
- Domat UC100 Thermostat
- Acean DWH5x
- SFAR MiniModbus 1TE (PT100/500/1000 temperature sensor input)
Open device – Service Settings – tab Device
Read and Write expressions
MODBUSW(<RegisterType>, <RegisterAddress>, <DataType>, <DeviceVariableToWrite>)
<RegisterType> = C (coil), A (analog input), H (holding register), D (discrete input), SC (single coil), SH (single holding register)
<RegisterAddress> = modbus register address
<DataType> = Int16 (-32,768 to 32,767), Uint16 (0 to 65,535), Int32 (-2,147,483,648 to 2,147,483,647), Uint32 (0 to 4294967295), Bool (0 or 1). All data types can have one of the prefixes “BigEndian” or “LittleEndian” to define byte order.
<DeviceVariableToWrite> = Device variable to be written to modbus register – can be found in advanced settings
Example: Use Expression to get actual temperature from Modbus device
MODBUSR(H, 20, Int16)/100
Returns value of holding register on address 20 in int16 format and divides it by 100.
Different devices implement expressions to get and/or write their values from/to Modbus:
- Read temperature (Temperature sensor / Thermostat)
- Read humidity (Thermostat)
- Read switch state (Switch / Multivalue switch)
- Write switch state (Switch / Multivalue switch)
- Read desired temperature (Thermostat)
- Write desired temperature (Thermostat)
- Read total consumption (Electric meter)
- Read demand (Electric meter)
- Read level (AO)
- Write level (AO)
Internal poll interval
Number of milliseconds; defines how often values should be refreshed.