PRELIMINARY: NOT YET AVAILABLE!!

Home automation module that can be used as a stand-alone single or dual axis solar tracker, working autonomously.

Can also be controlled by a home automation system, like Domoticz (using DomBus firmware + Domoticz plugin), Home Assistant, Node-RED, OpenHAB, ioBroker using DomBus firmware + DomBusGateway (a python software performing DomBus2MQTT bridge) or Modbus firmware.

Please select the English page for the most up-to-date original information.

Why DomBusTracker2?

  • It can be configured as dual-axis, single horizontal axis, single tilted axis mode
  • It works in stand-alone mode, but also can be monitored and controlled by Home Assistant,  Domoticz, Node-RED  and other automation systems supporting Modbus or MQTT / MQTT-AD
  • It uses a waterproof deep-hole light sensor that permits to optimize power production even when it's cloudy, orienting solar panels toward the brigthest portion of the sky
  • Very compact, easy wiring, uses a strong industrial bus solution (RS485) that can be connected to a controller by up to 500-1000m of shielded cable (standard alarm cable)
  • Very low power consumption (15mW) with relays OFF
  • Automatically detects limit switches inside linear actuators
  • Manages additional 4 proximity sensors or limit switches, suitable for slewing gears.
  • Manages a anemometer with pulsed output to put the solar panels in a safe position in case of strong wind. If a anemometer already installed on site, no need to connect additional sensors: just send wind speed value by bus (using a automation).
  • Tracker status shown on the automation system. Of course it's possible to control elevation / azimuth by the automation system (smartphone).
  • Optional UP/DOWN buttons to manually control elevation and azimuth, and one switch to set manual / automatic (tracking) mode.
  • Buzzer output to notify the manual mode and wind safe mode (strong wind, panels in safe position).
  • Night position and Wind safe position are configurable by the automation system (or Modbus registers), as like as several other parameters: default parameters are already suitable for almost any dual axis solar tracker.

Why a solar tracker?

Sun tracker is very good for photovoltaic systems because enhances the total production energy and, moreover, increases the power during the early morning and late afternoon, when energy is more expensive and less available.

The following chart shows the comparison of the energy produced in a sunny day, October 31 2024, in the Northern Italy, between a 2-axis solar tracker and a photovoltaic on the roof.

Comparison between energy produced by a 2-axis tracker and fixed photovoltaic on the roof

Comparing the two systems, we can say that in these conditions the 2-axis tracker performs almost 3 times over photovoltaic on the roof . Normally it performs almost twice a photovoltaic system on a roof oriented to South, with a normal tilt for italian houses (around 15 degrees). Youtube videoYouTube video

This controller was designed to overcome the limitations of the chinese XMYC-3 controller, using the same sun sensor, but adding some features like the automatic detection of the limit switches inside the motors (linear actuators have limit switches inside, that cut-off power) and the home automation system integration with Domoticz, Home Assistant, Node-RED, OpenHAB, ioBroker, and other systems supporting MQTT or Modbus protocols.

 

Controller for dual-axis solar tracker, working with Domoticz, Home Assistant, NodeRED, OpenHAB, Modbus, ...

 

FeaturesDomBusTracker controller works perfectly even if cloudy, optimizing photovoltaic power production.

  • Configurable as dual axis, horizontal single axis and tilted single axis tracker.
  • Use a standard waterproof sun sensors made by 4 photodetectors, to determine the best tilt/azimuth even in case of clouds. 
  • 4x 10A relays permit to control 2 linear actuators with 800kg force (or slewing drives), supplied by a 24V (preferred) or 12V power supply unit.
  • Current sensing to automatically detect the linear actuator internal limit switches, to find the zero and full-scale motor position.
  • 4 inputs  that can be connected to external limit switches or proximity sensors (NPN type, common to GND) for the azimuth motor (useful in case that a slewing motor is used instead of linear motor). Indeed, to save energy consumption, proximity sensors are powered only when needed.
  • 2 inputs that can be connected to 2 optional up/down buttons to move motors manually
  • 1 input that can be connected to a optional switch to disable automatic tracking
  • 1 input (IN12) that can be connected to a wind sensor (anemomenter) with pulsed (reed) output, common to GND, that can be used to move the tracker to a safe position in case of strong wind or storm
  • 2x 5A additional relays for additional functions
  • Internal RS485 bus terminating resistor (150 ohm) that can be enabled by a PCB jumper (with a solder iron)
  • RS485 bus, that works with up to 500m of cable (using standard alarm cable: 2x0.50+2x0.22mm² + shield)
  • DIN rail low-profile enclosure, 115x90x40mm
  • Plugin terminal blocks for easy wiring
  • Parameters configurable by RS485 bus, to work with almost any tracking system
  • Available with 2 firmwares of your choice:
    • DomBus firmware, using a standard multi-master protocol working with
      • Domoticz + Creasol DomBus plugin
      • Home Assistant, Node-RED, OpenHAB, ioBroker + DomBusGateway software that realize a bridge between DomBus protocol and MQTT with AutoDiscovery
    • Modbus firmware, working with NodeRED, Home Assistant, OpenHAB and many other controllers supporting the standard Modbus protocol.
  • Tracker status is exposed to the home automation system or Modbus:
    • 0: Automatic mode
    • 1: Automatic mode, motor is moving
    • 2: Manual mode
    • 3: Manual mode, motor is moving
    • 4: Evening (tracker is going in the night position shortly)
    • 5: Night (tracker in the night position)
    • 6: Night, motor is moving (tracker is going to the night position)
    • 7: Morning (tracker is leaving the night position soon)
    • 8: Wind alert (strong wind: tracker will go to the wind safe position soon)
    • 9: Wind (tracker in the wind safe position)
    • 10: Wind, motor is moving (tracker is going in the wind safe position)
  • Very low power usage: 15mW with relays OFF.
  • Red/green LED showing the current status:
    Green LED flashing every 4s Tracker in the night/rest position
    Green LED flashing every second Normal mode (automatic)
    Green LED flashing every 0.25s Motor On, moving
    Red LED flashing every second Manual mode, set by the switch input or by home automation system (MAN device)
    Red LED flashing every 0.25s Wind gust detected (storm?), tracker in the safe position
  • Optional active buzzer (with oscillator, working at 5.5V) can be soldered on the PCB to get the following alerts:
    1 beep Tracker in manual mode
    2 beeps Wind gust detected => tracker in safety mode
    The buzzer can be disabled by setting the parameter TrackerBuzzer = 0 (see table below)

Although several parameters are user configurable, default value are suitable in most cases, so the device can be used as-is for most dual axis sun trackers.

Waterproof sun light sensor already supplied, while motors and 24V power supply unit are NOT supplied.

DomBus or Modbus firmware?

The sun tracker controller is available with two firmwares of your choice:

  • Modbus, suitable for all systems supporting the standard Modbus protocol, and for customized systems using that protocol
  • DomBus, suitable for Domoticz (using the Creasol DomBus plugin), and for HomeAssistant, NodeRED, OpenHAB, ioBroker and other systems supporting MQTT with AutoDiscovery, by using the DomBusGateway python software that realize a bridge between DomBus protocol and MQTT-AD standard protocol. Also, building automation system supporting the MQTT with AutoDiscovery will automatically detect all entities of the sun tracker.

Connection schematic

Smart single and dual axis solar tracker wiring diagram

 

DomBusTracker ports capabilities (for the DomBus version)

Default address: 0xffd0

