Domoticz backup et restaurations

Suite à diverses manipulations intempestives sur le raspberry gérant ma domotique, je me suis retrouvé sans aucune sonde de température 1-wire dans  Domoticz. Le coupable n’est pas Domoticz mais moi (compilation de modules 1-wire pas maitrisée).

Aprés avoir remis le raspberry en état, mes sondes de température 1-wire avaient toutes disparues de Domoticz, le matériel ayant lui méme disparu de l’onglet matériel. Arggh !!

oh no !

photo de quand j’étais jeune

Ne voulant pas perdre l’historique de mes enregistrements déjà effectués j’ai décidé de reprendre une sauvegarde récente de Domoticz.

Le backup automatique

Activation

Domoticz peut créer des sauvegardes automatiques. Il suffit de l’activer au milieu de la page de paramétrage.

sauvegarde_domoticz

sauvegarde_domoticz

3 dossiers sont crées dans /home/pi/domoticz/backup en accès réduit : sudo obligatoire.

  • le dossier hourly , contient les sauvegardes éffectuées toutes les heures,
  • le dossier daily les sauvegardes quotidiennes
  • le monthly contient une sauvegarde par mois

Restoration

Arretons Domoticz

sudo service domoticz.sh stop

Recopions la base actuelle,même si pas jolie, sous un nouveau nom.

sudo cp /home/pi/domoticz/domoticz.db /home/pi/domoticz/domoticz.old.db

Allons dans le dossier de backup , retrouvons  dans un des dossiers une sauvegarde d’avant le désastre et copions la sous le nom de domoticz.db

sudo cp /home/pi/domoticz/backups/hourly/backup-hour-19.db /home/pi/domoticz/domoticz.db

ici je reprends une sauvegarde de 19h

les droits doivent être changés

sudo chown pi.pi domoticz.db

on relance Domoticz

sudo service domoticz.sh start

Connectez vous à l’interface et voila vous devriez retrouver le sourire.

yes

 Les sauvegardes manuelles

La sauvegarde

Dans le menu « Configuration », « Paramètres de l’application »

Le menu à droite contient un bouton « Sauvegarder la base de données »

Cela envoie un fichier de la base de données sur votre PC local

La restoration

Tout en bas des paramètres de l’application , le bouton jaune « Restauration de la base de données » vous permettra de télécharger un fichier local vers le Raspberry et de mettre celui ci en place.

N.B : Ces restorations/sauvegardes ne s’occupent QUE de la base de données pas des scripts, pensez à les mettre à l’abri de temps en temps

Comme cela par exemple.

 

 

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

Mes scripts préférés

Bonjour,

Le forum contient depuis ce matin un espace dédié à la collecte de vos scripts favoris quelque soit le langage.

Nous avons tous des scripts peaufinés aux petits oignons, il serait dommage de ne pas en faire profiter tout le monde.

Merci d’être précis lorsque vous les déposez, en précisant le langage, les prérequis éventuels, l’usage précis de ce script afin que tout un chacun puisse les reprendre sans difficultés.

Merci de votre collaboration.

Le lien vers le forum en question est ici

 

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

Une API pour de la domotique

Sous ce titre un peu bizarre, ce cache un outil fort pratique et à la limite indispensable, que j’ai découvert avec mes amis du forum (merci à Jackslayter).

Il s’agit de domogeek.entropialux.com qui met à notre disposition un jeu d’API en ligne permettant de renvoyer une foule de choses utiles pour piloter notre domotique.

Comme :

  • savoir si en zone C on est en vacances !
  • sii nous sommes en Week End,
  • récupérer la géolocalisation d’une ville,
  • le tarif EJP EDF,
  • le tarif Tempo EDF,
  • la liste des fêtes du calendrier,
  • les levers et couchers du soleil,
  • l’état de vigilance Méteo France (jaune,rouge orange pour chaque risque) …

C’est parfaitement documenté, hyper clair, simple : le bonheur !

Principe

En appelant une simple url bien formatée on reçoit en retour la réponse attendue.

Exemple ici http://domogeek.entropialux.com/sun/brest/all/now

nous donne les caractéristiques du soleil à Brest pour now.

Magique !

Prérequis

Nous aurons donc besoin d’interroger une url , l’outil de prédilection se nomme curl, chaque langage à le sien, choisissez le votre: curl pour une interrogation en bash, php-curl pour des scripts en php, pyCurl en python …

apt-get install curl, apt-get install php5-curl,…

Description & Exemple d’utilisation

L’utilisation à laquelle nous pensons tout de suite est la récupération des tarifs Tempo EDF.

La documentation nous dit que

http://domogeek.entropialux.com/tempoedf/now nous renvoie ‘bleu’

que

http://domogeek.entropialux.com/tempoedf/tomorrow/json nous renvoie {« tempocolor »: « bleu »} pour la couleur de demain

concernant EJP l’appel de

/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

avec

Field Type Description
zone String Donnez la Zone  {nord|sud|ouest|paca}
date String today or tomorrow {today|tomorrow}

nous renvoie True or False selon que l’on soit ou non en période EJP pour today ou tomorrow

La aussi on peut coller un /json à la fin pour avoir les accolades d’emballage JSON.

Exemple en bash

Un fichier contenant

#!/bin/bash
tempo=$(curl http://domogeek.entropialux.com/tempoedf/now)
if [ $tempo = « bleu » ]; then

fi

permettra ainsi de piloter des radiateurs en fonction de la couleur EDF

plus de détails sur la mise en place ici

Sur des réponses plus étoffées comme

{"dayduration": "9:17", "sunset": "17:41", "zenith": "13:02", "sunrise": "8:24"}

il faudra jouer avec les outils de chaine de caractère de votre langage pour récupérer les infos voulues.

Conclusion

l’API de Domogeek.fr est un outil indispensable bien documenté , clair et facile il nous évite de nombreux case tête.

L’auteur de cette API attends nos remarques et aide pour continuer à faire évoluer cet outil, n’hésitez pas si vous désirez aider à enrichir la bibliothèque.

Son blog ici vaut vraiment le détour.

chouette

 

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

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/

Augmentons notre Waf avec phpMyDomo

Dans notre quête désespérée d’augmenter notre WAF face à nos outils de geek, je vous propose aujourd’hui un logiciel d’interface de pilotage relié à Domoticz.

Pour rappel : Le Wife Acceptance Factor ou Woman Acceptance Factor (WAF) désigne le niveau de conflit potentiel engendré par un objet, auprès des non-utilisateurs cohabitant avec les utilisateurs dudit objet: source wikipedia.

Il s’agit d’une surcouche visuelle permettant de piloter Domoticz.

PhpMydomo  : les fonctionnalités

  • Les interrupteurs, les scènes et Dim (experimental) sont supportés.
  • Visualisation des sensors sur la même page ou sur une page personnalisée.
  • Visu des caméras  IP sur un page unique.
  • Affichage d’une galerie photo.
  • Lancement d’action depuis une URL.
  • Support de Responsive design :Affichage optimisé sur Android/IOS tablet, smartphone et web browser
  • Peu de puissance demandée : un serveur php suffit.
  • Free and Open Source.

Le résultat à obtenir est quelque chose comme cela :

01 03

Cet outil peut être installé soit dans apache et c’est cet article qui en décrit l’installation soit dans le serveur web Nginx, les explications spécifiques sont fournies à cette page.

Lire la suite

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