Faire Clignoter une lampe
https://www.domoticz.com/wiki/Device_blink
Objectif
Ce script allumera un appareil avec un commutateur virtuel pour laisser un certain appareil clignoter pendant plusieurs fois.
Il peut être utilisé pour un système d'alarme par exemple, pour laisser scintiller vos lumières lorsqu'un mouvement est détecté / les portes sont ouvertes quand il n'y a personne à la maison.
Ce script consiste uniquement à laisser les lumières clignoter, c'est à vous de les utiliser.
Installer Python
Les scripts Python nécessitent l'installation de 'python'. Vous pouvez l'installer en exécutant:
sudo apt-get install python
du terminal sur le Pi.
S'il indique que 'python' est déjà installé, vous pouvez continuer avec ce tutoriel.
Configuration de Domoticz - création de mannequins matériels virtuels et de commutateurs virtuels
Ce script a besoin d'un commutateur virtuel pour chaque périphérique que vous souhaitez interroger.
Créer du matériel factice virtuel
Pour créer un commutateur virtuel, vous devez d'abord créer un périphérique matériel virtuel.
Accédez à Configuration> Matériel. Tapez un nom (j'utilise «DUMMY»), choisissez «Dummy (ne fait rien, utilisez uniquement pour les commutateurs virtuels)» dans la liste déroulante. Laissez «Data timeout» désactivé. Cliquez sur 'Ajouter'
Créer des commutateurs virtuels
Pour créer un commutateur virtuel, accédez à l'onglet «Commutateurs». Cliquez sur le bouton «Éclairage / interrupteur manuel» dans le coin supérieur gauche. Choisissez le matériel factice dans la liste déroulante. Saisissez un nom («Led clignotante»). Type de commutateur «On / off». Tapez «X10». Pour le «Code maison» et le «Code d'unité», choisissez-en un au hasard, cela n'a pas vraiment d'importance. En tant que «périphérique principal».
Vous devez maintenant connaître l'ID du commutateur que vous souhaitez laisser clignoter. Cela peut être trouvé en allant dans 'Setup' -> 'Devices'. Recherchez le commutateur que vous avez créé dans la liste et souvenez-vous de l'IDX. N'oubliez pas / notez ce numéro, car vous en aurez besoin plus tard
Créer le script
Créez un nouveau fichier dans le dossier \ home \ pi \ domoticz \ scripts . Nommez le fichier «Blink.py». Copiez le contenu du script de cette page dans le fichier et enregistrez-le.
Rendre le script exécutable
Dans le terminal, allez sur cd / home / pi / domoticz / scripts
Exécutez la commande chmod + x blink.py
Je ne sais pas si l'exécution de cette commande est nécessaire, mais cela ne nuit à rien;)
Changements personnels
Modifiez "domoticzurl =" http://192.168.1.133:8080 "dans votre propre système
Changez le changement "domoticzdeviceid_kaku = 87" dans l'IDX que vous voulez faire clignoter
Modifier le temps total de clignotement "stop = time.time () + 300" où 300 est en secondes
Changer le temps de marche / arrêt "time.sleep (5) où 5 est en secondes
Dans le commutateur virtuel, définissez la commande on sur script: ///home/pi/domoticz/scripts/blink.py
#!/usr/bin/python
import sys
import json
import urllib2
import re
import time
import datetime
import httplib, urllib
def open_port():
pass
def close_port():
pass
class Domoticz():
def __init__(self, url):
self.baseurl = url
def __execute__(self, url):
req = urllib2.Request(url)
return urllib2.urlopen(req, timeout=5)
def set_device_on(self, xid):
"""
Get the Domoticz device information.
"""
url = "%s/json.htm?type=command¶m=switchlight&idx=%s&switchcmd=On" % (self.baseurl, xid)
data = json.load(self.__execute__(url))
return data
def set_device_off(self, xid):
"""
Get the Domoticz device information.
"""
url = "%s/json.htm?type=command¶m=switchlight&idx=%s&switchcmd=Off" % (self.baseurl, xid)
data = json.load(self.__execute__(url))
return data
def flashing(url, device_id):
stop = time.time()+300
while time.time() < stop:
on = Domoticz(url).set_device_on(device_id)
time.sleep(5)
off = Domoticz(url).set_device_off(device_id)
time.sleep(5)
domoticzurl = "http://192.168.1.133:8080"
domoticzdeviceid_kaku = 87
flash = flashing(domoticzurl, domoticzdeviceid_kaku)