Port# Name Capabilities Default configuration Description
1 MN OUT_DIGITAL OUT_DIGITAL SPDT 10A relay that have to be connected to the tilt linear actuator (North/South): see schematic below. Read-only: tracker position may be changed by using the Pns and Pew control bars.
2 MS OUT_DIGITAL OUT_DIGITAL SPDT 10A relay that have to be connected to the tilt linear actuator (North/South): see schematic below. Read-only: tracker position may be changed by using the Pns and Pew control bars.
3 ME OUT_DIGITAL OUT_DIGITAL SPDT 10A relay that have to be connected to the tilt linear actuator (East/West): see schematic below. Read-only: tracker position may be changed by using the Pns and Pew control bars.
4 MW OUT_DIGITAL OUT_DIGITAL SPDT 10A relay that have to be connected to the tilt linear actuator (East/West): see schematic below. Read-only: tracker position may be changed by using the Pns and Pew control bars.
5 RL5 OUT_DIGITAL OUT_DIGITAL 5A SPST relay (only NO contact), 250Vac or 30Vdc capability, that can be used for other purposes
6 RL6 OUT_DIGITAL OUT_DIGITAL 5A SPST relay (only NO contact), 250Vac or 30Vdc capability, that can be used for other purposes
7 N IN_ANALOG IN_ANALOG North light sensor.
8 S IN_ANALOG IN_ANALOG South light sensor.
9 E IN_ANALOG IN_ANALOG East light sensor.
10 W IN_ANALOG IN_ANALOG West light sensor.
11 Ins IN_ANALOG IN_ANALOG North-South (tilt) motor current sensing (used to detect internal limit switches).
This port should be configured as IN_ANALOG,A=0.0005,TypeName=Current (Single)
to get current value in Ampere
12 Iew IN_ANALOG IN_ANALOG

East-West (azimuth) motor current sensing (used to detect internal limit switches).
This port should be configured as IN_ANALOG,A=0.0005,TypeName=Current (Single)
to get current value in Ampere

13 Wind CUSTOM CUSTOM

Wind input, to be optionally connected to a cup anemometer sensor with pulsed output to measure the frequency.
Writing to this entity, the input is disabled and the written value is used to decide if wind speed is over or under the configured threshold

14 Bns IN_TWINBUTTON IN_TWINBUTTON

Analog input that can be connected to an optional external dual button (UP/DOWN) switch to manually move the motor NS (elevation/tilt).

15 Bew IN_TWINBUTTON IN_TWINBUTTON

Analog input that can be connected to an optional external dual button (UP/DOWN) switch to manually move the motor EW (azimuth).

16 Sman IN_DIGITAL IN_DIGITAL,INVERTED

Digital input that can be connected to an optional switch to disable automatic mode. It can be used for maintenance, to block motors

17 LSN IN_DIGITAL IN_DIGITAL,INVERTED

Input, with 10k pullup, that can be connected to a limit switch or proximity sensor (NPN type) to sense the "North" position (minimum elevation).
Remove INVERTED option in case of NC limit switch or proximity sensor.

18 LSS IN_DIGITAL IN_DIGITAL,INVERTED

Input, with 10k pullup, that can be connected to a limit switch or proximity sensor (NPN type) to sense the "South" position (maximum elevation).
Remove INVERTED option in case of NC limit switch or proximity sensor.

19 LSE IN_DIGITAL IN_DIGITAL,INVERTED

Input, with 10k pullup, that can be connected to a limit switch or proximity sensor (NPN type) to sense the "East" position (minimum elevation).
Remove INVERTED option in case of NC limit switch or proximity sensor.

20 LSW IN_DIGITAL IN_DIGITAL,INVERTED

Input, with 10k pullup, that can be connected to a limit switch or proximity sensor (NPN type) to sense the "West" position (minimum elevation).
Remove INVERTED option in case of NC limit switch or proximity sensor.

21 NS CUSTOM CUSTOM

0-100% bar showing the deviation of the maximum NS radiation direction from the current tilt position

22 EW CUSTOM CUSTOM

0-100% bar showing the deviation of the maximum EW radiation direction from the current azimuth position

23

Pns

CUSTOM CUSTOM

0-100% bar showing the current tilt position

24 Pew CUSTOM CUSTOM

0-100% bar showing the current azimuth position

25 Man OUT_DIGITAL OUT_DIGITAL

If Off, tracker is in automatic tracking mode.
If On, tracker is disabled and position can be changed only by using the Pns and Pew bars.
When Pns and Pew device have been changed by the user, the tracker enters the Manual mode, disabling tracking. Set Man to Off to enable automatic solar tracking.

26 Buzz OUT_FLASH OUT_FLASH

Optional buzzer state: 1 flash => Manual mode, 2 flashes => Wind mode

