Robonect Binding

Robonect is a piece of hardware which has to be put into your Husqvarna, Gardena and other branded automower and makes it accessible in your internal network. More details about the Robonect module can be found at robonect.de

This binding integrates mowers having the robonect module installed as a thing into the home automation solution, allowing to control the mower and react on mower status changes in rules.

Supported Things

The binding exposes just one Thing type which is the mower.

Tested mowers

MowerRobonect moduleRobonect firmware version
Husqvarna Automower 105Robonect Hx0.9c, 0.9e
Husqvarna Automower 315Robonect Hx0.9e, 1.0 preview
Husqvarna Automower 420Robonect Hx0.9e, 1.0 Beta2

Discovery

Robonect does not support automatic discovery. So the thing has to be added manually either via Paper UI or things configuration.

Thing Configuration

following configuration settings are supported for the mower thing.

parameter namemandatorydescription
hostyesthe hostname or ip address of the mower.
pollIntervalnothe interval for the binding to poll for mower status information.
offlineTimeoutnothe maximum time, the mower can be offline before the binding triggers the offlineTrigger channel
usernothe username if authentication is enabled in the firmware.
passwordnothe password if authenticaiton is enabled in the firmware.

An example things configuration might look like

Thing robonect:mower:automower "Mower" @ "Garden" [ host="192.168.2.1", pollInterval="5", user="gardener", password = "cutter"]

Channels

Channel IDItem TypeDescription
nameStringRetrieves or sets the name of the mower
batteryNumberRetrieves the current battery status in percent
status-durationNumberRetrieves the duration of the current status (see status) of the mower
mowing-hoursNumberRetrieves the number of hours of mowing operation
modeStringRetrieves or sets the mode of the mower. Possible values retrieval values are
  • HOME
  • AUTO
  • MAN
In addition he channel allows to set following values for triggering special actions
  • EOD : triggers the "end of day" mode. The mower will switch in to the HOME mode and stay int this mode for the rest of the day
  • JOB : The mower will start a job according to the job parameters defined with the channels job-remote-start, job-after-mode, job-start and job-end
statusNumberRetrieves the current mower status which can be
  • 0 : DETECTING_STATUS
  • 1 : PARKING
  • 2 : MOWING
  • 3 : SEARCH_CHARGING_STATION
  • 4 : CHARGING
  • 5 : SEARCHING
  • 6 : UNKNOWN_6
  • 7 : ERROR_STATUS
  • 16 : OFF
  • 17 : SLEEPING
  • 98 : OFFLINE (Binding cannot connect to mower)
  • 99 : UNKNOWN
startSwitchStarts the mower. ON is started (analog to pressing the start button on mower) or OFF (analog to the stop button on mower).
jobSwitchStarts a job. The channels can be configured with the three parameters remoteStart, afterMode and duration. remoteStart defines the mowing start point with the corresponding options REMOTE_1, REMOTE_2 and DEFAULT. afterMode is the mode the mower will be set after the job is done. Allowed values are AUTO, HOME or EOD. duration is the job duration in minutes. Please note, if the mower is charging it will wait to start the job until it is fully charged, but the jobs duration is already started.
timer-statusStringRetrieves the status of the timer which can be
  • INACTIVE : no timer set
  • ACTIVE - timer set and currently running
  • STANDBY - timer set but not triggered/running yet
timer-nextDateTimeRetrieves the Date and Time of the next timer set. This is just valid if there is an ACTIVE timer status (see timer-status).
wlan-signalNumberRetrieves the current WLAN Signal strength in dB
error-codeNumberThe mower manufacturer code in case the mower is in status 7 (error). The binding resets this to UNDEF, once the mower is not in error status anymore.
error-messageStringThe error message in case the mower is in status 7 (error). The binding resets this to UNDEF, once the mower is not in error status anymore.
error-dateDateTimeThe date and time the error happened. The binding resets this to UNDEF, once the mower is not in error status anymore.
last-error-codeNumberThe mower manufacturer code of the last error happened
last-error-messageStringThe error message of the last error happened
last-error-dateDateTimeThe date and time of the last error happened
health-temperatureNumberThe temperature of the mower (just available for robonect firmware >= 1.0)
health-humidityNumberThe humidity of the mower (just available for robonect firmware >= 1.0)

Offline Trigger Channel

This channel s triggered if the mower is longer than the configured offlineTriggerTimeout offline. This may indicate that the mower may stuck somewhere in error state but does not have a signal.

Full Example

Things file .things

Thing robonect:mower:automower "Mower" @ "Garden" [ host="192.168.2.1", pollInterval=5, user="gardener", password = "cutter"]

Items file .items

String    mowerName            "Mower name"                                    {robonect:mower:automower:name"}
Number    mowerBattery         "Mower battery [%d %%]" <energy>                {channel="robonect:mower:automower:battery"}
Number    mowerHours           "Mower operation hours [%d h]" <clock>          {channel="robonect:mower:automower:mowing-hours"}
Number    mowerDuration        "Duration of current mode"                      {channel="robonect:mower:automower:status-duration"}
String    mowerMode            "Mower mode"                                    {channel="robonect:mower:automower:mode"}
Number    mowerStatus          "Mower Status [MAP(robonect_status.map):%s]"    {channel="robonect:mower:automower:status"}
Switch    mowerStarted         "Mower started"                                 {channel="robonect:mower:automower:started"}
String    mowerTimerStatus     "Mower timer status"                            {channel="robonect:mower:automower:timer-status"}
DateTime  mowerNextTimer       "Next timer [%1$td/%1$tm %1$tH:%1$tM]" <clock>  {channel="robonect:mower:automower:timer-next"}
Number    mowerWlanSignal      "WLAN signal [%d dB ]"                          {channel="robonect:mower:automower:wlan-signal"}
String    mowerJobAfterMode    "Mode after job execution"                      {channel="robonect:mower:automower:job-after-mode"}
String    mowerJobRemoteStart  "Remote start on job execution"                 {channel="robonect:mower:automower:job-remote-start"}
String    mowerJobStart        "Job start time"                                {channel="robonect:mower:automower:job-start"}
String    mowerJobEnd          "Job end time"                                  {channel="robonect:mower:automower:job-end"}
Number    mowerErrorCode       "Error code"                                    {channel="robonect:mower:automower:error-code"}
String    mowerErrorMessage    "Error message"                                 {channel="robonect:mower:automower:error-message"}
DateTie   mowerErrorDate       "Error date [%1$td/%1$tm %1$tH:%1$tM]"          {channel="robonect:mower:automower:error-date"}

Map transformation for mower status (robonect_status.map)

0=DETECTING_STATUS
1=PARKING
2=MOWING
3=SEARCH_CHARGING_STATION
4=CHARGING
5=SEARCHING
7=ERROR_STATUS
8=LOST_SIGNAL
16=OFF
17=SLEEPING
99=UNKNOWN