[teleinfo] Add support for Standard tic mode (#11375)
* Add a ticMode parameter to serial controller Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Improve checksum verification Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Add parameter to deactivate checksum verification Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Add standard field labels Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Add things and channels for standard tic mode Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Add standard tic mode timestamp Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Fix typo Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Add some required null annotation Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Add parser for relais states Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Add relais channels and refactor standard mode channels Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Add @NonNullByDefault on enum Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Update documentation Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Fix formula in documentation Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Fix code issues Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Move channel type description in same file than channel group type description Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Add pattern specification to dateTime channel type Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Add missing channelGroup id in channel UID Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Add trace log Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Fix group labels Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Make labels uppercase Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Make options lowercase Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh> * Simplify group label Signed-off-by: Olivier Marceau <hollysaiqs@marceau.ovh>
This commit is contained in:
108
bundles/org.openhab.binding.teleinfo/README.md
Normal file → Executable file
108
bundles/org.openhab.binding.teleinfo/README.md
Normal file → Executable file
@@ -12,6 +12,10 @@ These values can be used to
|
||||
|
||||
## Supported Things
|
||||
|
||||
### Historical TIC mode
|
||||
|
||||
Historical TIC mode is the only mode of all telemeters before Linky models and the default mode for Linky telemeters.
|
||||
|
||||
The Teleinfo binding provides support for both single-phase and three-phase connection, ICC evolution and the following pricing modes:
|
||||
|
||||
- HCHP mode
|
||||
@@ -34,6 +38,19 @@ The Teleinfo binding provides support for both single-phase and three-phase conn
|
||||
| cbetm_hc_electricitymeter | three-phase | HCHP | |
|
||||
| cbetm_tempo_electricitymeter | three-phase | Tempo | |
|
||||
|
||||
### Standard TIC mode
|
||||
|
||||
Linky telemeters add a new `Standard` mode with more detailed information but still provide information on the legacy format under the `Historical` denomination.
|
||||
|
||||
Standard mode doesn't depend on the pricing options, but it adds some useful information for electricity producers.
|
||||
|
||||
| Thing type | Connection | Producer mode |
|
||||
|--------------------------------------------|--------------|--------------|
|
||||
| lsmm_electricitymeter | single-phase | |
|
||||
| lsmm_prod_electricitymeter | single-phase | [x] |
|
||||
| lstm_electricitymeter | three-phase | |
|
||||
| lstm_prod_electricitymeter | three-phase | [x] |
|
||||
|
||||
## Discovery
|
||||
|
||||
Before the binding can be used, a serial controller must be added. This needs to be done manually. Select __Teleinfo Serial Controller__ and enter the serial port.
|
||||
@@ -49,30 +66,33 @@ Once the serial controller added, electricity meters will automatically appear a
|
||||
|----------------------|--------------|---------------------------------------|---------------------------------|
|
||||
| `serialcontroller` | `serialport` | Path to the serial controller | /dev/ttyXXXX, rfc2217://ip:port |
|
||||
| `*_electricitymeter` | `adco` | Electricity meter identifier | 12 digits number |
|
||||
| | `ticMode` | TIC mode | `STANDARD`, `HISTORICAL` (default) |
|
||||
|
||||
## Channels
|
||||
|
||||
### Historical TIC mode
|
||||
|
||||
Channel availability depends on the electricity connection (single or three-phase) and on the pricing mode (Base, HCHP, EJP or Tempo).
|
||||
|
||||
| Channel | Type | Description | Phase | Mode |
|
||||
| Channel | Type | Description | Connection | Mode |
|
||||
|----------|---------------------------|----------------------------------------------------------|--------|-------|
|
||||
| isousc | `Number:ElectricCurrent` | Subscribed electric current | All | All |
|
||||
| ptec | `String` | Current pricing period | All | All |
|
||||
| imax | `Number:ElectricCurrent` | Maximum consumed electric current | Single | All |
|
||||
| imax1 | `Number:ElectricCurrent` | Maximum consumed electric current on phase 1 | Three | All |
|
||||
| imax2 | `Number:ElectricCurrent` | Maximum consumed electric current on phase 2 | Three | All |
|
||||
| imax3 | `Number:ElectricCurrent` | Maximum consumed electric current on phase 3 | Three | All |
|
||||
| adps | `Number:ElectricCurrent` | Excess electric current warning | Single | All |
|
||||
| adir1 | `Number:ElectricCurrent` | Excess electric current on phase 1 warning | Three | All |
|
||||
| adir2 | `Number:ElectricCurrent` | Excess electric current on phase 2 warning | Three | All |
|
||||
| adir3 | `Number:ElectricCurrent` | Excess electric current on phase 3 warning | Three | All |
|
||||
| iinst | `Number:ElectricCurrent` | Instantaneous electric current | Single | All |
|
||||
| iinst1 | `Number:ElectricCurrent` | Instantaneous electric current on phase 1 | Three | All |
|
||||
| iinst2 | `Number:ElectricCurrent` | Instantaneous electric current on phase 2 | Three | All |
|
||||
| iinst3 | `Number:ElectricCurrent` | Instantaneous electric current on phase 3 | Three | All |
|
||||
| ppot | `String` | Electrical potential presence | Three | All |
|
||||
| pmax | `Number:Energy` | Maximum consumed electric power on all phases | Three | All |
|
||||
| papp | `Number:Power` | Instantaneous apparent power | Three, single (ICC evolution only) | All |
|
||||
| imax | `Number:ElectricCurrent` | Maximum consumed electric current | Single-phase | All |
|
||||
| imax1 | `Number:ElectricCurrent` | Maximum consumed electric current on phase 1 | Three-phase | All |
|
||||
| imax2 | `Number:ElectricCurrent` | Maximum consumed electric current on phase 2 | Three-phase | All |
|
||||
| imax3 | `Number:ElectricCurrent` | Maximum consumed electric current on phase 3 | Three-phase | All |
|
||||
| adps | `Number:ElectricCurrent` | Excess electric current warning | Single-phase | All |
|
||||
| adir1 | `Number:ElectricCurrent` | Excess electric current on phase 1 warning | Three-phase | All |
|
||||
| adir2 | `Number:ElectricCurrent` | Excess electric current on phase 2 warning | Three-phase | All |
|
||||
| adir3 | `Number:ElectricCurrent` | Excess electric current on phase 3 warning | Three-phase | All |
|
||||
| iinst | `Number:ElectricCurrent` | Instantaneous electric current | Single-phase | All |
|
||||
| iinst1 | `Number:ElectricCurrent` | Instantaneous electric current on phase 1 | Three-phase | All |
|
||||
| iinst2 | `Number:ElectricCurrent` | Instantaneous electric current on phase 2 | Three-phase | All |
|
||||
| iinst3 | `Number:ElectricCurrent` | Instantaneous electric current on phase 3 | Three-phase | All |
|
||||
| ppot | `String` | Electrical potential presence | Three-phase | All |
|
||||
| pmax | `Number:Energy` | Maximum consumed electric power on all phases | Three-phase | All |
|
||||
| papp | `Number:Power` | Instantaneous apparent power | Three-phase, single-phase (ICC evolution only) | All |
|
||||
| hhphc | `String` | Pricing schedule group | All | HCHP |
|
||||
| hchc | `Number:Energy` | Total consumed energy at low rate pricing | All | HCHP |
|
||||
| hchp | `Number:Energy` | Total consumed energy at high rate pricing | All | HCHP |
|
||||
@@ -88,8 +108,64 @@ Channel availability depends on the electricity connection (single or three-phas
|
||||
| pejp | `Number:Duration` | Prior notice to EJP start | All | EJP |
|
||||
| demain | `String` | Following day color | All | Tempo |
|
||||
|
||||
### Standard TIC mode
|
||||
|
||||
| Channel | Type | Description | Connection | Mode |
|
||||
|----------|---------------------------|----------------------------------------------------------|--------|-------|
|
||||
| ngtf | `String` | Provider schedule name | All | All |
|
||||
| ltarf | `String` | Current pricing label | All | All |
|
||||
| east | `Number:Energy` | Total active energy withdrawn | All | All |
|
||||
| easf*XX* | `Number:Energy` | Active energy withdrawn from provider on index <img src="https://render.githubusercontent.com/render/math?math=XX \in \{01,\dots,10\}"/> | All | All |
|
||||
| easd*XX* | `Number:Energy` | Active energy withdrawn from distributor on index <img src="https://render.githubusercontent.com/render/math?math=XX \in \{01,\dots,04\}"/> | All | All |
|
||||
| irms*X* | `Number:ElectricCurrent` | RMS Current on phase *X* | All for <img src="https://render.githubusercontent.com/render/math?math=X=1"/>, Three-phase for <img src="https://render.githubusercontent.com/render/math?math=X\in \{2,3\}"/> | All |
|
||||
| urms*X* | `Number:Potential` | RMS Voltage on phase *X* | All for <img src="https://render.githubusercontent.com/render/math?math=X=1"/>, Three-phase for <img src="https://render.githubusercontent.com/render/math?math=X\in \{2,3\}"/> | All |
|
||||
| pref | `Number:Power` | Reference apparent power | All | All |
|
||||
| pcoup | `Number:Power` | Apparent power rupture capacity | All | All |
|
||||
| sinsts | `Number:Power` | Instantaneous withdrawn apparent power | Single-phase | All |
|
||||
| smaxsn | `Number:Power` | Maximum withdrawn apparent power of the day | Single-phase | All |
|
||||
| smaxsnMinus1 | `Number:Power` | Maximum withdrawn apparent power of the previous day | Single-phase | All |
|
||||
| ccasn | `Number:Power` | Active charge point N | All | All |
|
||||
| ccasnMinus1 | `Number:Power` | Active charge point N-1 | All | All |
|
||||
| umoy*X* | `Number:Potential` | Mean Voltage on phase *X* | All for <img src="https://render.githubusercontent.com/render/math?math=X=1"/>, Three-phase for <img src="https://render.githubusercontent.com/render/math?math=X\in \{2,3\}"/> | All |
|
||||
| dpm*X* | `String` | Start of mobile peak period <img src="https://render.githubusercontent.com/render/math?math=X\in \{1,\dots,3\}"/> | All | All |
|
||||
| fpm*X* | `String` | End of mobile peak period <img src="https://render.githubusercontent.com/render/math?math=X\in \{1,\dots,3\}"/> | All | All |
|
||||
| msg1 | `String` | Short message | All | All |
|
||||
| msg2 | `String` | Very short message | All | All |
|
||||
| ntarf | `String` | Index of current pricing | All | All |
|
||||
| njourf | `String` | Number of current provider schedule | All | All |
|
||||
| njourfPlus1 | `String` | Number of next day provider schedule | All | All |
|
||||
| pjourfPlus1 | `String` | Profile of next day provider schedule | All | All |
|
||||
| ppointe | `String` | Profile of next rush day | All | All |
|
||||
| date | `DateTime` | Date and Time | All | All |
|
||||
| smaxsnDate | `DateTime` | Timestamp of SMAXSN value | All | All |
|
||||
| smaxsnMinus1Date | `DateTime` | Timestamp of SMAXSN-1 value | All | All |
|
||||
| ccasnDate | `DateTime` | Timestamp of CCASN value | All | All |
|
||||
| ccasnMinus1Date | `DateTime` | Timestamp of CCASN-1 value | All | All |
|
||||
| umoy*X*Date | `DateTime` | Timestamp of UMOY*X* value | All for <img src="https://render.githubusercontent.com/render/math?math=X=1"/>, Three-phase for <img src="https://render.githubusercontent.com/render/math?math=X\in \{2,3\}"/> | All |
|
||||
| dpm*X*Date | `DateTime` | Date of DPM*X* | All | All |
|
||||
| fpm*X*Date | `DateTime` | Date of FPM*X* | All | All |
|
||||
| relais*X* | `Switch` | relais status (<img src="https://render.githubusercontent.com/render/math?math=X\in {1,\dots,8}"/> ) | All | All |
|
||||
| sinsts*X* | `Number:Power` | Instantaneous withdrawn apparent power on phase *X* | Three-phase | All |
|
||||
| smaxsn*X* | `Number:Power` | Maximum withdrawn apparent power of the day on phase *X* | Three-phase | All |
|
||||
| smaxsn*X*Minus1 | `Number:Power` | Maximum withdrawn apparent power on the previous day on phase *X* | Three-phase | All |
|
||||
| smaxs*X*nDate | `DateTime` | Timestamp of SMAXSN*X* value | Three-phase | All |
|
||||
| smaxsn*X*Minus1Date | `DateTime` | Timestamp of SMAXSN*X*-1 value | Three-phase | All |
|
||||
| eait | `Number:Energy` | Total active energy withdrawn | All | All |
|
||||
| erq*X* | `Number:Energy` | Active energy withdrawn from provider on index <img src="https://render.githubusercontent.com/render/math?math=XX \in \{01,\dots,10\}"/> | All | All |
|
||||
| sinsti | `Number:Energy` | Active energy withdrawn from distributor on index <img src="https://render.githubusercontent.com/render/math?math=XX \in \{01,\dots,04\}"/> | All | All |
|
||||
| smaxin | `Number:Power` | Maximum injected apparent power of the day | All for <img src="https://render.githubusercontent.com/render/math?math=X=1"/>, Three-phase for <img src="https://render.githubusercontent.com/render/math?math=X\in \{2,3\}"/> | All |
|
||||
| smaxinMinus1 | `Number:Power` | Maximum injected apparent power of the previous day | All for <img src="https://render.githubusercontent.com/render/math?math=X=1"/>, Three-phase for <img src="https://render.githubusercontent.com/render/math?math=X\in \{2,3\}"/> | All |
|
||||
| ccain | `Number:Power` | Injected active charge point N | All | Producer |
|
||||
| ccainMinus1 | `Number:Power` | Injected active charge point N-1 | All | Producer |
|
||||
| smaxinDate | `DateTime` | Timestamp of SMAXIN value | All | Producer |
|
||||
| smaxinMinus1Date | `DateTime` | Timestamp of SMAXIN-1 value | All | Producer |
|
||||
| ccainDate | `DateTime` | Timestamp of CCAIN value | All | Producer |
|
||||
| ccainMinus1Date | `DateTime` | Timestamp of CCAIN-1 value | All | Producer |
|
||||
|
||||
## Full Example
|
||||
|
||||
### Historical TIC mode
|
||||
|
||||
The following `things` file declare a serial USB controller on `/dev/ttyUSB0` for a Single-phase Electricity meter with HC/HP option - CBEMM Evolution ICC and adco `031528042289` :
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user