27 TrackerState CUSTOM CUSTOM

Tracker status, as described above

 

DomBusTracker Modbus RTU capabilities (for the Modbus version)

At power-on, the module shows on red LED the current Modbus slave address (register address=8192) in decimal format, on green LED the serial baudrate (reg. 8193), and finally on red LED the serial parity (reg. 8194).
If a value is zero, a long flash is emitted.

For example, if reg(8192)=208, reg(8193)=0, reg(8194)=0, at power the following led flashes will be shown:
2 red flashes, pause, long red flash (for 0), 8 red flashes (slave address= 0xd0 = 208 decimal), pause, 1 long green flash (reg(8193)=0 => baudrate=115200bps), pause, 1 long red flash (reg(8194)=0 => parity=None).

Device will be operative only when address/baudrate/parity parameters have been shown: then module will accept commands by Modbus RTU, and periodically shows the tracker status.

Default slave address: 208 (0xd0)

Addr Name Values Description
0 MN 0=OFF, 1=ON. Read only.
Tracker position may be changed by using the Pns and Pew control bars.
SPDT 10A relay that have to be connected to the tilt linear actuator (North/South): see schematic below. Read-only
1 MS

0=OFF, 1=ON. Read only.
Tracker position may be changed by using the Pns and Pew control bars.

SPDT 10A relay that have to be connected to the tilt linear actuator (North/South): see schematic below. Read-only
2 ME 0=OFF, 1=ON. Read only.
Tracker position may be changed by using the Pns and Pew control bars.
SPDT 10A relay that have to be connected to the tilt linear actuator (East/West): see schematic below. Read-only
3 MW 0=OFF, 1=ON. Read only.
Tracker position may be changed by using the Pns and Pew control bars.
SPDT 10A relay that have to be connected to the tilt linear actuator (East/West): see schematic below. Read-only
4 RL5 0=OFF, 1 or 65280=ON, 2-65279=ON for specified time.
Logic can be inverted specifying the INVERTED option (on address 512+port)
SPST 5A, that can be used for other purposes
5 RL6 0=OFF, 1 or 65280=ON, 2-65279=ON for specified time.
Logic can be inverted specifying the INVERTED option (on address 512+port)
SPST 5A, that can be used for other purposes
6 N 0-65520 depending by the solar radiation received by this sensor. North light sensor.
7 S 0-65520 depending by the solar radiation received by this sensor. South light sensor.
8 E 0-65520 depending by the solar radiation received by this sensor. East light sensor.
9 W 0-65520 depending by the solar radiation received by this sensor. West light sensor.
10 Ins 0=OFF, >0 = 16-65520 if motor current is detected.
Ins = value*0.00042 [A] in case that sensing resistor is 0.12Ohm

North-South (tilt) motor current sensing (used to detect internal limit switches).
To get the current value in Ampere, multiply the value get reading this register by 0.0005
11 Iew 0=OFF, >0 = 16-65520 if motor current is detected.
Ins = value*0.00042 [A] in case that sensing resistor is 0.12Ohm
East-West (azimuth) motor current sensing (used to detect internal limit switches).
To get the current value in Ampere, multiply the value get reading this register by 0.0005
12 Wind 0÷500 Frequency of the rotating cup anemomenter in Hz.
Read/write: writing to this register, the wind input is disabled and the written value is used to decide if wind speed is above or below the configured level.
13 Bns 0=OFF, 10=DOWN, 20=UP Used to manually control the SN motor (for tilt/elevation) by an external UP/DOWN dual button
14 Bew 0=OFF, 10=DOWN, 20=UP Used to manually control the EW motor (for azimuth) by an external UP/DOWN dual button.
15 Sman 0=AUTO, 1=MANUAL/STOP

Used to manually disable motors by an external switch connected to GND: motor will be moved manually, by the Bns and Bew dual buttons, or by the Pns and Pew domotic controllers.

16 LSN 0=Open, 1=Shorted (active status)

Input, with 10k pullup, that can be connected to a limit switch or proximity sensor (NPN type) to sense the "North" position (minimum elevation).
In case of NC limit switch or proximity sensor, remove the INVERTED options by writing 0 to reg. 512+16=528

