An open API service indexing awesome lists of open source software.

https://github.com/trychlos/mysteleinfo

An Arduino Nano-based MySensors v 2.1x node to get teleinformations
https://github.com/trychlos/mysteleinfo

arduino mysensors teleinfo

Last synced: 6 months ago
JSON representation

An Arduino Nano-based MySensors v 2.1x node to get teleinformations

Awesome Lists containing this project

README

          

mysTeleinfo - README

Summary
=======

What is it
Input/Outputs
Features
Project content
Notes
Interruption management
Interactions
Known bugs and limitations
Limitations
Bugs
Sources

-----------------------------------------------------------------------
What is it
==========

mysTeleinfo is a MySensors v2 node
built on an Arduino Nano
which decodes EdF Teleinformation thread
and sends its datas to a Jeedom controller
via a MySensors v2 serial gateway
through a NRF24L01 radio communication.

-----------------------------------------------------------------------
Input/Outputs
=============

Input is:
EdF Teleinformation.

Outputs are:
Datas to Jeedom controller
A thread LED which is on during thread reception
A HC (resp. HP) LED on during HC (resp. HP) hours.

-----------------------------------------------------------------------
Features
========

This project features:

- the interpretation of the EdF Teleinformation thread and its
transmission to the MySensors gateway

- a behavior witness via a thread LED which is on during the
reception of each EdF Teleinformation thread

- a HC LED which is on during low price hours

- a HP LED which is on during high prices hours

- all datas may be retransmitted on request.

-----------------------------------------------------------------------
Project content
===============

This project includes:

- docs/: the external documentation used for the project
- build/: the build resources:
> Arduino Nano pins layout
> Kicad electronic scheme
> the built PCB
- images/: the .png images used as Jeedom widgets
- mysTeleinfo.ino: the main Arduino program
- pwiSoftwareSerial.{h,cpp}: a hacked version of the SoftwareSerial
library (see NOTES)
- teleInfo.{h,cpp}: the class used to decode the EdF Teleinformation
thread
- teleInfo.dump: a log of the debug output.

-----------------------------------------------------------------------
Notes
=====

Interruption management

The hardware IRQ0/IRQ1 (D2/D3) are left free.
Most of the NRF24 radio module makes use of PortB (PCINT0) pins.
For this reason, we have chosen to use a PortB (PCINT2) pin to use
as input for teleinformation.
Input is managed via SoftwareSerial library. We are using an hacked
version in order to optimize the software interrupt management.

-----------------------------------------------------------------------
Interactions
============

The MySensors node present one main ID to the controller, to manage global
actions and request or set global parameters.

For each configurable parameter:
- define a specific ChildId
- parse a received C_SET command with V_CUSTOM message and payload
- parse a received C_REQ command
- send a V_VAR1 message to the controller with the value

Cf. also the mysTeleinfo.ods sheet.

-----------------------------------------------------------------------
Known bugs and limitations
==========================

Cf. TODO

-----------------------------------------------------------------------
Sources
=======

http://lhuet.github.io/blog/2014/01/montage-teleinfo.html
http://www.magdiblog.fr/gpio/teleinfo-edf-suivi-conso-de-votre-compteur-electrique/
https://hallard.me/demystifier-la-teleinfo/
https://www.jeedom.com/doc/documentation/plugins/teleinfo/fr_FR/teleinfo
https://www.kzenjoy.net/2015/la-teleinformation-sous-jeedom/
http://playground.arduino.cc/Code/Interrupts
https://github.com/jaysee/teleInfo
http://playground.arduino.cc/Main/PinChangeInterrupt
https://code.google.com/archive/p/arduino-pinchangeint/issues/7

-----------------------------------------------------------------------
P. Wieser - Created on 2017, mar. 31st
Last updated on 2019, oct. 7th