New Teleinfo Binding - Tester and Feedback welcome

Tags: #<Tag:0x00007fc3f1d9e178> #<Tag:0x00007fc3f1d9e0b0>

I started the development of a new binding for Teleinfo support in OpenHAB.
Teleinfo is a protocol for French electricity meters provided by ENEDIS/ERDF. Teleinfo give you in real time many metrics from an electricity meter: id of electricity meter (ADCO), index of HCHC, index of HPHC, instantaneous intensity (IINST), Subscribed intensity (ISOUSC), etc.

The binding Teleinfo will make it possible:

  • to monitor the current consumption of your house,
  • to trigger scenarios according to the consumption, current pricing period (HC/HP)
  • to estimated costs of electricity consumption

The first version will be based on OpenHAB 2.5.x.

Development status:
Alpha release
an alpha version is planned in 1/2 week for testing. This version will support the Teleinfo of HCHP electricity meters (Base, Tempo and EJP mode can be developed later).
The binding will decode the teleinfo frames from a serial port (e.g: /dev/ttyXX, COMx).
Nota: to read Teleinfo from electricity meter (Actaris A14C5 model), I use the following USB module: GCE Electronics USB Teleinfo module.

I will need to help test the binding and discuss its current or future features.
Any help will be welcome ! :grinning:

1 Like

Here is the Alpha release:

Any feedback will be appreciate !

Hello Nokyys,
I have some good results with an executable writen in C code for my Raspberry.
Here is my approach :

  • use C program to endless write serial values in a ramfile for preserving sd card
  • use Openhab to read file and display value ( and in the future to send heaters desirate state to a ramfile read by maybe the same C program )

I use this approach because my final goal is to manage heaters over-current consumption to prevent electricity cut. ( always with a C program )
Maybee I 'm wrong but I was thinked that OpenHab on Pi was too slow for manage this, ( but enought for display electricity ERDF values, and send heater comfort/economy/off desirate state commands ).
Now it’s difficulty to establish rules to enter and exit délestage mode ( reaction time? when stop a delestage state? How long a heater should stay off before stopping another one … )
It’s hard to find data on the web to tune it. Did you plan to think about this?
See you soon!

Hi @srsr,
I wrote the Teleinfo binding especially to manage my (electrical) heaters and consumption :slight_smile: All my heaters have an “pilote” wire and each “pilote” wire is connected to an Zwave Qubino ZMNHJA2. The Teleinfo binding provides some real-time metrics (ADPS, IINST) that can be used to trigger an “délestage” mode. With an OpenHAB rule, you can switch OFF some heaters (thanks to Qubino ZMNHJA2) when a ADPS or IINST value is reached and prevent to electrical cut. E.g:

rule "Délestage des radiateurs"
     Item CompteurElectrique_ADPS changed from NULL
     sendCommand(ChauffageZone1Dimmer, modeArretDelestage)

Hello Nokyys,
Did you always plan to stop the same heater first when a overcomsumption is reach? How do you manage the exit of a delestage state?
I think the best way is to exit delestage state only when an IINST value is enought low, not when ADPS became OFF.
otherwise, it will be a good thing to not switch off a heater more than a few minutes to keep temperature room, maybee less than 5 minutes?
I actually have an old Delta Dore unit, it use 3 groups of heaters for delestage, and on delestage state it stop one group at a time for few minutes, and switch off the next group after etc…
I don’t have tested yet your binding. Do you think it will be compatible with serial on GPIO port?

I think so

i have installed the binding… first i had some problems with the serial port

Error while starting bundle: file:/usr/share/openhab2/addons/teleinfo-2.5.0.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.teleinfo [232]
Unresolved requirement: Import-Package:

i have installed the binding-serial1 - 1.13.0 now the teleinfo-binding ist online :grinning:

Where can i find the channels for this binding?

I think i’ve found one problem, i have a threephase energy-meter. In TRACE-Mode i can see that the binding stops when reading groupLine = IINST1 002 J

Hi @pakutz79,
This Alpha-20190716 version has been tested on a “mono-phase” HCHP electricity meter.
If you want, I can try to implement the “tri-phase” teleinfo protocol :slight_smile: To implement and test this new feature, I have need a dump file of your teleinfo. Is it possible for you ?

Hi nokyyz,
i created an issue in github…

you can find the informations in ERDF-NOI-CPT_02E.pdf on page 19

The following objects are transmitted in the teleinfo frame:

ADCO 049501170122 7
BASE 000009985 *
IINST1 001 I
IINST2 000 I
IINST3 001 K
IMAX1 006 6
IMAX2 016 8
IMAX3 015 8
PMAX 05710 3
PAPP 00280 +

I have already looked at the code of the teleinfo binding, but I’m not really familiar with the structure of Bindings yet.

Hi @pakutz79,
I have read the specification for Triphase electricity meter, but for the moment, I’m blocked by the OpenHAB development environment with Eclipse IDE. I have reinstall Eclipse IDE following the official documentation ( but no binding are available in Browse Repo list of app.bndrun file :frowning:

Hi all, @pakutz79, @srsr,
I have finished a full refactoring of Teleinfo binding to support the Three-phased electricity meters !

Here is the new release (Alpha 20191015-1958):
This version has been designed to support the following features:

  • Single-phased electricity meters with BASE, HC, TEMPO or EJP option (CBEMM and CBEMM Evolution ICC)
  • Three-phased electricity meters with BASE, HC, TEMPO or EJP option (CBETM)

Any feedback will be welcome !

1 Like

Thank you, i will try it out this weekend.