17 LSS IN_DIGITAL

Input, with 10k pullup, that can be connected to a limit switch or proximity sensor (NPN type) to sense the "South" position (maximum elevation).
In case of NC limit switch or proximity sensor, remove the INVERTED options by writing 0 to reg. 512+17=529

18 LSE IN_DIGITAL

Input, with 10k pullup, that can be connected to a limit switch or proximity sensor (NPN type) to sense the "East" position (minimum elevation).
In case of NC limit switch or proximity sensor, remove the INVERTED options by writing 0 to reg. 512+18=530

19 LSW IN_DIGITAL

Input, with 10k pullup, that can be connected to a limit switch or proximity sensor (NPN type) to sense the "West" position (minimum elevation).
In case of NC limit switch or proximity sensor, remove the INVERTED options by writing 0 to reg. 512+19=531

20 NS 0=max radiation from the "North" side (minimum tilt).
100=max radiation from the "South" side (maximum tilt).

0-100% bar showing the deviation of the maximum NS radiation direction from the current tilt position.

21 EW 0=max radiation from East side.
100=max radiation from West side.

0-100% bar showing the deviation of the maximum EW radiation direction from the current azimuth position

22

Pns

0=minimum tilt. 100=maximum tilt

0-100% bar showing the current tilt position. Also, setting this register to a value between 0 and 100 automatically move the tracker to this position and set the register Man (23) to the value 1 (tracker in manual mode => no automatic tracker): in this case the automatic tracking function is disabled, useful to control the solar panel manually for example to lock the tracker in a safe position in case of hail or strong wind.

23 Pew 0=minimum azimuth (East). 100=maximum azimuth (West)

0-100% bar showing the current azimuth position. Also, setting this register to a value between 0 and 100 automatically move the tracker to this position and set the register Man (23) to the value 1 (tracker in manual mode => no automatic tracker): in this case the automatic tracking function is disabled, useful to control the solar panel manually for example to lock the tracker in a safe position in case of hail or strong wind.

24 Man 0=Automatic mode.
1=Manual mode.

If Off, tracker is in automatic tracking mode.
If On, tracker is disabled and position can be changed only by using the Pns and Pew bars.
When Pns and Pew device have been changed by the user, the tracker enters the Manual mode, disabling tracking. Set Man to Off to enable automatic solar tracking.

25 Buzz 0=Off, 1=Manual mode, 2=Wind safe mode

Buzzer status

26 TrackerState 0-10, as explained below in the Features section

This register shows the current sun tracker status

255 All input ports bitmask: 1=> MN, 2=>MS, 4=>ME ...

This address is used to check input state in one command
if Value=0 all inputs are OFF
if Value=48 (0b0000000000110000, in binary), port5 and port6 are ON

256-273 Port config 1=OUT_DIGITAL, 2=OUT_RELAY_LP, ...
Command used to configure port 1 (256), port 2 (257), ... as OUT_DIGITAL or OUT_RELAY_LP (low power consumption relay) or other value (see table below)
512-529 Port option 0=NORMAL, 1=INVERTED (output normally ON, or input is ON when port voltage is 0V) Set port option. If set to 1, output stays ON after boot until the port is asserted (then relays goes OFF). For inputs, setting INVERTED the port value is ON (1) when input voltage is 0V, OFF when input is left open with internal pullhigh enabled.
8192 Slave Address 1-247 Permits to change the slave address of the module, so it's possible to add other modules to the same bus
8193 Serial bitrate 0=115200bps, 1=57600, 2=38400, 3=19200, 4=9600, 5=4800, 6=2400, 7=1200bps Serial speed, default 115200 bps 8,n,1
8194 Serial parity 0=None, 1=Even, 2=Odd Serial parity, default none (115200 bps 8,n,1)
8198 Revision, major Read only Get firmware version, major number. For example "02" means that revision is "02XX" where XX defined by parameter 8199
8199 Revision, minor Read only Get firmware version, minor number. For example "h1" means that revision is "XXh1" where XX defined by parameter 8198

 

