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)