Skip to main content
Version: 1.0

Neo smart water valve

Neo smart water valve is a Powered By Shelly device with real-time flow monitoring, pressure sensing, and temperature control. It supports configurable alarms for pressure, temperature, and flow rate with automatic valve closure on fault conditions.

For more information about the original Neo smart water valve consult: https://www.szneo.com/

The following components are available in the Neo smart water valve:

Supported virtual components:

Supported BTHome components:

Virtual Component Configuration

The Neo smart water valve has the following virtual components:

Virtual ComponentTypeAccessDescription
flow_ratenumberreadMeasures the current water flow rate in m³/min.
statebooleanread/writeControls the valve state—set to open for water flow or close to stop flow.
water_consumptionobjectreadTracks total water consumption in m³ with reset capability.
water_pressurenumberreadMonitors water pressure in kPa with configurable alarm thresholds (0–1350 kPa).
water_temperaturenumberreadMonitors water temperature in °C with configurable alarm thresholds (–25 to 80°C).

Handlers Configuration

The Neo smart water valve exposes the following RPC handlers:

Service.ListConfigOptions

Lists all available configuration options that can be set on the device.

Service.ResetCounters

Resets the water consumption counter back to zero.

Service Configuration

See the Service Configuration Example section for a full example.

PropertyTypeDescription

on_power_restore

string

Defines the behavior of the valve when the power is restored:

  • close - Close the valve.
  • open - Open the valve.
  • none - Do nothing.

temp_unit

string

Temperature unit for display and alarms:

  • C - Celsius.
  • F - Fahrenheit.

pressure_unit

string

Pressure unit for display and alarms:

  • kPa - Kilopascals.
  • PSI - Pounds per square inch.
  • bar - Bar.

volume_unit

string

Volume unit for consumption tracking:

  • m3 - Cubic meters.
  • gal - Gallons.
  • L - Liters.

alarm_temp_range

array

Temperature alarm thresholds as [min, max] values in the configured temperature unit.

alarm_temp_action

string

Action to take when temperature alarm is triggered:

  • open - Open the valve.
  • close - Close the valve.

alarm_pressure_range

array

Pressure alarm thresholds as [min, max] values in the configured pressure unit.

alarm_pressure_action

string

Action to take when pressure alarm is triggered:

  • open - Open the valve.
  • close - Close the valve.

alarm_flow_rate_range

array

Flow rate alarm thresholds as [min, max] values in liters per minute.

alarm_flow_rate_action

string

Action to take when flow rate alarm is triggered:

  • open - Open the valve.
  • close - Close the valve.

Method Examples

How to check flow rate

http://192.168.33.1/rpc/Number.GetStatus?owner="service:0"&role="flow_rate"

Response

null

How to open the neo valve

http://192.168.33.1/rpc/Boolean.Set?owner="service:0"&role="state"&value=true

Response

null

How to close the neo valve

http://192.168.33.1/rpc/Boolean.Set?owner="service:0"&role="state"&value=false

Response

null

How to check the water consumption

http://192.168.33.1/rpc/Object.GetStatus?owner="service:0"&role="water_consumption"

Response

null

How to check the water pressure

http://192.168.33.1/rpc/Number.GetStatus?owner="service:0"&role="water_pressure"

Response

null

How to check the water temperature

http://192.168.33.1/rpc/Number.GetStatus?owner="service:0"&role="water_temperature"

Response

null

MQTT Communication

The Neo smart water valve can be controlled through MQTT.

Command topics

Allow sending open and close commands to the valve.

TopicDescription
valve/0/stateAccepts open or close payloads to control the valve.

Status topics

Report information about the current status of the water valve.

TopicDescription
valve/0/stateReports valve state changes as open or close.

Service Configuration Example

http://192.168.33.1/rpc/Service.GetConfig?id=0

Response

{
"temp_unit": "C",
"on_power_restore": "none",
"pressure_unit": "PSI",
"volume_unit": "gal",
"alarm_temp_range": [
15,
50
],
"alarm_temp_action": "close",
"alarm_pressure_range": [
275,
550
],
"alarm_pressure_action": "close",
"alarm_flow_rate_range": [
75,
110
],
"alarm_flow_rate_action": "close",
"id": 0
}