Geonica Weather Stations


The purpose of this plugin is to collect data from Geonica weather stations.


This plugin reads the data from Geonica weather stations, via Modbus serial or TCP. This following models are supported:

Geonica METEODATA 3000c

These weather stations are configurable and may have different Modbus register mappings. The specific mapping will have to be requested from the client. The below data and the included configuration file should be used as an example. Data will be collected to the weather table. By default, it will collect data every 5 minutes, but can collect at a minimum rate of 1 second, depending on the speed of the serial connection. The plugin will make 1 attempt (by default) to read the data. The following data will be collected from the geonica_meteodata_3000c.txt configuration file::

Variable Name           	    Units
Wind Speed	            	    m/s   
Wind Direction         		    ° 	
Ambient Temperature    		    °C 	
Relative Humidity      		    % 	
Barometric Pressure   		    mbar 	
Dew Point   			    °C 	
Solar Radiation			    W/m^2 
Incline Radiation 1		    W/m^2 
Incline Radiation 2		    W/m^2 
Incident Global Radiation	    W/m^2 
Reflected Global Radiation	    W/m^2 
Net Global Radiation		    W/m^2 
Horizontal Solar Cell Radiation	    W/m^2 
Tilted Solar Cell Radiation	    W/m^2 
Module Temperature 1       	    °C    
Module Temperature 2        	    °C    
Module Temperature 3       	    °C    
Module Temperature 4       	    °C    
Battery Voltage       		    V    


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 DECIMAL and SWAP16 values 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