Les tables Domoticz

sqlite

Nous avions vu précédemment l’utilisation d’un outil de gestion de base de donnée SQLite

Cette fois ci explorons la base de données Domoticz à la découverte de ses tables, colonnes, liens entre tables…

Bien entendu cette liste n’est pas exhaustive.

La première table à observer est DeviceStatus

DeviceStatus

Cette table contient la liste des périphériques du menu « Dispositifs »

Je ne vais détailler ici que les champs qui me semblent importants :

Nom Rôle
Id C’est le fameux Idx Domoticz
Name Le nom que vous avez donné à ce matériel
Used 1 si il est utilisé, 0 sinon
BatteryLevel Le niveau de batterie
nValue la nValue (souvent 0) voir API JSON
sValue Les sValue, les valeurs reçues séparées par un ; Voir API JSON
LastUpdate La dernière fois que l’on à vu ce matériel AAAA-MM-JJ HH:MM:SS (2016-01-12 08:04:49)

On y retrouve aussi, le delta de correction de température, le flag de protection ….

Cette table est importante dans la mesure ou elle contient toutes les caractéristiques de nos périphériques tels que les Noms, la date de dernière mise à jour.

Toutes les autres tables ,sont des tables des mesures et ne contiennent que des Idx et les valeurs brutes mesurées ainsi que la date (simplification inside), le mon du matériel n’y figure pas par exemple.

Ce qui signifie que si nous voulons afficher le nom du matériel nous devrons toujours aller le chercher dans la table DeviceStatus par l’intermédiaire de son Idx.

En SQL il s’agit de faire une jointure entre deux tables liées entres elles par un point commun ici le Idx nommé Id dans la table DeviceStatus ( 🙄 )

L’instruction à utiliser est soit un WHERE soit JOIN ON. J’utiliserai ici JOIN ON qui me semble plus compréhensible.

Exemple :

SELECT Name, Value3,Date FROM Multimeter JOIN DeviceStatus ON Multimeter.DeviceRowId=DeviceStatus.id order by Date

Explication : Je vais chercher Value3, Date dans la table Multimeter et je JOIN la table DeviceStatus pour aller chercher ce qui est dedans à savoir Name par intermédiaire du DeviceRowId de Multimeter qui est le même que le id  de la table DeviceStatus.

Remarquez que on va chercher la colonne DeviceRowId dans la table Multimeter par un nom_de_la_table.nom_de_la_colonne (Multimeter.DeviceRowID) de même pur Id de DeviceStatus.

Cette requête produit le même résultat de sortie.

SELECT Name, Value3,Date FROM Multimeter, DeviceStatus where DeviceRowId=DeviceStatus.id

N.B Les requêtes SQL sont sensibles à la casse des caractères.

 Quelques autres tables

Lire la suite

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

SQLite Manager

Un billet sur l’utilisation de l’outil de base de données SQLite et ici particulièrement le module SQLiteManager intégrable à Firefox , nous verrons dans au moins un autre article les quelques tables de la base de données Domoticz à connaitre.

Rappels

Vous le savez la base de données de Domoticz utilise la base de données SQLite pour stocker les données.

Très populaire, ce système de base de donnée est fait pour être embarqué au sein d’un logiciel.

Firefox, Chrome, Skype et donc Domoticz l’utilisent nativement.

Pourquoi utiliser SQLiteManager

Les besoins sont divers, cela peut aller de la simple extraction de données pour mise en forme dans un tableur, la supression de valeurs, à la réparation d’erreurs que l’on voit parfois passer dans le log de Domoticz.

On peut aussi utiliser la ligne de commande pour effectuer des actions en lieu et place de l’interface graphique pour des extractions régulières ou une sauvegarde via crontab par exemple.

Mais avouons que l’interface graphique est quand même plus facile pour des actions ponctuelles.

Le module

  • Pour Firefox :

https://addons.mozilla.org/fr/firefox/addon/sqlite-manager/

  • Pour Chrome depuis le webstore :

https://chrome.google.com/webstore/detail/sqlite-database-browser-b/jlpbdkmaomigeneadlamehkfchdmojgg

  • Sinon un soft pour Windows et Mac :

http://www.sqlabs.com/sqlitemanager.php

  • Il existe d’autres outils tels que :

http://sqlitebrowser.org/

 

Une fois installé cet outil permettra donc d’aller « bidouiller » vos données de SQLite.

Toutefois :

Attention Achtung Warning Attenzione внимание

Je vous déconseille (interdit ?) de bidouiller la base de Domoticz en direct live pendant qu’il bosse, arrêtez Domoticz, copiez la base sous un autre nom (domoticz.save par exemple) , bidouillez vos trucs , relancez Domoticz et voyez ce qu’il en est avant de supprimer domoticz.save. Dans le pire des cas recopiez à l’inverse domoticz.save vers domoticz.db.

N’oubliez pas : JAMAIS sur une base en cours d’utilisation.

