Rechercher dans la communauté
Affichage des résultats pour les étiquettes 'Domoticz'.
3 résultats trouvés
-
Bonjour à tous Bon je bloque et ça me gonfle donc j'appelle a l'aide... J'ai des tags bluetooth Nut Mini 3 qui sont détectés par Domoticz via clé Bluetooth. Quand ils sont détectées, une variable domoticz "Armement Diurne" passe a off, ON sinon. J'ai réussi a faire le pont sur Fibaro via Fibarolink et donc sur Fibaro, j'ai bien la variable "ArmementDiurne" qui passe a on ou off... J'ai crée 2 scènes qui arme ou désarme mes détecteur de mouvement et m'envoie des notifications Push: "Armement Alarme" "Désarmement Alarme" Le soucis est que je bloque sur le fait que je voudrais lancer ces scènes sur un changement d'état de la variable "ArmementDiurne" Pourriez vous m'aider ? je suis sur que la question a déjà été posé 10 fois mais je ne trouve pas... ;(
-
Hello les boys, Comme chez Fibaro la gestion des API Lua est plus proche de la buée sur des vitres que de la stabilité qu'aurais une tesla sur une route, j'ai décidé de mon coté de n'utiliser ma HC2 que en passerelle Zwave <=> IP. L'API Http étant assez stable et aimant pas mal les "Planning" de domoticz qui me permettent de faire des planning de différents actionneurs sans me casser les pieds avec des scènes, ou GEA (qui est bien en passant mais pour juste allumer un contacteur en position confort pour un module FP c'est quand même sévèrement overkill). Domoticz permet de faire des actions via soit un module réél (genre au hasard, une télécommande RFX433MHz) ou via un module virtuel. Exemple : Qui a comme actions : Alors on pourrais utiliser directement un http://hc2/ mais pour l'instant domoticz ne supporte pas l'authentification via l'URL (faut que je code la chose....) Dans mon cas le script hc2fp envoi les bonnes commandes a la HC2 (il faut changer le host et les login password en haut du code). J'ai 3 scripts pour l'instant : hc2fp : gestion fil pilote (via un module qubino) hc2sw : gestion switch on / off (typiquement pour les fibaro plugs) temperature : qui me remontent les temperatures à coup de crontab sur domoticz. Alors oui Domoticz fait du ZWave (assez bien...) mais pas aussi stable que sur l'HC2 (vous avez bien lu). En effet les Fibaro plugs m'envoient plein de données tout le temps et a priori openzwave se prends les pieds dans le tapis... mais ceci n'est qu'un exemple de ce que j'ai eu hc2fp : #!/usr/local/bin/python2 import json import urllib import urllib2 import base64 import argparse # Parameters of HC2 username = "admin" password = "admin" hc2_host = "hc2" # Or IP # Callaction def hc2setvalue(id,todo): "Get the value of one HC2 id" url = 'http://'+hc2_host+'/api/callAction?deviceID='+str(id)+'&name='+str(todo) req = urllib2.Request(url) base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '') req.add_header("Authorization", "Basic %s" % base64string) response = urllib2.urlopen(req) json_object = response.read() parser = argparse.ArgumentParser() parser.add_argument("id", type=int, help="ID of HC2 module to be used") parser.add_argument("--on", action="store_true", help="Set module to On/Confort") parser.add_argument("--off", action="store_true", help="Set module to Off") parser.add_argument("--eco", action="store_true", help="Set module to Eco") parser.add_argument("--hg", action="store_true", help="Set module to Hors-Gel") args = parser.parse_args() if args.on and args.off and args.eco and args.hg: print "Use only ONE argument at one time" elif args.on: hc2setvalue(args.id, 'turnOn') elif args.off: hc2setvalue(args.id, 'turnOff') elif args.eco: hc2setvalue(args.id, 'setValue&arg1=25') elif args.hg: hc2setvalue(args.id, 'setValue&arg1=15') else: print "Nothing done" hc2sw : #!/usr/local/bin/python2 import json import urllib import urllib2 import base64 import argparse # Parameters of HC2 username = "admin" password = "admin" hc2_host = "hc2" # Or IP # Callaction def hc2setvalue(id,todo): "Get the value of one HC2 id" url = 'http://'+hc2_host+'/api/callAction?deviceID='+str(id)+'&name='+str(todo) req = urllib2.Request(url) base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '') req.add_header("Authorization", "Basic %s" % base64string) response = urllib2.urlopen(req) json_object = response.read() parser = argparse.ArgumentParser() parser.add_argument("id", type=int, help="ID of HC2 module to be used") parser.add_argument("--on", action="store_true", help="Set module to On") parser.add_argument("--off", action="store_true", help="Set module to On") args = parser.parse_args() if args.on and args.off: print "You cannot set --on and --off at the same time" elif args.on: hc2setvalue(args.id, 'turnOn') elif args.off: hc2setvalue(args.id, 'turnOff') else: print "Nothing done" temperature : #!/usr/local/bin/python2 import json import urllib import urllib2 import base64 # Parameters of HC2 username = "admin" password = "admin" hc2_host = "hc2" # or IP dom_host = "localhost" dom_port = "8080" # General way to get value of a HC2 Module def hc2getvalue( id ): "Get the value of one HC2 id" url = 'http://'+hc2_host+'/api/devices?id='+str(id) req = urllib2.Request(url) base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '') req.add_header("Authorization", "Basic %s" % base64string) response = urllib2.urlopen(req) json_object = response.read() response_dict = json.loads(json_object) hc2value = response_dict.get("properties", {}) return hc2value.get("value", {}) # Generic update function for domoticz def dom_update(id, value): "Update Domotics with correct values" url_domoticz = 'http://'+dom_host+':'+dom_port+'/json.htm?type=command¶m=udevice&idx='+str(id)+'&svalue='+str(value) req_domoticz = urllib2.Request(url_domoticz) response_domoticz = urllib2.urlopen(req_domoticz) json_object_domoticz = response_domoticz.read() response_dict_domoticz = json.loads(json_object_domoticz) if response_dict_domoticz.get('status',{}) == 'OK' : return 1 else: return 0 # HC2 to Domoticz temperature and humidity stuff def hc2temphum(hc2_temp,hc2_hum,dom_id): "Update Domoticz with the right stuff" # Get the temperature temp = hc2getvalue(hc2_temp) # Get the humitidy hum = float(hc2getvalue(hc2_hum)) hum_stat = 0 if (hum <= 25.0): hum_stat = 2 elif (hum > 60.0): hum_stat = 3 elif ((hum > 25.0) and (hum <= 60.0)): hum_stat = 1 else: hum_stat = 0 dom_data=str(temp)+';'+str(hum)+';'+str(hum_stat) dom_update(dom_id,dom_data) # Temperature SdB hc2temphum(14,15,197) # Temperature Entree hc2temphum(19,20,199) # Temperature Chambre Haut hc2temphum(24,25,198)
-
Bonjour à tous, Je rencontre un curieux problème d'affichage que je vais essayer de résumer le plus simplement possible. Pour afficher les infos de mes sondes Oregon (température, humidité et anémomètre) j'utilise Fibarolink avec Domoticz qui tourne sur un Raspberry Pi. Fibarolink renvoie les données de son choix vers un module virtuel qu'il suffit de créer sur la HC2 avec, comme seule "fonction" une étiquette qui servira à afficher la valeur renvoyée par Fibarolink. Cela fonctionne très bien pour mes sondes de température et d'humidité mais, pour l'anémomètre qui envoie deux paramètres : la vitesse du vent et la vitesse des rafales, l'affichage obtenu dans le module comporte plus de dix chiffres après la virgule !!!! Comme s'il y avait une erreur d'arrondi. Pourtant, Fibarolink et Domoticz envoient bien une valeur "normale" avec au maximum deux chiffres après la virgule comme on peut le voir ci-dessous (dans cet exemple vitesse du vent 3,2 km/h et rafales à 5,4 km/h - cet exemple a été capturé quelques secondes après l'image ci-dessus ce qui explique les différence de valeurs). 2015-05-25 18:37:53.897 (RFXtrx433) Wind (Anémomètre) 2015-05-25 18:37:53.920 FibaroLink: sending value 3.2 to property ui.VitesseVent.value of virtual device id 92 2015-05-25 18:37:53.943 FibaroLink: sending value E to property ui.SensVent.value of virtual device id 39 2015-05-25 18:37:53.950 FibaroLink: sending value 5.4 to property ui.VitesseRafale.value of virtual device id 92 2015-05-25 18:38:00.254 Hardware Monitor: Fetching data (System sensors) 2015-05-25 18:38:08.041 (RFXtrx433) Wind (Anémomètre) Si quelqu'un à une idée, je suis preneur car, même si l'affichage est juste, c'est vraiment pas beau
- 28 réponses
-
- virtuel
- décimales
-
(et %d en plus)
Étiqueté avec :