Utiliser le tarif EDF Tempo

Une discussion sur le forum dont la magnifique réponse à été donné par jackslayter m’a incité à reprendre en partie les propos échangés pour cet article.

La finalité était de récupérer le tarif Tempo EDF en cours (bleu,blanc,rouge) pour piloter les radiateurs électriques, et éviter les casse têtes :

tempoedf

La couleur Tempo d’aujourd’hui et demain est mise à disposition grâce à domogeek.entropialux.com (entre autres choses, mais nous y reviendrons tellement l’outil et l’idée sont pratiques pour de la domotique)

Au final le scénario est celui ci :

Création d’un switch virtuel, interrogation via script bash de l’api, si le tarif est bleu alors passe le switch à On ce qui permettra de piloter nos équipements puis mise en place du script dans un crontab pour interrogation régulières.

1 – Création d’un switch virtuel.

Depuis l’onglet « Matériel » , ajoutez un Interrupteur.

Dans l’onglet des périphériques cliquez sur la flèche verte, nommez le, puis notez l’IDX de cet équipement.

2 – Interrogation du tarif Tempo.

Dans le dossier domoticz/scripts créons un script nommé edftempo.sh

sudo pico domoticz/scripts/edftempo.sh

[codesyntax lang= »bash » lines= »no »]

#!/bin/bash
tempo=$(curl -s http://domogeek.entropialux.com/tempoedf/now)
if [ $tempo = "bleu" ]; then
curl "http://192.168.1.81:8080/json.htm?type=command&param=switchlight&idx=101&switchcmd="On"&level=0"
else
curl "http://192.168.1.81:8080/json.htm?type=command&param=switchlight&idx=101&switchcmd="Off"&level=0"
fi

[/codesyntax]

Changez ici l’IP de Domoticz et le IDX de votre switch virtuel suivant votre config.

un chmod +x sur le fichier puis l’exécution de ./edftempo.sh doit faire basculer l’état du switch virtuel à On si la journée est bleue sinon on reste à Off.

<digresssion>

On peut aussi récupérer les tarifs EJP par zone

/ejpedf/:zone/:date/:responsetype

Example usage:

   curl http://domogeek.entropialux.com/ejpedf/nord/today
   curl http://domogeek.entropialux.com/ejpedf/sud/tomorrow
   curl http://domogeek.entropialux.com/ejpedf/paca/today/json

Les régions sont {nord|sud|ouest|paca} : 1 seule à la fois !!!

on a today ou tomorrow pour les jours

Le retour est False nous ne sommes pas en EJP pour la date demandée

et True quand nous sommes en EJP

Le script bash ci-dessous pourra être modifié pour tenir compte de l’EJP

</digression>

3 – Pilotage des équipements liés

Plusieurs méthodes pour déclencher les radiateurs sont possibles

Soit :

  • Un script blocky qui pilote un groupe de dispositifs en se basant sur l’état du switch virtuel.
  • Soit pilotage direct via le script,

ajoutez autant de lignes que d’équipements à piloter à l’intérieur du if $tempo=bleu en indiquant les idx des radiateurs, supprimez les lignes else et curl, au final on a:

#!/bin/bash
tempo=$(curl -s http://domogeek.entropialux.com/tempoedf/now)
if [ $tempo = "bleu" ]; then
curl "http://192.168.1.81:8080/json.htm?type=command&param=switchlight&idx=67&switchcmd="On"&level=0"
curl "http://192.168.1.81:8080/json.htm?type=command&param=switchlight&idx=68switchcmd="On"&level=0"
curl "http://192.168.1.81:8080/json.htm?type=command&param=switchlight&idx=69&switchcmd="On"&level=0"
fi

4- crontab

un crontab -e puis placer cela qui se lancera tous les jours à 00h 10 minutes

10 00 * * * sudo /home/pi/domoticz/scripts/edftempo.sh 2>&1 >> /dev/null

cron

 

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/

Domoticz lua scripts et télécommande

Heureux possesseur d’une télécommande DI.O Chacon compatible rfxcomm et pour faire suite à l’article précédent sur les scripts lua, quel ne fut pas mon bonheur lorsque je vis apparaître dans domoticz, tous les ID de ma télécommande 16 canaux au même titre que n’importe quel autre périphérique.

Cela peut sembler logique et normal aux spécialistes mais cela m’a étonné et enthousiasmé.

Et donc c’est super car maintenant je peux lancer un script de backup d’un site web par l’appui d’une touche de la télécommande depuis mon canapé …

J’ai donc passé à ON les canaux non attribués de la télécommande un par un.

J’ai retrouvé dans domoticz mes  périphériques, que j’ai nommé telco11,telco12 ….

puis un script dans /domoticz/scripts/lua  nommé script_device_telco16_is_on.lua et contenant qq chose comme

print(‘telecommande 16 vient de passer a on’)

commandArray = {}
if (devicechanged[‘telco16’] == ‘On’) then
os.execute (‘ curl -s -i – H « mon_url_qui_va_bien’)
end
return commandArray

 Que du bonheur.

Bon certes on peut faire la même chose via l’interface graphique de Domoticz  mais c’est moins fun.

 

periph_ajout

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/