The following tables show some Modbus commands examples.

Slave Addr Func. Code Reg.Addr Reg.Value Frame Description
208 06 8192 1 [d0][06][20][00][00][01][xx][xx] Change slave address from 208 (0xd0) to 1
01 06 8193 4 [01][06][20][01][00][04][D2][09] Set serial speed to 9600bps
01 06 8194 1 [01][06][20][02][00][01][E2][0A] Set even parity
49 10 8192 1,4,1 [31][10][20][00][00][03][06][00][01][00][04][00][01][B1][71] With a single command, set slave address to 1, serial speed to 9600bps, even parity. Original modules address was 49 (0x31) in this example.
01 06 0 65280 [01][06][00][00][FF][00][C8][3A] Activate RL1 output forever (65280=0xff00)
01 06 1 960 [01][06][00][01][03][C0][D8][AA] Activate RL2 for 960/32=30s
01 06 255 0 [01][06][00][FF][00][00][B9][FA] Disable all outputs (Reg.Addr=255)
01 10 0 32,0,0,65280 [31][10][00][00][00][04][08][00][20][00][00][00][00][FF][00][E6][5C] Set RL1 On for 1s (32), RL2 Off, RL3 Off, RL4 On - Max 10 registers can be set in one command
01 03 255 1 [01][03][00][FF][00][01][B4][3A] Read a 16bit value with ports status. For example if returned value is 0xd1 (0b11010001), output status is:
RL8=On, RL7=On, RL6=Off, RL5=On, RL4=Off, RL3=Off, RL2=Off, RL1=On
01 03 8198 2 [01][03][20][06][00][02][2F][CA] Read 4 bytes within module version. For example, if returned value is <30><32><68><31> (in hex format), the corresponding ASCII value is "02h1" (Firmware 02h1)
01 0F 0 8,1,0xd1 [01][0F][00][00][00][08][01][D1][3E][C9] Set coil status to 0xd1 (0b11010001), activating RL8, RL7, RL5, RL1 and disabling other relays
01 01 0 8 [01][01][00][00][00][08][3D][CC] Read coil status. If returned value is 0xd1 (0b11010001), it means that RL8, RL7, RL5 and RL1 are On

Modbus protocol can be tested easily using a modbus program, like mbpoll for Linux:

mbpoll -v -mrtu -0 -1 -a208 -b115200 -Pnone -r 8192 /dev/ttyUSB0 1
to set the register 8192 (slave address) to the new value 1 (address must be unique, when more DomBus modules are installed).

mbpoll -v -m rtu -0 -1 -a1 -b115200 -Pnone -r 10023 /dev/ttyUSB0 120
to set working time for azimuth motor to 120s

mbpoll -v -m rtu -0 -1 -a1 -b115200 -Pnone -r 22 /dev/ttyUSB0 0 50
to move tracker to position horizontal (elevation=0%) and South (azimuth=50%)

 

Configurable parameters

The following parameters can be configured by the user to set motor working times and get the tracker working as preferred.

Parameter name Description Range Default DomBus settings

Modbus address
(write only)

TrackerType
Type of sun tracker:
0 = Dual axis,
1 = Horizontal single axis (axis direction N-S),
2 = Tilted single axis (axis direction: E-W)
0÷2 0 PAR1=0 on port MN 11000
PeriodicTrackerCheck Time to wait before moving the motors again, during tracking 10-600 seconds 300 INIT=300 on port Man (Manual On/Off virtual device) 10023
TrackerSensorMin Threshold for sensors N+S to distinguish between night and day 16-16384 1536 INIT=1536 on port MS (Motor S coil) 10001
TrackerNightTime Time to wait from night detection before moving to the night position 60-43200 seconds 300 INIT=300 on port MW (Motor W coil) 10003
TrackerNightPositionNS Night tilt position (percentage: 0=horizontal, 100=vertical) 0-100 20 INIT=20 on port MN (Motor N coil) 10000
TrackerNightPositionEW Night azimuth position (percentage: 0=East, 100=West) 0-100 0 INIT=0 on port ME 10002
WorkingTimeNS Tilt actuatator working time 10-600 seconds 100 INIT=100 on port Pns  (Position percentage NS) 10021
WorkingTimeEW Azimuth actuatator working time 10-600 seconds 100 INIT=100 on port Pew (Position percentage EW) 10022
TrackerCurrentMinNS Threshold to determine if current is flowing through the motor NS 16÷16384 144 INIT=144 on port Ins (current measured on Motor NS) 10011
TrackerCurrentMinEW Threshold to determine if current is flowing through the motor EW 16÷16384 144 INIT=144 on port Iew (current measured on Motor EW) 10012
TrackerBuzzer

