Skip to content

Watermaker (function 20) ​

A reverse-osmosis desalinator. It reports whether it is producing, rinsing, cleaning or stopped, how much water it has made and how salty it is, and the pressures, pumps and valves behind that. Commands select the mode and step the production flow up or down.

  • state enum: standby, production, rinçage, nettoyage FAS, nettoyage membrane, defaut, arrêt d'urgence.

Published ​

device/20/<i>/life ​

metadata adds counter; expireAfterSec: 30.

data fieldTypeUnitDescription
counterint—Frame counter (also in metadata)
salinityint—Salinity (raw)
productionFlowint—Production flow (raw)
state / stateCodestring / int—Watermaker state (enum)
ProductLiterCmptintLProduced-liters counter
FlowNowRateFromMaxFlowint%Flow as % of max
json
{
  "data": {
    "counter": 3,
    "salinity": 320,
    "productionFlow": 45,
    "state": "production",
    "stateCode": 1,
    "ProductLiterCmpt": 1250,
    "FlowNowRateFromMaxFlow": 80
  },
  "metadata": {
    "rxdate": "2026-06-17T14:30:45.123Z",
    "rxTimestamp": 1781793045,
    "expireAfterSec": 30,
    "counter": 3
  }
}

device/20/<i>/state ​

expireAfterSec: 30. Valve/pump state flags are emitted as 0/1 integers.

data fieldTypeUnitDescription
preFilterPressurenumber (0 dec)barPre-filter pressure
postFilterPressurenumber (0 dec)barPost-filter pressure
highPressurenumber (0 dec)barHigh pressure
rinsingValveSteint (0/1)—Rinsing valve
productionValveSteint (0/1)—Production valve
lpPumpSte / lpPumpFuseSteint (0/1)—LP pump / fuse
hpPumpSte / hpPumpFuseSteint (0/1)—HP pump / fuse
sensorLoopSteint (0/1)—Sensor loop
hourMeterint—Hour meter
json
{
  "data": {
    "preFilterPressure": 2,
    "postFilterPressure": 1,
    "highPressure": 55,
    "rinsingValveSte": 0,
    "productionValveSte": 1,
    "lpPumpSte": 1,
    "lpPumpFuseSte": 1,
    "hpPumpSte": 1,
    "hpPumpFuseSte": 1,
    "sensorLoopSte": 1,
    "hourMeter": 1024
  },
  "metadata": {
    "rxdate": "2026-06-17T14:30:45.123Z",
    "rxTimestamp": 1781793045,
    "expireAfterSec": 30
  }
}
bash
mosquitto_sub -h 127.0.0.1 -t 'device/20/+/#' -v

Command — device/20/<i>/command ​

Regex ^device/20/([[:digit:]]+)/command$. The first matching flag set to true selects the mode; default is standby (off).

FieldTypeDescription
offboolStandby
rinsingboolRinsing
produceboolProduction
productionFlowUpboolIncrease production flow
productionFlowDownboolDecrease production flow
bash
mosquitto_pub -h 127.0.0.1 -t 'device/20/0/command' -m '{"produce":true}'
mosquitto_pub -h 127.0.0.1 -t 'device/20/0/command' -m '{"rinsing":true}'
mosquitto_pub -h 127.0.0.1 -t 'device/20/0/command' -m '{"off":true}'

Integration of multiplexed solutions
MUXEN and the MUXEN logo are trademarks of MUXEN SAS.