# Precision Agriculture Data Visualization and Farm Automation

**URL:** <https://farmos.discourse.group/t/precision-agriculture-data-visualization-and-farm-automation/2514>\
**Category:** Using farmOS\
**Created:** [April 27, 2026, 2:11pm UTC](https://farmos.discourse.group/t/precision-agriculture-data-visualization-and-farm-automation/2514 "2026-04-27T14:11:37Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![mstenta](https://yyz2.discourse-cdn.com/free1/user_avatar/farmos.discourse.group/mstenta/32/4_2.png) [@mstenta](https://farmos.discourse.group/u/mstenta)\
**Post date:** [April 27, 2026, 5:03pm UTC](https://farmos.discourse.group/t/precision-agriculture-data-visualization-and-farm-automation/2514/2 "2026-04-27T17:03:28Z")

</div>

Hi @DenTod - welcome to the community! 🙂

> [@DenTod](#):
>
> I’m interested in data visualization within the platform — something similar to what we see in precision agriculture. Is this possible?

Sure! Anything is possible!

At it’s core, farmOS is just a web application, so anything that’s possible with HTML, CSS, and JavaScript is possible in farmOS. And because it is modular, you can package whatever kinds of add-on UI you want and offer it to others in the community as a farmOS module.

The “core” farmOS project aims to provide a flexible platform and data model that can represent records for all kinds of farming contexts, but tries to remain unopinionated about very specific use-cases. Instead, it leaves it up to “downstream” developers to build add-on modules for their needs, which they can offer back to the rest of the community.

There is a lot of flexibility within modules to add and modify farmOS interfaces, and provide visualizations, reports, data entry forms, etc.

> [@DenTod](#):
>
> In our project, we are developing a robot that will move around the field and measure different conditions, such as soil moisture.
> 
> Is it possible to visualize the robot moving around the field in FarmOS? I have it set up as an equipment asset, and it has child sensor assets. The sensor has a data stream.

Very cool! The way I would probably approach this is by creating a module for your specific data stream, which adds a map to visualize the data you’re collecting.

farmOS uses [OpenLayers](https://openlayers.org/) for building maps in the UI, and we’ve built a wrapper library around it called [farmOS-map](https://github.com/farmOS/farmOS-map) which provides some helper methods for adding new layers of different types. The `README.md` for that project has a lot of good information in it.

We also have documentation for building modules here: [farmOS module development | farmOS](https://farmos.org/development/module/)

And some specific examples of adding maps in farmOS here: [Maps | farmOS](https://farmos.org/development/module/maps/)

So all the building blocks should be there, for the most part! It’s just a matter of building what you want with them. 🙂

> [@DenTod](#):
>
> Can FarmOS record both the sensor measurements and the robot’s position?

One way to do this would be to use multiple data streams, all associated with the same sensor asset. So for example, you could have one for latitude, one for longitude, and one for each sensor measurement.

Note that the “basic” data stream type simply stores values in the farmOS database, but it’s also possible to write your own data stream types that store data elsewhere (or in more customized database table schemas).

> [@DenTod](#):
>
> The goal is to generate a heat map using the sensor data and visualize it inside FarmOS.

Here are two OpenLayers heat map examples:

> **[Earthquakes Heatmap](https://openlayers.org/en/latest/examples/heatmap-earthquakes.html)**

> **[Trajectories Heatmap](https://openlayers.org/en/latest/examples/heatmap-trajectories.html)**

> [@DenTod](#):
>
> Another question: when I click on the sensor or the data stream, FarmOS only shows me a map (zoomed out) and the sensor/data stream record, but not the measurements themselves (for example, a line chart).

farmOS v1 had basic charting of sensor data, but that was dropped during the upgrade to v2 due to dependency and licensing debates, and there is an open issue to restore it here: [Client Challenge](https://www.drupal.org/project/farm/issues/3203015)

Similarly, this issue aims to add graphs to the quantity report: [Client Challenge](https://www.drupal.org/project/farm/issues/2941620)

> [@DenTod](#):
>
> Can the dashboard be customized?

Yes! Modules can insert blocks into the dashboard. All of the existing dashboard blocks are added that way. I can refer you to examples if you need.

> [@DenTod](#):
>
> I come from the Home Assistant ecosystem and I’m looking for something equivalent for farm management. I was imagining that FarmOS would be able to do something similar.

Some people are using them both, in a complimentary way. Some forum topics on the subject:

> [@View Home-assistant in FarmOS](https://farmos.discourse.group/t/view-home-assistant-in-farmos/1287):
>
> @Farmer-Ed@mstenta Hi there… Is it possible to embed Home-assistant content in a hosted FarmOS?

> [@farmOS, NodeRed, Home Assistant etc](https://farmos.discourse.group/t/farmos-nodered-home-assistant-etc/1064):
>
> I’ve setup farmOS and Home Assistant on 2 Raspberry Pi’s, I had initially considered using the same for both, but I think for performance they are better off separated. I’ve been using Home Assistant for over 2 years and I’m building up a Sensor network spread over my fragmented farm, 4 separate farm blocks separated by a few kilometres using LoRa sensor nodes IOT sims in Lora Gateways. It is only in the last few months that I’ve come across farmOS, and only in the last few weeks that I’ve deci…

> [@DenTod](#):
>
> Also, is FarmOS capable of triggering any kind of automation when certain conditions occur — for example, pressing a button on a dashboard or running an action based on time, since it uses cron?

Sure, module can provide form (with buttons) that do whatever you want, including sending HTTP requests to other services (eg: a Raspberry Pi running locally that listens for requests, triggers actuators, etc. They can also implement Drupal’s cron hook to run things on a schedule basis. See: [Client Challenge](https://api.drupal.org/api/drupal/core%21core.api.php/function/hook_cron/11.x)

Hope that gets you started! Looking forward to seeing what you build! 🙂

---

_[View the full topic](https://farmos.discourse.group/t/precision-agriculture-data-visualization-and-farm-automation/2514)._