0=Disable buzzer output
1=Enable buzzer

0÷1 1 INIT=0 on port Buzz 10025
TrackerWindThreshold

0=Disabled
0÷400 = anemometer frequency must be greater than this value for TrackerWindStartTime before entering the safe mode

0÷400 0 INIT=25 on port Wind
10018
TrackerWindStartTime

0=immediate entering safe mode

1÷3600=enter safe mode after this time (in seconds) where wind speed is always greater than TrackerWindThreshold

0÷3600 30 PAR1=30 on port Wind
11018
TrackerWindRecoveryTime

Time to wait before returning from safe to automatic mode, when wind speed drops below TrackerWindThreshold level

30÷3600 300 PAR2=300 on port Wind 12018
TrackerWindPositionNS

Tracker elevation in safe position (percentage: 0=horizontal, 100=vertical)

0÷100 10 PAR3=0 on port Wind 13018
TrackerWindPositionEW

Tracker azimuth in safe position (percentage: 0=East, 100=West)

0÷100 10 PAR4=0 on port Wind 14018
TrackerProximityEnable

Enable power supply for proximity sensors: power will be fed only when motor is ON, for a low energy consumption.
0=power supply disabled
1=power supply enabled only when needed
2=power supply always enabled

0÷2 1 INIT=1 on port LSE 10018

 

How to configure DomBusTracker with Domoticz

DomBus protocol version is needed to work with Domoticz.
The Creasol DomBus plugin should be installed: it may be downloaded from https://github.com/CreasolTech/CreasolDomBus or it can be installed from Python Plugin Manager or Domoticz Plugins Manager.

The configuration steps are:

  1. Once connected to Domoticz controller, you can see a new device in the Switches panel with address ff38: edit that device and add in the Description field the text ,HWADDR=0x3801 to change its default address to 3801 or another unique value: then refresh Switches panel to see all devices, each for each port. Some other devices will be found in Utility panel (light and current sensors).
  2. Configure the motor working times, in seconds, by writing in the Description field of Pns device ,INIT=80 if time to go from horizontal to vertical position (or vice versa) is 80s, and write in the Description field of Pew device ,INIT=140 if total time to move the tracker from East to West is 140s.
  3. Configure the morning / sleep position: for example, TrackerNightPositionNS=20 (tilt=20%, almost horizontally, addr=10000) and TrackerNightPositionEW=0 (azimuth=0%, toward East, addr=10002).
  4. In case that a wind sensor is connected, configure the parameter TrackerWindThreshold, TrackerWindStartTime, TrackerWindRecoveryTime, TrackerWindPositionNS, TrackerWindPositionEW (see the configuration table below): when tracker is in automatic mode (not MANUAL!) and anemometer produces a frequency higher than TrackerWindThreshold for at least TrackerWindStartTime seconds, it move the tracker to the TrackerWindPositionNS/TrackerWindPositionEW. When anemometer frequency remains below the TrackerWindThreshold for more than TrackerWindRecoverTime, tracker returns to the previous position, then start tracking automatically.
  5. If needed, change other parameters explained in the section Configurable parameters above.
  6. Tracker can be moved by pushbuttons, if connected to IN7 and IN8 as shown in the schematic. Also it can be locked or restored in automatic mode by the switch connected to IN9. These manual commands are usually not needed.
  7. Tracker can be moved also from the smartphone, PC or tablet, by moving the sliders Pns (postion for tilt motor NS) and Pew (position for azimuth motor EW). For example setting Pns=0 and Pew=0 the tracker will return to the "morning" position, oriented to East and horizontally. Please note that when tracker is moved manually, the Man device is automatically set to On disabling the automatic sun tracking function. This is useful for example in case of storm: tracker can be placed manually (or by an external automation) in a safe position (for example Pns=0 and Pew=0 or 100); when storm has passed, DomBusTracker can be restored in automatic mode, setting Man=0ff to track the sun/light automatically.

