unconfirmedThe library file holds suggested limits for water (action), stop (action), and no person has confirmed those limits yet.How a person confirms the limits
Actions
Action
Arguments
Confirm
Limit
water
duration 1 to 30 s, step 1
confirm
suggested
stop
none
none
suggested
Read channels
Channel
Type
Unit
Every
soil_moisture
number
%
1 s
tank
enum
1 s
openhal:"0.1"device:{name: Arduino plant waterer,model: plant-waterer,manufacturer: OpenHAL }id: openhal-plant-waterer
match:firmware:{product: plant-waterer }connect:{openhal-firmware: auto,boot_s: 2}read:soil_moisture:{unit: percent,every: 1 s,range: [0,100]}tank:{type: enum,values: [empty, ok],every: 1 s }actions:water:description: Run the pump for a number of seconds.
args:duration:{unit: s,min: 1,max: 30,step: 1}require: -condition:"tank == ok"message:"pump can't run while tank is empty"max_runs:{count: 3,per: 1 h }confirm: confirm
suggested:truestop:description: Turn the pump off now.
suggested:truesafe_state:{action: stop }watchdog:{heartbeat: 1 s,on_loss: safe_state }hazard: low
notes: >-
Suggested limits. A person must confirm every limit before this device can be written.
The sketch is examples/plant-waterer/plant-waterer.ino on an Arduino Uno R3 or an ESP32 DevKitC.
The board stops the pump after 30 s, when the tank runs dry and when heartbeats stop for 3 s.
This file allows runs of at most 30 s, the sketch's own limit, and three runs an hour.
provenance:{source: library,by: OpenHAL starter library,at: 2026-10-25,verification: {status: unverified }}