Skip to main content
All releases
Release Notes

Route planning with refill points and operations planning as a Kanban board

Route OptimizationRefill PointsKanban Operations Planning3D Map

With version 0.4.0, automatic route calculation for irrigation runs is back. The new routing service Streamlet plans the trip across all groups of an irrigation schedule and takes stops at refill points into account. Operations planning has been redesigned as a Kanban board, where schedules move through their phases via drag and drop.

Cedrik Hoffmann

Lead Developer & Project Lead

After 0.3.0 focused on the new map and irrigation groups, version 0.4.0 closes a gap left by the architecture change in 0.2.0: automatic route calculation for irrigation runs is available again. It now runs through the new routing service Streamlet and takes refill points on the route into account. In addition, operations planning was rebuilt from a list view into a Kanban board.

Release Highlight

Route optimization with Streamlet

When creating an irrigation schedule, Streamlet calculates the route across the selected irrigation groups and determines the order of the stops. New is the handling of the water supply: if the capacity of the vehicle is not enough for all groups of the schedule, Streamlet plans intermediate stops at refill points where water can be topped up.

The result is directly visible in the schedule. The detail page shows the route as a line on the map, along with distance, travel time, water demand, and the number of refill stops. The starting point and the refill points visited appear as their own markers on the map. For navigation devices, the route can be downloaded as a GPX file.

Calculated route of an irrigation schedule as a line on the map, with markers for the starting point and a refill pointCalculated route of an irrigation schedule as a line on the map, with markers for the starting point and a refill point

The starting points themselves were also reworked. They used to be fixed in the configuration and are now maintained as their own records in the database. In the schedule form, the starting point is a required field; the point stored as default is already preselected.

Operations planning as a Kanban board

The overview of irrigation schedules used to be a list. It is now a Kanban board with the columns Suggestions, Planned, In Progress, and Done. A schedule moves from column to column via drag and drop, changing its status along the way. If a change requires additional information, for example when canceling or completing a schedule, a dialog asks for it.

The Suggestions column shows irrigation groups that should be watered. Several groups can be selected there and bundled directly into a new irrigation schedule that already contains the selection. Staff can also be assigned to a schedule directly on the board; the assignment is saved and shown on the schedule.

The new Kanban board for operations planning with the columns Suggestions, Planned, In Progress, and DoneThe new Kanban board for operations planning with the columns Suggestions, Planned, In Progress, and Done

New Map Features

The interactive map has gained extended controls. A compass realigns a rotated map back to north, a 3D view tilts the camera for a spatial view of the city area, and GPS positioning shows the own position along with an accuracy radius. The map follows the position until it is moved by hand. A collapsible legend also explains the colors of the irrigation status.

Tilted 3D view of the map with the new map controls on the right edgeTilted 3D view of the map with the new map controls on the right edge

The detail panel of an irrigation group now shows the irrigation status with a short assessment instead of the raw soil moisture value. Editing a group now leads from the panel into the same edit mode used everywhere else, including tree selection on the map. Deleting a group has moved into the dashboard and must be confirmed there before it is carried out.

Further Improvements

The sidebar can now be collapsed into an icon bar, and the chosen state stays saved across sessions. At the bottom of the sidebar, a user menu with name and email address replaces the previous sign-out entry. Profile and sign-out are reachable through the menu.

For sensors, the “Last Signal” card now shows the transmission interval of the device, for example “sends every 20 min.” This makes it possible to estimate when the next transmission is expected and whether a missing report is a problem. The signal strength history offers a time range selector, and the measurements of a sensor are now fetched paginated and filtered by time range, which eases the load on the detail page for long measurement series.

This release also finally removed the old Go backend from the repository. The platform now runs entirely on the new backend, whose rebuild had begun in 0.2.0. For operations, the liveness and readiness probes are now reachable under the API path.

Fixed Bugs

Reception of sensor data stayed silent after a restart of the MQTT broker, because the connection did not re-register; this is fixed, and the server now shuts down in an orderly manner on restart, without aborting requests in progress. For irrigation schedules, tow vehicle and trailer could be shown swapped, because the roles were not stored explicitly. When a tree is moved to another group, the previous group now also updates its status and its position on the map.

In addition, a single inconsistent schedule no longer brings the schedule list to a halt, and the water amount recorded when completing a schedule is preserved when it is edited later.

Outlook

The Kanban board is the first step of a larger overhaul of operations planning and will be expanded further in upcoming versions. Route planning with Streamlet will also be developed further based on experience from real-world use.

Feedback and bug reports are always welcome on GitHub.

CHANGELOG.md - v0.4.0
$
feat(routing): Route calculation for irrigation schedules reactivated via the new routing service Streamlet
#883
$
feat(routing): Starting points as their own records, managed via the API
#887
$
feat(routing): Starting and refill points on the maps of irrigation schedules
#888
$
fix(routing): Starting point in the schedule form as a required field with a preselected default
#892
$
feat(watering-plans): Operations planning as a Kanban board with drag and drop and staff assignment
#885
$
feat(map): Compass, 3D view and GPS positioning as new map controls with a status legend
#889
$
feat(map): Map panel of an irrigation group shows the irrigation status instead of soil moisture
#870
$
feat(treecluster): Editing of irrigation groups unified, deleting moved into the dashboard
#890
$
feat(layout): Sidebar collapsible, the state stays saved
#886
$
feat(layout): User menu with profile and sign-out in the sidebar
#891
$
feat(sensor): Transmission interval of the sensor shown alongside the last signal
#862
$
feat(sensor): Measurements are now fetched paginated and filtered by time range, with a time range selector in the signal history
#900
$
feat(backend): Liveness and readiness probes reachable under /api
#876
$
fix(backend): Sensor reception after connection loss, vehicle roles and status updates for groups corrected
#865
$
fix(backend): Data integrity of irrigation schedules and a more stable schedule list
#866
$
refactor(backend): Old Go backend removed from the repository

Found an error or have feedback on this release? Create an issue →