# ProteusEcoMeter Binding

This is the binding for the Proteus EcoMeter S, which is able to report the level of a cistern or tank.

Note that this binding currently supports no write channels.
This means you have to configure your sensor according to the product manual (using the wireless display).
After that, the binding will help you get your measured values into openHAB.
Please be patient while waiting for the first received data.
The sensor reports at an interval of approximately one hour, except when the water level changes relatively quickly.

## Supported Things

Proteus EcoMeter S.
The binding has been tested with this EcoMeter sensor only.

## Discovery

Auto-discovery is currently not supported.

## Thing Configuration

Plug the wireless display into a USB port.
See the [openHAB Serial Port documentation](https://www.openhab.org/docs/administration/serial.html) for general serial port configuration.
After that, you can add the device as a Thing and configure the usbPort your OS generated for the display.

```text
UID: proteusecometer:EcoMeterS:e90705eaa4
label: Proteus EcoMeter S
thingTypeUID: proteusecometer:EcoMeterS
configuration:
  usbPort: /dev/ttyUSB0
```

## Channels

| channel               | type                 | description                                          |
|-----------------------|----------------------|------------------------------------------------------|
| temperature           | Number:Temperature   | Temperature measured by the sensor                   |
| sensorLevel           | Number:Length        | Distance between sensor and water surface            |
| usableLevel           | Number:Volume        | How much liquid is usable                            |
| usableLevelInPercent  | Number:Dimensionless | How much liquid is usable relative to total capacity |
| totalCapacity         | Number:Volume        | Total capacity of measured cistern/tank              |

## Full Example

Thing proteusecometer:EcoMeterS:e90705eaa4 "Proteus EcoMeter S" [ usbPort="/dev/ttyUSB0" ]

Number:Temperature   Temperature          "Measured temperature [%.1f °C]" { channel="proteusecometer:EcoMeterS:e90705eaa4:temperature" }
Number:Length        SensorLevelCm        "Sensor level"                   { channel="proteusecometer:EcoMeterS:e90705eaa4:sensorLevel" }
Number:Volume        UsableLevel          "Usable level"                   { channel="proteusecometer:EcoMeterS:e90705eaa4:usableLevel" }
Number:Dimensionless UsableLevelPercent   "Usable level"                   { channel="proteusecometer:EcoMeterS:e90705eaa4:usableLevelInPercent" }
Number:Volume        TotalCapacityLiters  "Total capacity"                 { channel="proteusecometer:EcoMeterS:e90705eaa4:totalCapacity" }
