iobroker.anthbot
v0.1.1
Published
Connect with Anthbot devices such as their robot mowers
Downloads
1,128
Readme

ioBroker.anthbot
Tests:
Anthbot adapter for ioBroker
Connect with Anthbot devices such as their robot mowers.
Tested with M9 and Genie models, but other series may work. Feel free to open an issue to report problems or with feature requests.
After installation visit the instance settings page to add credentials for access to Anthbot cloud. The adapter will monitor & control all bound devices it discovers on the account.
The adapter can attempt to improve on the scheduling of the Anthbot app. By default nothing will happen but this feature can be enabled by setting scheduling states under map.custom_areas... after starting the adapter (see below).
Global monitoring
Under device status folder:
Battery level is reported in the elec state.
View a device's status in the mode state (charging, mowing, standby, etc).
The last status message & it's severity (event, error, etc) are shown in the last_code, last_code_text and last_code_type states. For users looking for more history, the code_list state holds a JSON array with the a larger number of messages.
The rest of the states in this folder should be self explanatory.
Under device iob_schedule folder:
Self explanatory, but be aware this is the status of the adapter's scheduling, not schedules defined in the Anthbot app.
Global commands
Under the command folder:
stop_all_tasks equates to hiting 'Stop' in the Anthbot app.
charge_start equates to the 'Recharge' icon in the Anthbot app.
mow_start equates to start when in 'Full maps' mode.
custom_area_mow_start equates to custom area (aka 'Zones') mode. For this to work a valid list of area IDs must already be set in the area_list state. Area IDs are not the same as names the Anthbot app shows. Valid area IDs can be found as channel IDs under the map.custom_areas... folder. A channel ID exists for each area, see below for details of states within.
Ie. to start mowing one or more zones:
- Set the
area_liststate to an array of IDs. Eg:[102, 117] - Trigger the
custom_area_mow_startstate.
The adapter will attempt to determine when zone mowing is in progress and make a note in the relevant map.custom_areas... channel of start and finish times to understand how often zones are being cut.
ridable_mow_start equates to edge mowing mode. As with custom_area_mow_start, set the area_list with a valid list of ridable areas (aka. edge) IDs. Valid ridable area IDs can be found in the map.ridable_areas.raw state.
Custom Area (aka. zone) monitoring & control
Under each map.custom_areas... channel:
Monitoring
last_start, last_finish, estimated_elapsed_time & estimated_elec are provided to help scheduling. These states are set when mowing tasks involving the relevant custom area start and finish.
Note that estimated_elapsed_time & estimated_elec can only be calculated when a task with a single custom area is completeled. If a task involving multiple areas is started they will all get the same start & finish time and no estimate of elapsed time will be made.
Commands
custom_area_mow_start button can be used as a shortcut to trigger mowing of just this single area.
mow_head_random switch, when enabled, randomises the mow_head (aka. cutting angle) for this area. It is randomised each time this switch is turned on, and each time a mowing task for this area is finished successfully.
mow_head_alts is an array of alternate mow_head angles to cycle through each time a mowing task for this area is finished successfully. When the list is set, if the current mow_head for this area is not in the list, it will be set to the first entry. To disable this feature set a blank array ([]) or empty string.
Note that mow_head_random takes priority over mow_head_alts.
Scheduling
schedule_enabled is used to activate ioBroker initiated mowing of this area. While this should work in conjunction with the Anthbot schedule maybe it is best to delete or disable all Anthbot schedules prior to using this feature.
Note that in order to enable scheduled mowing of an area:
schedule_enabledmust be turned onschedule_days_since_last&schedule_prioritymust both be set with valid numbers- the area must have a valid
last_finishstate
In order to achieve the last point it is is best to manually start or schedule 'Zone Mowing' in the Anthbot app and let that task complete while this adapter is running.
schedule_days_since_last is used to determine when each area needs mowing. The number of days to wait between mowing. Zero indicates cut every day.
schedule_priority comes into play when multiple areas need mowing: lowest number (must be 1 or greater) is handled first. When two areas with the same priority both need mowing the order is undefined.
Map & area (aka. zone) editing
With area_set it is possible to edit one or more areas. Take the JSON representation from a desired entry from the map.custom_areas.raw_list, modify it as required and save this the area_set state as a JSON array.
Note that when using area_set it is not necessary to define all parameters and only those provided will be changed. Eg: [{"mow_head":10,"id":117}] will change the angle of mowing in area 117 to 10 degrees and leave the other parameters as is.
Changelog
0.1.1 (2026-07-05)
- (raintonr) Clean up sanitized (sic) IDs in favour of warning & ignoring
- (raintonr) Clean up redacted logging of API traffic
- (raintonr) Clean up polling timer & add status.last_poll
0.1.0 (2026-07-03)
- (mcm1957) BREAKING: object ids are now sanitized. This might result in changed object-ids.
- (mcm1957) Translations have been corrected.
- (mcm1957) Loggings has been adapted to avoid logging secrets.
0.0.12 (2026-07-03)
- (raintonr) Added mow_head & cutter_height custom area (zone) shortcuts
- (raintonr) Fix bug creating multiple polling timers
- (raintonr) Handle missing task finished code when custom area mowing (#35)
0.0.11 (2026-06-12)
- (raintonr) Handle custom areas & do not disturb for Genie series
- (raintonr) Better error handling
0.0.10 (2026-06-10)
- (raintonr) Added do not disturb, vision, rain & volume commands
- (raintonr) Schedule improvements: do not start if in (or will not finish before) active do not disturb period
- (raintonr) Handle multiple devices
- (raintonr) Handle Genie series (custom areas not supported yet)
Older changelogs can be found there
License
MIT License
Copyright (c) 2026 iobroker-community-adapters [email protected]
Copyright (c) 2026 Robin Rainton [email protected]
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