Pour vous familiariser avec ces outils sans semer la panique, recopiez donc le fichier domoticz.db de /home/pi/domoticz sur la machine ou vous avez installé le module, comme cela vous préservez la base de Domoticz encore quelques instants 🙂

Utilisation

La connexion à la base

Un fois installé ce module prend place dans les outils de votre navigateur.

Au lancement il faut donc aller se connecter à une base de données en utilisant l’icône appropriée (1), changer le type de fichier (2) et parcourir les dossiers à la recherche de notre base de données (3)

sqllite_Domoticz_1

L’ouverture de la base montre à gauche les tables de la base de données et à droite divers outils

sqllite_Domoticz_2Lire la suite

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

Notifications Radio

La lecture d’un article de Korben http://korben.info/fabriquer-emetteur-fm-pirate-avec-raspberry-pi.html  et le tuto associé http://www.framboise314.fr/le-raspberry-pi-comme-emetteur-fm-experimental/  m’avaient donné l’idée de faire quelque chose entre Domoticz et la bande FM.

Les nouveaux Raspberry (B+/Pi2) ne supportent plus de cette façon cette technique.

Plus qu’un tuto détaillé , c’est juste l’idée que je voulais présenter aujourd’hui pour le fun.

Évidement  cette émission (qui risque de perturber les récepteurs voisins et d’empêcher les auditeurs du voisinage d’écouter leur station préférée) ne pourra être que de très courte durée et uniquement pour tester cette possibilité offerte par notre framboise314. Les normes d’émission dans la bande FM et la réglementation sont très strictes et il faut absolument éviter de vous mettre hors la loi. Les fréquences sont définies par le CSA et la bande FM est quasiment saturée. Lisez cet article de loi avant de vous lancer… (Merci Framboise314)

Et pour peu que vous ayez le GPIO 4 de disponible, et une fois appliqué le tuto en question c’est un jeu d’enfant de déclencher un

sudo ./pifm alerte.wav 103.0
sudo ./pifm porte.wav 103.0

en fonction d’un état de Domoticz via Lua, bash …

Même si la portée n’est pas très grande , cela permet de diffuser quelque chose, jusqu’au fond du jardin

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

Bientôt (déjà) disponible ; le pilotage RGBW via json et un RGBW switch

Résultat de recherche d'images pour "micro image"

En direct de github

Implemented: Dummy Hardware, option to create an RGBW switch
et en  effet :
rgbw
et aussi

setcolbrightnessvalue, now possible to enter direct hex value

(json.htm?type=command&param=setcolbrightnessvalue&idx=2692&hex=ff00b2)

Les amateurs apprécieront ….

N.B Versions 4075 et supérieures

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

Suivre les cours de bourse grâce à Domoticz

Attention : Suite à l’arrêt de l’API YAHOO, cet article est obsolète. Rien ne fonctionne.

Si vous connaissez une API qui permette d’interroger le marché boursier Français et qui est gratuite, faites en part dans les commentaires. Merci

 

J’ai eu l’idée de suivre les cours de mes actions boursières dans Domoticz.

Hein, quoi, c’est n’importe quoi ! Aller mettre des cours de la bourse dans Domoticz !!

Ben je dirais que c’est pratique à plusieurs titres (!) :  on peut  placer des alertes/notifications sur un cours à atteindre (au plus haut, au plus bas) , il y a les courbes qui s’affichent et l’affichage sur une custom page dédiée c’est bien pratique, et puis c’est amusant.

L’idée est de récupérer les valeurs de cours via l’API de Yahoo finance et de l’afficher dans un widget.

Yahoo Finance

Depuis le site https://fr.finance.yahoo.com/ on retrouve les codes de nos actions à suivre ORA.PA pour Orange, ENGI.PA pour ENGIE ….

L’API Yahoo nous renverra les cours de bourse, en temps réel, au travers d’un fichier csv contenant le nom, la valeur et le % d’évolution (+ ou – X %). Infos https://code.google.com/p/yahoo-finance-managed/wiki/csvQuotesDownload

J’ai choisi d’utiliser et de suivre la valeur instantanée du cours.

Coté Domoticz

Le meilleur widget que j’ai réussi à trouver est le Voltage (Tension) car il supporte 3 chiffres après la virgule et les notifications dont j’ai besoin pour la suite.

Il faut donc créer autant de widgets virtuel de type « Tension »‘ que d’actions boursières à suivre. Ils apparaissent dans l’onglet « Mesures »

bourse1

Notez soigneusement les noms que vous avez attribués à vos capteurs virtuels pour la suite et relevez les idx Domoticz depuis la page « Matériel »

bourse2

J’ai également crée un Widget interrupteur nommé « Bourse » qui passe à On à l’ouverture de la bourse (7h30) et à Off à la fermeture (17h30) via son propre planning. Cela permet de démarrer et arrêter les scripts Lua en dehors de ces horaires.Lire la suite

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