DustIQ Soiling Sensors

Modbus plugin to read Kipp and Zonen DustIQ soiling sensors


The purpose of this plugin is to collect data from OTT HydroMet - Kipp & Zonen DustIQ soiling sensors via Modbus.


This plugin collects from the DustIQ soiling sensors. It uses the Modbus TCP Specification, and collects from Serial or IP connected sensors. If using Modbus TCP, the sensors are often connected through a MOXA or other type of RTU to TCP gateway. Soiling sensor data will be collected to the weather table, and will be run every 5 minutes, by default. This plugin relies on the Modbus Ardexa plugin. The following data points are collected:

Variable Name			Units
Device Type							
Datamodel Version						
Software Version						
Batch Number							
Serial Number							
Hardware Version						
Calibration Year						
Calibration Month						
Calibration Day						
Soiling Ratio 1			%	
Transmission Loss 1		%	
Soiling Ratio 2			%	
Transmission Loss 2		%	
Calibration Status Before				
Calibration Status After				
Tilt X-Axis			°	
Tilt Y-Axis			°	
Back Panel Temperature		°C	
Battery Voltage			V	
Operational Mode					
Dust Slope 1			°	
Dust Slope 2			°	


Arguments are as follows:

  • endpoint. This is either a serial device like /dev/ttyS0 or an IP or DNS like

  • bus_addresses. A Modbus address in the range 2-255. This can be a hyphenated list like 3-10 or a list like 2,5,7,9

  • --port. This is an optional parameter used in an Ethernet gateway, and is the TCP port used for the gateway. Default is 502

  • --attempts. This is an optional parameter, and determines how many times to times to attempt to read an inverter value. Default is 1

  • --delay. This is the delay in seconds between inverter send and receive commands, AND if attempts > 1. Fractions like 0.3 can be used. Default is 0.05

  • --stop_on_any_command_fail. If this is specified, then any Modbus commands that fail will stop all further queries for all bus addresses and attempts.

  • --serial_lock. If this is set, the program can only be run one at a time (so as not to overload a Modbus device). If the device being queried is a serial device, this will automatically be set to "on". For IP addresses it is optional.

  • --sampling_rate. If this is defined, and the sampling rate is greater than 1, then all values listed above will be collected as an average. In other words; it will take a sample at the nominated frequency. After X samples defined by sampling_rate, a record will be written and sent to the cloud.

Last updated