Sensor Read Block

The Sensor Read block reads a value from a sensor and stores it in a flow variable. This is how your flow gets data from the physical world.


Configuration

1. Select Sensor

Choose which sensor to read from. The dropdown shows all sensors registered in the system, grouped by type. Only devices with type SENSOR appear here.

Each sensor shows its name and analytics label for easy identification.

2. Reading Mode (Strategy)

After selecting a sensor, a status card appears showing the active reading mode:

ElementDescription
Active RoleWhat the sensor measures (e.g., ph, ec, temperature). This comes from the device configuration.
StrategyHow the raw sensor value is converted to a meaningful reading (e.g., linear, polynomial, atlas_ph).

The reading mode is determined by the sensor’s calibration settings — you configure this in the Hardware section when setting up the device, not here in the flow editor.

Calibration Status:

  • ✅ Calibrated (gray card) — the sensor has calibration data for its active role+strategy. Readings will be accurate.
  • ⚠️ Not Calibrated (yellow card) — the sensor needs calibration. Go to Hardware → Devices and calibrate the sensor.

3. Target Variable

Select which flow variable will receive the sensor reading. The variable must exist before you can select it — create one using the Variable Manager in the toolbar.

Tip: Name your variables descriptively (e.g., current_ph, water_temp) so the flow is easy to understand.

Unit Validation: The system automatically checks if the variable’s unit is compatible with the sensor’s output. If there’s a mismatch, a red error badge appears — this is a validation error that will save the flow as a draft until fixed.


Shared Settings

These sections appear for every block type.

Error Handling

Controls what happens if the sensor reading fails (device offline, communication error, timeout).

FieldDefaultDescription
Retry Count3How many times to retry the operation before giving up
Retry Delay (ms)1000Milliseconds to wait between retries
On FailureSTOPWhat to do after all retries are exhausted

On Failure options:

OptionEffect
StopImmediately stops the entire flow. All actuators revert to safe state.
PausePauses the flow — it can be resumed manually or by the scheduler.
ContinueIgnores the error and moves to the next block. The variable keeps its previous value.
Jump to LabelJumps to a specific Flow Control label block. Useful for error recovery routines.

Notifications

Controls whether this block sends alerts through notification channels (Telegram, Email, etc.).

FieldOptionsDescription
ChannelInherit Global / [specific channels]Which notification channel to use.
BehaviorAUTO / ALWAYS / MUTEWhen to actually send notifications.
ModeWhen Notifications Are Sent
AUTOOnly on errors or important events (default)
ALWAYSEvery time this block executes (success or failure)
MUTENever — suppresses all notifications from this block

Documentation

A free-text comment field for your own notes. Doesn’t affect execution — purely for documentation.


Troubleshooting

“No sensors available”

  • Make sure you have sensors registered in Hardware → Devices

Yellow “Calibration Required” warning

  • The sensor needs calibration for its active role. Go to Hardware → Devices → select the sensor → Calibrate.

Red unit mismatch error

  • The target variable’s unit doesn’t match the sensor’s output unit. Change the variable unit in the Variable Manager.

Sensor reads but value doesn’t change

  • Check if the flow is actually running (not paused)
  • Verify the sensor is online in Hardware → Devices