Faire Clignoter une lampe

https://www.domoticz.com/wiki/Device_blink

scns/Domoticz-blinking-light
Let a light blink every 5 seconds for 5 minutes. Contribute to scns/Domoticz-blinking-light development by creating an account on GitHub.

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&param=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&param=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)