« Wiz et OpenWRT » : différence entre les versions

De knowledge
Aller à la navigation Aller à la recherche
m (Jpinon a déplacé la page Wizz et OpenWRT vers Wiz et OpenWRT)
mAucun résumé des modifications
Ligne 41 : Ligne 41 :
Ajouter :
Ajouter :
  0 0 * * * /root/wiz_off.sh > /dev/null 2>&1
  0 0 * * * /root/wiz_off.sh > /dev/null 2>&1
== Remarques techniques ==
* Le protocole utilisé est UDP, sans accusé de réception garanti.
* Les ampoules répondent généralement par un message JSON confirmant l’exécution.
* Il est possible d’écouter les échanges avec `tcpdump` :
  tcpdump -i br-lan udp port 38899 -n -vvv -X
Ce système permet un contrôle local sans passer par le cloud ou une application mobile.

Version du 8 septembre 2025 à 21:26

Contrôle d'une ampoule WiZ depuis OpenWRT

Ce guide explique comment allumer ou éteindre une ampoule WiZ via un routeur OpenWRT en utilisant `socat` pour envoyer des commandes UDP.

Prérequis

  • Routeur OpenWRT avec accès root
  • Paquet `socat` installé :
 opkg update
 opkg install socat
  • Adresse IP locale de l’ampoule WiZ (ex. 192.168.8.195)

Commandes de base

Éteindre l’ampoule

echo '{"method":"setPilot","params":{"state":false}}' | socat - UDP-DATAGRAM:192.168.8.195:38899

Allumer l’ampoule

echo '{"method":"setPilot","params":{"state":true}}' | socat - UDP-DATAGRAM:192.168.8.195:38899

Automatisation avec script

Créer un script `/root/wiz_off.sh` pour éteindre toutes les ampoules identifiées par leur nom DHCP :

#!/bin/sh
LEASES="/tmp/dhcp.leases"
CMD='{"method":"setPilot","params":{"state":false}}'
IPS=$(awk '$4 ~ /^wiz_/ {print $3}' "$LEASES")
for IP in $IPS; do
  echo "$CMD" | socat - UDP-DATAGRAM:$IP:38899
done

Rendre le script exécutable :

chmod +x /root/wiz_off.sh

🕛 Programmation via crontab

Éteindre automatiquement les ampoules à minuit :

crontab -e

Ajouter :

0 0 * * * /root/wiz_off.sh > /dev/null 2>&1

Remarques techniques

  • Le protocole utilisé est UDP, sans accusé de réception garanti.
  • Les ampoules répondent généralement par un message JSON confirmant l’exécution.
  • Il est possible d’écouter les échanges avec `tcpdump` :
 tcpdump -i br-lan udp port 38899 -n -vvv -X

Ce système permet un contrôle local sans passer par le cloud ou une application mobile.