Appearance
Reference — Eco Sistems gateway
The MUXEN devices this gateway publishes
| Device | Function | Instance | What it carries |
|---|---|---|---|
| Watermaker | 20 | configured (InstanceNum), 0 by default | the watermaker: state, salinity, flow, litres, alarms; accepts start / rinse / stop / flow commands |
| Generic I/O | 17 | configured (InstanceNum), 255 by default | the box's own relays, inputs and analog inputs |
MQTT topics on the Brain follow device/<function>/<instance>/<frame>.
What the watermaker publishes
device/20/<instance>/life, once a second, only while the unit is being heard:
| Field | Unit | Meaning |
|---|---|---|
state / stateCode | standby (0), production (1), rinçage (2) — the unit's own state | |
salinity | ppm | salinity of the water produced; 0 outside production |
productionFlow | l/h | flow the unit reports now |
ProductLiterCmpt | l | the unit's litre counter, 16-bit, wraps at 65 535 |
FlowNowRateFromMaxFlow | % | flow setting, 50…100; 100 outside production |
counter | rolling frame counter |
device/20/<instance>/state is published at the same rate but every field is zero: pressures, valve and pump states, fuses and hour meter are not available from this equipment.
Alarms
Republished as MUXEN faults on device/20/<instance>/error/<code>:
| Code | Meaning |
|---|---|
| 23 | pressure too high |
| 24 | no flow |
| 25 | salinity (TDS) too high |
The unit reports one alarm at a time; when it reports none, the gateway clears the faults it holds.
Commands accepted
Published by the Brain on device/20/<instance>/command:
| Payload | Effect | Accepted when |
|---|---|---|
{"produce": true} | start production | unit present |
{"rinsing": true} | start a rinse | unit present |
{"off": true} | stop | unit present |
{"productionFlowUp": true} | raise the production flow one step | unit present and producing |
{"productionFlowDown": true} | lower the production flow one step | unit present, producing, and above the minimum flow |
A payload with none of these keys is treated as stop. Commands are dropped while the unit is absent, and two commands must be at least 200 ms apart.
Parameters — watermaker (function 20)
| Parameter | Type | Default | Meaning |
|---|---|---|---|
InstanceNum | 0…62 | 0 | the watermaker's instance number. Unlike most CanCan applications this is not 255, so a factory box publishes immediately |
BindToParc | 254 (auto) | the energy zone this device is attributed to; stored by the box, not used by this gateway | |
WatermakerModel | read-only in practice | Eco Sistems 48 V | forced back to Eco Sistems 48 V at every start |
ProductId, HardwareId, SoftwareId, SoftwareVersion | read-only | see Reference |
Instance numbers are read at startup — write with --reboot.
Parameters — generic I/O (function 17)
The parameters common to every CanCan, described in Reference, with one difference on this firmware:
| Parameter | Behaviour here |
|---|---|
EnGenIo | no effect — the inputs, relays and analog inputs are published as soon as the device has an instance number below 63 |
InstanceNum (255) and EnAnalogPwr (1) behave as documented there.
Routines
| Routine | Payload | Effect |
|---|---|---|
| 1 | 0001 | restore the instance number to its default |
| 1 | any bit above bit 0 | restore every other parameter to its default |
No other routine is implemented: muxen-uds locate is refused here.
Timings
| Watermaker life and state published every | 1 s |
| The unit is declared absent after | 5 s without a frame |
| Minimum delay between two commands | 200 ms |
| Generic I/O published | on change, at least every 500 ms (50 mV on the analog inputs) |
The watermaker side
| Bus | CAN 2, 250 kbit/s, fixed by the firmware — it overrides the 500 kbit/s of the board description at every start |
| Frames read | the Eco Sistems status frame: flow, litre counter, salinity, alarm, state |
| Frames written | start, rinse, stop, flow up and flow down |
| Filtering | none — the gateway listens to the whole second bus and picks out what it understands. Any traffic there is enough for it to consider the unit present |
Known limitations
- The
statetopic carries no real data — every field reads zero, including the high pressure the equipment measures. - The litre counter is 16-bit and wraps at 65 535 l; the published flow percentage is trimmed to 50…100 %; one watermaker per gateway.
Versions
| Hardware | Version | Image |
|---|---|---|
| CanCan v1 | 5.11 | 010010027-app_eco_sistems-firmware.srec |
| CanCan v2 | 6.2 | 010010027-V2-app_eco_sistems-firmware.srec |
Source: workspace/muxen/cancan/app_eco_sistems/, product overlay boards/arm/<board>/010010027.overlay.
