[2/5] CREER SON SITE DOMOTIQUE AVEC ZIBASE, NAS SYNOLOGY, MYSQL ET WORDPRESS

SCRIPT "INTELLIGENT" DE RÉCUPÉRATION DES DONNÉES SONDES EN PUSH ET PRÉSENTATION DES RELEVÉS DES SONDES



Comme promis, après le premier article sur la refonte complète de l'enregistrement des données en pull des sondes ZIBASE, voici la suite qui concerne l'enregistrement des données en push d'actionneurs.

En effet, le script PHP (enrprocess.php dans le répertoire push) proposé dans le ZIP en fin d'article permet d'enregistrer les données relatives au chauffage (ON/OFF), à la VMC (Vitesse 1/2) et à l'alarme (ON/OFF).

L'appel se fait très simplement de la ZIBASE dans vos scénarios en prenant 2 paramètres en méthode get :
  • type : qui peut prendre comme valeur : VMC, CHAUFFAGE et ALARME
  • etat : qui peut prendre comme valeur : 0 pour OFF (correspondant à chauffage éteint, alarme désactivé ou VMC vitesse 1) , 1 pour ON (correspondant à chauffage allumé, alarme activé ou VMC vitesse 2)
Les données s'enregistrent automatiquement dans les tables CHAUFFAGE_ETAT, VMC_ETAT ou ALARME_ETAT dont le script SQL de création de tables était présent dans le  premier article.

Le temps en position ON est automatiquement calculé dans la colonne tempson lors du passage à l'état OFF. A noter que lors d'un changement de jour, si le dernier état est 1, un pseudo etat OFF est enregistré à 23:59:59 et un pseudo état ON est enregistré le lendemain à 00:00:01. Cela permet que le tempson calculé sur la journée soit correct.


Comme à l'habitude, j'ai essayé de commenter au maximum le code de la page afin que vous puissiez éventuellement y apporter votre touche ou quelques optimisations.

L'appel HTTP à mettre dans vos scénarios ZIBASE doit ressembler à ceci :


Ceci fait donc appel à la page sur laquelle est hébergée la page enrprocess.php. Dans mon cas, il s'agit d'une adresse réseau local puisqu'il s'agit de mon NAS SYNOLOGY 213+.

En suivant cet article, vous disposez d'une base de données enregistrant l'ensemble des données de votre installation ZIBASE. Par contre, il reste à exploiter l'ensemble de ces données et à leur donner du sens. Je vous propose dans ce même article un petit script PHP (sondes_direct.php dans le répertoire sondes_live) qui permet :
  • d'interroger les sondes en live,
  • d'interroger la base de données pour la partie actionneur,
  • de présenter le tout à l'écran.
Ce petit script s'appuie sur les données en base et notamment des éléments déclarés dans la table PERIPHERIQUES que j'ai fait un peu évolué en déclarant également les actionneurs. La présence de ces actionneurs dans la table permet uniquement de pouvoir agir sur l'ordre d'affichage dans la page sondes_direct.php alors que, pour rappel, celle des sondes permet de garantir la continuité de l'enregistrement en cas de changement de piles de la sonde. Ma table PERIPHERIQUES se présente sous la forme suivante :


Une fois cette table ainsi complétée le script sondes_direct.php devrait présenter le résultat suivant :


Le résultat ci-dessus est lié à une intégration de la page PHP dans un blog WORDPRESS. Ceci fera l'objet du prochain article devant paraître le 23 au soir ou le 24/06/2013.

Je vous remets à disposition ci-dessous un ZIP contenant l'intégralité des pages du premier et du second article pour avoir une solution complète. A noter la présence d'un répertoire images dans lequel j'ai repris les logos de ZODIANET

Télécharger le ZIP