Centraliser un Sonoff Pow avec Espurna sur Domoticz

Dans une précédente vidéo, j’expliquais comment remplacer le firmware du Sonoff Pow par Espurna. L’intérêt est d’avoir une interface WEB, bien plus complète que l’app d’origine.
Espurna donne entre-autre la possibilité de communiquer en MQTT avec Domoticz, ce qui devient intéressant quand on a plusieurs Pow, des sondes de températures ou un téléreport du compteur EDF déjà relié à cette plateforme.

Configurer le RaspberryPi:

Afin que MQTT puisse entrer en action, il faut un brocker (=courtier en traduction litérale) qui va s’occuper de recevoir les messages et de les retransmettres. Il est donc important qu’il soit installé sur un serveur allumé 24h/24, ici, le RPi qui fait déjà tourné Domoticz sera parfait.

Pour installer le broker mosquitto, les commandes sont simples:

pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get install mosquitto

Ensuite, on le fait se lancer au démarrage.

pi@raspberrypi:~ $ sudo systemctl enable mosquitto
pi@raspberrypi:~ $ sudo systemctl start mosquitto

Côté domoticz:

Bon, si vous avez réussis à flasher le Pow (ou tout autre périphérique) avec Espurna, je part du principe qu’installer domoticz se fait les yeux fermés.. Je ne détaillerais pas cette étape.

Ajoutez le matériel « MQTT client Gateway with LAN interface » en précisant l’adresse du serveur, ici « localhost », port 1883.

Créer ensuite un matériel « Dummy » qui contiendra les dispositifs présents dans Espurna. Pour cela, ajoutez autant de « Capteurs Virtuels » que nécessaire. Bien noter les idx de chacun.

  • un bouton marche arrêt type: switch (Idx 1)
    un capteur de tension type: Voltage (Idx2)
    un capteur de puissance type: Electric (Instant+Counter) (Idx3)

Il faut, pour finir, configurer le capteur de puissance en « Computed »:
Dans l’onglet Utility, cliquez sur « Edit » pour la capteur de puissance.
Là, cochez la case Computed dans l’option Energy Read.

Voilà les dispositifs qui ont étés créés:

Côté Espurna:

  • Activation du MQTT:

Dans le menu MQTT:

  • Enable MQTT: YES
  • MQTT Brocker: IP de mosquitto (pour moi, le pi: 192.168.5.124)
  • MQTT Port: 1883 (port par défaut de mosquitto)
  • => SAVE
  • Activation de domoticz

Dans le menu Domoticz il faut indiquer avec quel Idx la valeur ou l’action sera liée. Pour moi, le Switch on/off à reçu l’idx 1, le capteur Voltage l’Idx 2 et le capteur puissance l’Idx 3.

A noter que c’est la puissance apparente que je renvoie à domoticz étant donné que je possède un compteur Linky et que c’est cette unité qui m’est facturée.
Pour les personne ayant un ancien compteur à disque ou électronique classique, c’est la puissance active qui figurera sur vos factures.

  • Enable Domoticz: YES
  • Switch: Idx 1
  • Voltage: Idx 2
  • Apparent Power: Idx 3
  • => SAVE

A ce stade, les informations se transmettent entre Domoticz et Espurna.
Il est possible de voir ce qui est échangé grâce à l’installation de mosquitto sur un PC. Pour moi, ça se passe sur ArchLinux:

pikaur -S mosquitto
mosquitto_sub -h 192.168.5.124 -v -t "domoticz/#"
domoticz/out {
    "Battery" : 255,
    "RSSI" : 12,
    "description" : "",
    "dtype" : "Light/Switch",
    "id" : "00014051",
    "idx" : 1,
    "name" : "onoff",
    "nvalue" : 0,
    "stype" : "Switch",
    "svalue1" : "0",
    "switchType" : "On/Off",
    "unit" : 1
 }
 domoticz/out {
    "Battery" : 255,
    "RSSI" : 12,
    "description" : "",
    "dtype" : "Light/Switch",
    "id" : "00014051",
    "idx" : 1,
    "name" : "onoff",
    "nvalue" : 1,
    "stype" : "Switch",
    "svalue1" : "0",
    "switchType" : "On/Off",
    "unit" : 1
 }
domoticz/in {"idx": 2, "nvalue": 0, "svalue": "214"}
domoticz/in {"idx": 3, "nvalue": 0, "svalue": "6"}

On voit dans ces quelques messages que:
Dans les 2 premiers domoticz/out (envoyé par domoticz):
le switch idx 1 est passé de « nvalue » : 0 à « nvalue » : 1
Le switch a donc été commuté dans domoticz.

Dans les 2 domoticz/in (reçu par domoticz):
idx 2 a pris la valeur 214 (donc tension = 214V)
et idx 3 a pris la valeur 6 (puissance = 6W)

Et voilà, au bout de quelques minutes, domoticz commence à enregistrer la consomation, la tension, et l’interrupteur est utilisable et allume/éteint le POW.
Taggé , , , .Mettre en favori le Permaliens.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *