(modifié le 15 octobre 2020 à 16:40)

Aujourd'hui je laisse le clavier à TurboX, lecteur du blog, qui nous propose un tutoriel pour piloter avec Domoticz des ports d'un switch Netgear Power over Ethernet (PoE).

Le but : allumer et éteindre des appareils PoE grâce à Domoticz. Pour éteindre les caméras le jour quand je suis là, le cozytouch l'été, des appareils USB, etc. Au final c'est une économie de consommation électrique et une protection de ma vie privée.

Pré-requis

Nous allons utiliser :

  • Domoticz (sur un Raspberry Pi)
  • un switch PoE administratable Netgear GS310TP

Côté adresse IP :

  • 192.168.0.14 : Raspberry Pi
  • 192.168.0.250 : switch netgear

Configuration du switch

Il faut autoriser le Raspberry Pi à envoyer des commandes SNMP au switch.

Dans l'interface d'administration du switch :

System > SNMP >SNMP V1/V2 > Community Configuration :

Saisir l'IP du Raspberry Pi et le masque de sous-réseau, ainsi que le nom de la communauté SNMP "community string" qui correspond à une sorte de mot de passe.

Choisir l'accès "read/write" et "Enable" pour activer le tout.

Côté Raspberry Pi

D'abord installons SNMP sur le Raspberry Pi :

sudo apt-get update
sudo apt-get install snmpd snmp

Nous allons utiliser 2 scripts bash par port PoE : un pour l'allumer et un pour l'éteindre.

Voici le principe de fonctionnement avec snmpset :

snmpset -v2c -c <password> <IP du switch> 1.3.6.1.2.1.105.1.1.1.3.1.<PORT> i <ACTION>

Explications des arguments :

  • <password> : community string renseignée dans l'interface du switch poe
  • <IP du switch> : 192.168.0.250
  • <PORT> : numéro du port du switch à piloter (à la fin de l'OID)
  • <ACTION> : 1=allumer 2=éteindre

[Exemple] allumer le port 3 :

#!/bin/sh
snmpset -v2c -c pass2fou 192.168.0.250 1.3.6.1.2.1.105.1.1.1.3.1.3 i 1

[Exemple] éteindre le port 3 :

#!/bin/sh
snmpset -v2c -c pass2fou 192.168.0.250 1.3.6.1.2.1.105.1.1.1.3.1.3 i 2

Vous pouvez chacun des 2 scripts dans /home/pi/scripts :

  • poe-3-ON.sh
  • poe-3-OFF.sh

Puis les rendre exécutables :

chmod +x poe*.sh

Créez autant de script que vous avez de ports (ou allez à la fin du tutoriel pour récupérer la version avec arguments).

Configuration de l'interrupteur Domoticz

Dans Configuration > Matériel ajouter un périphérique de type "dummy" (factice en anglais), sans délai d'attente des données.

Puis créer un capteur virtuel :

Entrer le nom "PoE" choisir le type "interrupteur".

Allez dans interrupteurs, le périphérique est maintenant visible, éditez ses paramètres et indiquez les scripts pour les actions ON et OFF :

ℹ️  Si vous pilotez une caméra sur le port PoE vous pouvez personnaliser l'icone avec celle d'une caméra de surveillance.

[bonus] Un script unique pour tous les ports

Pour simplifier le script de TurboX j'ai crée une version de script qui accepte en arguments le numéro du port avec la commande pour allumer ou éteindre le port.

▶️ Téléchargez : poe.sh (raw)

L'utilisation est simple :

./poe.sh <port> <action>

Avec :

  • port : numéro du port (ex : 2)
  • action: ON ou OFF

Si je veux allumer le port PoE numéro 3 :

./poe.sh 3 ON

Il ne restera plus qu'à modifier le périphérique dans Domoticz pour éditer le script de mise en route :

script:///home/pi/scripts/poe.sh 3 ON

et d'extinction :

script:///home/pi/scripts/poe.sh 3 OFF

Conclusion

Domoticz répond encore une fois à un besoin simple, associé à une pincée de script bash.

Merci à TurboX pour cet article invité, vous aussi n'hésitez pas à me contacter si vous avez une idée, un projet ou un tutoriel à partager 🙂

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter

Tags: , ,