Astuces pour enrichir votre Domoticz

retour page Mes réalisations
  retour au site


Mesurer les débits sur votre réseau local :

Cela peut être intéressant d'avoir une idée du débit  sur votre réseau local en wifi , CPL, ou même VPN privé :

Il faut choisir deux équipements ( PC,  Raspberry,  etc) qui utilisent  cette portion du réseau local pour dialoguer sur lequel il est possible d'installer le logiciel IPERF (windows , linux)

Le logiciel Iperf permet de mesurer le débit entre deux machines ( voir le site). il permet de mesurer le débit disponible entre les deux machines en UDP ou TCP

Voici un script pour transmettre à domoticz le débit mesuré  par la commande iperf
Le serveur Iperf doit être installé et lancé sur la machine cible (iperf -s > null &)
 iperf doit être installé sur la machine locale.

Attention il y a 2 versions  Iperf disponibles en ce moment (2 et 3 qui n'utilisent pas les même ports par défaut)
I faut installer la même version sur les 2 machines j'utilise la v2

Il faut créer  un capteur virtuel "custom sensor" dans Domoticz, nommer le nom de l'axe  kBps (kilo bit par sec)
noter l'idx du capteur virtuel

Attention bien respecter la casse et respecter les "espaces" du script
Les paramêtres à passer dans la commande  pour lancer le script sont :
<adresse_ip:port domoticz >  <IDX domoticz> <adresse_ip serveur iperf>"

Exemple int_iperf.sh 192.168.1.2:8080 127 192.168.1.56 

sur raspberry , installer le script dans /home/pi/scripts/  après l'avoir dézippé

Pour lancer le script :utiliser crontab pour lancer le script à intervalles régulier
exemples
1 1 * * * /home/pi/scripts/int_iperf.sh  192.168.1.2:8080 127 192.168.1.56  >/dev/null 2>&1 (tous les jours à 1H 1mm) .. et les sorties du script à la poubelle !
5 */3 * * * /home/pi/scripts/disk_film3.sh >/dev/null 2>&1(Toutes les 3 heures à la minute 5)

télécharger le script



 Mesurer le volume disponible  des disques partagés


n'oubliez pas de lire le attention2

Cela m'arrive de télécharger des vidéos ( en replay via CaptvTy )  ou d'enregistrer des émissions TV ( Avec TVhead  sur un raspberry). Elles sont enregistrées sur des disques partagés ou des NAS. Les volumes sont important et il est nécessaire de faire du ménage de temps en temps.

Je transmet donc à Domoticz  les volumes disponibles sur les disques partagés avec un petit script sur un raspberry qui utilise la commande df  qui fournit le volume disponible sur les disques du raspberry


Il faut que le disque réseau soit "monté"  (voir plus bas)
II faut créer  un capteur virtuel "custom sensor" dans Domoticz nommer le nom de l'axe GO (Giga octets (par défaut)
Relever l'Idx du capteur virtuel
Attention : bien respecter la casse et respecter les "espaces" si vous modifiez le script script
Pour adresse_disque vérifier bien avec la commande d qu'il n'y a qu'une seule ligne qui contient la chaîne <  adresse_ip disque  réseau>
sinon passer comme paramètre une chaîne plus complète ( avec le nom du repertoire par exemple.
Les paramètres à passer dans la commande sont :
<adresse_ip:port domoticz >  <IDX domoticz> < chaine de reconnaissance  par exemple l'adresse_ip disque  réseau >"
exemple ./free_space_d.sh 192.168.1.2:8080 127 192.168.1.56

Pour lancer le script régulièrement :utiliser crontab 
# exemples

(tous les jours  à 1 heure 1mn ):

1 1 * * * /home/pi/scripts/free_space_d.sh  192.168.1.2:8080 127 192.168.1.56  >/dev/null 2>&1

(Toutes les 3 heures à la minute 5) :

5 */3 * * * /home/pi/scripts/free_space_d.sh 192.168.1.2:8080 127 192.168.1.56>/dev/null 2>&1

Exemples pour le montage d'un disque réseau sur le raspberry :

pour des NAS Dlink

sudo mount -t cifs //172.16.2.97/Volume_1/MM   //mnt/MMK  -o guest,vers=1.0
sudo mount -t cifs //172.16.2.97/Volume_1/000_cloud   //mnt/cloudK  -o guest,vers=1.0
sudo mount -t cifs //172.16.2.99/Volume_1   //mnt/archivesK  -o guest,vers=1.0
sudo mount -t cifs //172.16.2.93/Volume_1   //mnt/Film_3  -o guest,vers=1.0

pour un NAS plus récent western digital :

sudo mount -t cifs //172.16.2.94/Public  /mnt/Film_4 -o guest,vers=2.0

pour un disque partagé d 'un PC (windows 10)

sudo mount -o username=partage,password=partage -t cifs //172.16.2.1/D   /mnt/partage

pour le disque de la freebox :

sudo mount -t cifs //mafreebox.freebox.fr/Disque\ dur  /mnt/freebox -o guest

Attention pour la freebox , utilisez le script dédié ( il y a un espace dans le nom du répertoire accessible sur la freebox)
Nota avec les dernières versions de Pi OS, il est necessaire d'ajouteren option uid=pi , sinon ce sera uniquement root qui accèdera au disque  exemple :
sudo mount -t cifs //172.16.2.96/Archives_k/300_sauvegardes_pi/Pi_K009   /mnt/D_R  -o guest,uid=pi,vers=3.0

Attention 2 : mount à changé ! le parametre -t cifs doit être mis a la fin : sudo mount //172.16.2.96/Archives_k/300_sauvegardes_pi/Pi_K009   /mnt/D_R  -t cifs -o guest,uid=pi,vers=3.0
mais il vaut mieux utiliser la nouvelle version :
sudo mount.cfis /172.16.2.96//Archives_k/300_sauvegardes_pi/Pi_K009   /mnt/D_R&nb -o guest,uid=pi,vers=3.0

Télécharger le script

Télécharger le script dédié freebox


Afficher la températures UC des raspberry :

Si vous n'avez pas installé de radiateurs sur vos RVaspberry, Il peut être intéressant de relever la température UC de vos raspberry pour l'afficher  dans Domoticz.

Voici un petit script qui va chercher la valeur relevée par pi OS, et l'envoie à votre domoticz préféré

il faut fournir au script deux paramètres : l'adresse ip:port-tcp du Domoticz cible  et l' IDX d'un nouvel objet  virtuel température que vous devez créer dans le Domoticz cible.
Si le script est recopié dans le répértoire \home\pi\scripts ( et autorisé pour l'exécution), vous ajoutez à crontab la ligne suivante :
*/5 * * * * /home/pi/scripts/temp.sh 192.168.1.2:8080 127   > /dev/null 2>&1 #          (le script sera lancé toutes les 5 minutes)

Vérifiez bien son fonctionnement en lançant le script avant de modifier le crontab.

Inutile de le faire pour le raspberry qui supporte l  'appli domoticz puisque vous avez un résultat identique en installant les "motherboard sensor"

Télécharger le script temp.sh.zip


Afficher la puissance Wifi recue par les Raspberry :

Cela peut-être utile pour orienter  votre raspberry afin d'avoir la meilleure connexion Wifi :

Voici un petit script qui va chercher la valeur relevée par pi OS, et l'envoie à votre domoticz préféré.

la documentation d'utilisation est dans le script.

Télécharger le script report_P_Wifi.sh.zip

Si vous avez plusieurs points d'accès Wifi , voila comment récupèrer le SSID utilisé :

la documentation d'utilisation est dans le script.

Télécharger le script report_SSID.sh.zip



Afficher la charge UC des  raspberry :

Où plutôt  la "load average" ... une formule "linuxienne"  qui devrait donner une idée de la charge du (des processeurs)... mais est calculée à partir du nombre de process en attente!

la valeur affichée dépend du nombre de cœurs , jusqu'à 4 pour un raspberry 4.

Une inspection régulière de la charge CPU permet de cibler des erreurs ou des bugs de programmation

Si votre raspbery a une charge UC anormale, c'est qui se passe quelque chose

Une simple feuille calc laissée ouverte dans LibreOffice  et c'est la charge CPU qu a des sursauts de 25% pendant 30 mn toutes les heures,

ce n'est pas terrible si votre raspberry a des tâches de surveillance.

Voici un petit script qui va chercher la valeur relevée par pi OS, et l'envoie à votre domoticz préféré.

Télécharger le script cpu.sh.zip


Afficher la charge UC des  raspberry  (Un autre !) :

Le script  précédent utilisait le programme TOP qui fournissait (vraissemblablement ) la valeur instantanée.

ici c'est auusi le "load average qui est restitué.

Ce n'est pas top ! et cela dépend de l'instant de la mesure , Celui ci utilise UPTIME  qui en plus du délai depuis la mise en marche fournis les valeurs moyennes

sur la minute  , les cinq minutes ou les quinze minutes précédents.

ce sont les mêmes valeurs que fourni HTOP

Vous pouvez choisir lesquelles seront transmises à domoticz.

Télécharger le script cpu_m.sh.zip



Afficher les infos de votre freebox > V5) :

Un site décrit comment faire , c'est très bien expliqué :

easy domoticz.com/forum

C'est prévu pour une freebox raccordé en ADSL  J'ai modifié le scripts freebox_info.sh  afin de récupérer les infos de mon raccordement Fibre optique...

et avec des infos numérique , car je préfère les courbes au simple texte.

remplacer le script freebox_info.sh par celui ci :

Il faut bien sur changer les paramètres DOMOTICZ_SERVER=  avec l''adresse ip de votre Rpi domoticz

et créer les dispositifs dans domoticz :

les IDX  FREEBOX_FW_IDX  et  FREEBOX_UPTIME_IDX sont des dispositifs texte

les IDX FREEBOX_UP_MAX_IDX et FREEBOX_DOWN_MAX_IDX sont des dispositifs custom sensor avec l'axe en KO /s

l'IDX  FREEBOX_DISKSPACE_IDX est un dispositif custom sensor avec l'axe en Mo

et modifier MY_APP_ID et MY_APP_TOKEN récupérés lors  la manip décrite sur easy domoticz forum

Télécharger le script freebox_info_fx.sh.zip