How to configure DomBustracker with Home Assistant, Node-RED, OpenHAB, ioBroker

If DomBusTracker is programmed with DomBus firmware, you can install the python software DomBusGateway that implement the DomBus 2 MQTT interface with AutoDiscovery function.
In this way, the home automation system automatically detects the DomBusTracker module, creating all entities.
To configure the working parameters of the tracker, it's possible to use connect DomBusGateway by telnet, configuring each port as needed.

TODO: configuration example

How to configure DomBusTracker with Modbus firmware

Modbus firmware is very versatile because can be used in many different ways, for example with NodeRED with its UI and Modbus palette, Home Assistant using the Modbus integration, but also directly by using mbpoll or modpoll program to configure the few parameters to get it working correctly.

The configuration steps are:

  1. Identify the modbus parameters: slave address, bitrate, parity. They are shown at power-on using red and green leds, as specified in the DomBusTracker Modbus RTU capabilities section above (by default address=208, bitrate=115200, parity=None).
  2. If needed, configure device with a unique address, from 1 to 247 (writing the new address value to register 8192)
  3. In case of using the controller for a horizontal single axis tracker (HSAT), write 1 to the register TrackerType (11000), while in case that a tilted single axis tracker is used (TSAT), write 2 to the register TrackerType (11000). Default: dual axis tracker (DAT).
  4. Configure the motor working times, in seconds, by setting the registers WorkingTimeNS (tilt working time, addr=10022) and WorkingTimeEW (azimuth working time, addr=10023).
  5. Configure the morning / sleep position: set for example TrackerNightPositionNS to 20% by writing 20 to address 10000, and TrackerNightPositionEW=0 by writing 0 to address 10002
  6. In case that a anemometer is connected to the Wind terminal block, or in case that wind speed value is sent to device (by writing the register 12), the following parameters must be configured:
    TrackerWindThreshold (register 10018) = wind speed / frequency above which the controller starts counting
    TrackerWindStartTime (register 11018) = time, in seconds, the wind speed must be over the trackerWindThreshold before moving panels to the wind safe position
    TrackerWindRecoveryTime (register 12018) = time, in seconds, the wind speed must be below the trackerWindThreshold before restoring panels to the old position, exiting wind safe mode
    TrackerWindPositionNS (register 13018) = tilt position, in percentage, for the wind safe position. 0=horizontal, 100=vertical
    TrackerWindPositionEW (register 14018) = azimuth position, in percentage, for the wind safe position. 0=East, 100=West
  7. By default limit switches are configured as Normally Open, with GND = common, so limit switches are ignored if not installed. In case that limit switches or proximity sensors are Normally Connected, remove the INVERTED option to port 16÷19 by writing 0 to register address 528÷531
  8. If needed, change other parameters explained in the section Configurable parameters above using the same methods above.
  9. Tracker can be moved by pushbuttons, if connected to Mv.N, Mv.S, Mv.E and Mv.W inputs. Also, tracker can be locked (manual mode) or restored in automatic mode by the switch connected to Man terminal block. These manual commands are usually not needed, because the system can be managed by the smartphone if a home automation system is used.
  10. Tracker can be moved also from the smartphone/PC by writing the position in % to Pns (position NS or elevation/tilt) and Pew (position EW or azimuth). For example setting Pns=0 (writing 0 to register 22) and Pew=0 (writing 0 to register 23) the tracker will return to the safe position, oriented to East and horizontally. Please note that when tracker is moved manually, the Man device (register 24) is automatically set to On (1) disabling the automatic sun tracking function. This is useful for example in case of storm if the Wind input is not connected to any anemometer: tracker can be placed manually (or by an external automation) in a safe position depending by wind speed and direction, to also prevent panel damage by hail.