Bringing the signals together
The plant sensors could tell me what was happening in the soil, but I wanted some context before deciding what to do about it. I wanted to bring in sunrise and sunset times through APIs, so I could work out sensible times for alerts. I don’t want to be woken at three in the morning because a plant needs watering.
I also wanted to know whether the heating was on. That gives me another clue about how quickly the soil might dry, alongside the readings from the probes. Bringing those signals together helps me decide when to check the plants, rather than treating every reading as a reason to send an alert.
Sources provide the incoming information; sensors represent individual values extracted from those sources. Those values can be retained over time, graphed, and used in rules and conditions.
From observation to decisions
Axon keeps observations, state, conditions and transitions in the same operational model. The runtime can evaluate what is happening and use that understanding to coordinate the next action.
Depending on the system, the outcome might be an alert, a dashboard update, an actuator command or a recovery path. The aim is to connect observation and control in a coherent loop.
Purpose-made probes
The ESP32-based probes let me place observations where they are needed in the physical environment. They are part of the same model as the external data sources, allowing decisions to use information from several places at once.



One view of a distributed system
The interesting part is the connection between many small observations and a useful decision. Axon gives distributed hardware, live telemetry and software logic a common place to meet.