Dex Posté(e) le 17 juin 2010 Posté(e) le 17 juin 2010 Ce qu'il faut savoir c'est qu'il y a une directive europ 0 Citer
catimimi Posté(e) le 6 septembre 2010 Posté(e) le 6 septembre 2010 Bonjor, Pour ceux que cela int 0 Citer
Sp@r0 Posté(e) le 6 septembre 2010 Auteur Posté(e) le 6 septembre 2010 Je ne crois pas me tromper en disant que la dsm 3 utilise un kernel bien plus r 0 Citer
catimimi Posté(e) le 6 septembre 2010 Posté(e) le 6 septembre 2010 Je ne crois pas me tromper en disant que la dsm 3 utilise un kernel bien plus r 0 Citer
davman76 Posté(e) le 27 septembre 2010 Posté(e) le 27 septembre 2010 Bonjor, Pour ceux que cela intéresse, je viens de compiler un driver pour le contrôleur X10 CM19 bidirectionnel RF USB. Il sera utilisable avec le DSM 3.0 en effet la version 2.6.15 du noyau ne comporte pas les fonctions nécessaires pour la gestion des threads, je testé la compilation avec la 2.6.24 fournie par synology et ai intégré le module dans la hiérarchie du noyau. On converse avec le driver de façon très simple : echo +A1 > /dev/x10-cm19 met le device A1 on echo -A1 > /dev/x10-cm19 l'éteint....... A SUIVRE. Cordialement. Michel. Dis moi, perso j'ai pas mal de domotique en X10 chez moi (volet roulant, éclairages etc.) ils sont tous controlés par un CM15 que je n'ai jamais peu fair fonctionner sur mon DS110j bien sur .. lol et je ne suis pas le seul, est-ce que tu aurrai une solution maintenant que je suis passé en DS 3.0; Est-ce que tu aurai compilé une drivers compatible ? De plus je ne connaissait pas le CM19 mais j'ai vue qu'il utilise la même API que le CM15 voir ici Coté fonctionnel la différence entre le CM19 et CM15 c'est que le CM19 envoi les ordres par RF a un récepteur RF / X10 (par ex: Cm15) idem que pour une télécommande, alors que le CM15 envoi directement en X10 sur le courant puisque lui est connecté au secteur. j'ai bien compris ? Merci de tes réponses. A bientôt. 0 Citer
catimimi Posté(e) le 27 septembre 2010 Posté(e) le 27 septembre 2010 Dis moi, perso j'ai pas mal de domotique en X10 chez moi (volet roulant, éclairages etc.) ils sont tous controlés par un CM15 que je n'ai jamais peu fair fonctionner sur mon DS110j bien sur .. lol et je ne suis pas le seul, est-ce que tu aurrai une solution maintenant que je suis passé en DS 3.0; Est-ce que tu aurai compilé une drivers compatible ? De plus je ne connaissait pas le CM19 mais j'ai vue qu'il utilise la même API que le CM15 voir ici Coté fonctionnel la différence entre le CM19 et CM15 c'est que le CM19 envoi les ordres par RF a un récepteur RF / X10 (par ex: Cm15) idem que pour une télécommande, alors que le CM15 envoi directement en X10 sur le courant puisque lui est connecté au secteur. j'ai bien compris ? Merci de tes réponses. A bientôt. Bonjour, Non, je n'ai pas compilé pour le DSM 3.0 car le noyau de mon serveur de Bretagne (DS207+) reste en 2.6.15 et cela ne se compile pas avec ce noyau. J'utilise le CM19 car je suis en triphasé et plutôt que d'acheter un coupleur de phases à un prix exorbitant, je mets un récepteur RF TM13 par phase et le tour est joué. J'envisage de mettre un mini PC (GIADA à 220 €) sans clavier et sans écran sous windows avec le logiciel Homeseer qui est très complet et est controlable par internet. Cordialement. Michel. PS : si tu souhaites une compilation, dis le moi en indiquant pour quel serveur et quel noyau et je te la ferai à l'occasion. 0 Citer
davman76 Posté(e) le 27 septembre 2010 Posté(e) le 27 septembre 2010 Bonjour, Non, je n'ai pas compil 0 Citer
Sp@r0 Posté(e) le 27 septembre 2010 Auteur Posté(e) le 27 septembre 2010 Bonsoir, Bien puisque tu me le propose, est-ce que tu pourrai me compiler un driver pour mon CM15 0 Citer
catimimi Posté(e) le 27 septembre 2010 Posté(e) le 27 septembre 2010 Bonsoir, Bien puisque tu me le propose, est-ce que tu pourrai me compiler un driver pour mon CM15 0 Citer
Sp@r0 Posté(e) le 11 janvier 2011 Auteur Posté(e) le 11 janvier 2011 Mise à jour du code support d'un type de sonde en plus, divers corrections ... #!/usr/bin/env python2.5 # -*- coding: cp1252 -*- # # Test du python par PSEIBEL # Essai de divers fonction # Auteur PSEIBEL le 17 01 10 # # # Paramétrage du script # Capteur_00 : Temp intérieur # Capteur_01 : Hygro intérieur # Capteur_02 : Temp extérieur # Capteur_03 : Consommation électrique # # import des modules import serial import urllib import datetime # Fonction qui décripte a qui cela appartient def Cherche_Sonde (trame): # Init de la réponse type_sonde = "nada" # Contrôle oregon type 1 if len(trame) == 20: if trame[:8] == [1, 10, 2, 13, 1, 0, 14, 14]: type_sonde = "THGR228_00" if len(trame) == 20: if trame[:8] == [1, 10, 2, 13, 2, 0, 3, 7]: type_sonde = "THGR228_01" if len(trame) == 24: if trame[:8] == [5, 10, 6, 13, 0, 0, 0, 13]: type_sonde = "THR918_00" if len(trame) == 8: if trame == [6, 0, 9, 15, 0, 0, 15, 15]: type_sonde = "X10_001" if len(trame) == 8: if trame == [6, 0, 9, 15, 2, 0, 13, 15]: type_sonde = "X10_000" if len(trame) == 30: if trame[:2] == [14, 10]: if trame[4:6] == [8, 7]: type_sonde = "CM113_00" return type_sonde # Décodage THGR228 def THGR228 (trame): temp_sign = (trame[13]== V_temp = (((trame[10]*100)+(trame[11]*10)+trame[8])/10.0)*(pow(-1,temp_sign)) V_hygro = (trame[15]*10)+trame[12] print V_temp print V_hygro return V_temp, V_hygro # Décodage THR918N def THR918N (trame): temp_sign = (trame[13]== V_temp = (((trame[10]*100)+(trame[11]*10)+trame[8])/10.0)*(pow(-1,temp_sign)) V_hygro = (trame[15]*10)+trame[12] V_press = (trame[16]*16)+trame[17]+856 print V_temp print V_hygro print V_press return V_temp, V_hygro, V_press # Décodage CM113_00 def CM113 (trame): V_puissance = ((trame[8]*pow(16,3))+(trame[9]*pow(16,2))+(trame[6]*16)+trame[7])*24 print V_puissance return V_puissance # Ecriture SQL def Ecriture_SQL(): try: V_datevaleur = V_maintenant.strftime("%Y-%m-%d%%20%H:%M:00") f = urllib.urlopen("http://localhost/ajout.php?table=capteur_00&valeur=" + S_Sonde1_1 + "&horodate=" + V_datevaleur) print ("http://localhost/ajout.php?table=capteur_00&valeur=" + S_Sonde1_1 + "&horodate=" + V_datevaleur) f = urllib.urlopen("http:/localhost/ajout.php?table=capteur_01&valeur=" + S_Sonde1_2 + "&horodate=" + V_datevaleur) print ("http://localhost/ajout.php?table=capteur_01&valeur=" + S_Sonde1_2 + "&horodate=" + V_datevaleur) f = urllib.urlopen("http://localhost/ajout.php?table=capteur_02&valeur=" + S_Sonde2_1 + "&horodate=" + V_datevaleur) print ("http://localhost/ajout.php?table=capteur_02&valeur=" + S_Sonde2_1 + "&horodate=" + V_datevaleur) f = urllib.urlopen("http://localhost/ajout.php?table=capteur_03&valeur=" + S_Sonde2_2 + "&horodate=" + V_datevaleur) print ("http://localhost/ajout.php?table=capteur_03&valeur=" + S_Sonde2_1 + "&horodate=" + V_datevaleur) f = urllib.urlopen("http://localhost/ajout.php?table=capteur_04&valeur=" + S_CM113 + "&horodate=" + V_datevaleur) print ("http://localhost/ajout.php?table=capteur_04&valeur=" + S_CM113 + "&horodate=" + V_datevaleur) f = urllib.urlopen("http://localhost/ajout.php?table=capteur_05&valeur=" + S_Sonde3_1 + "&horodate=" + V_datevaleur) print ("http://localhost/ajout.php?table=capteur_05&valeur=" + S_Sonde3_1 + "&horodate=" + V_datevaleur) f = urllib.urlopen("http://localhost/ajout.php?table=capteur_06&valeur=" + S_Sonde3_2 + "&horodate=" + V_datevaleur) print ("http://localhost/ajout.php?table=capteur_06&valeur=" + S_Sonde3_2 + "&horodate=" + V_datevaleur) f = urllib.urlopen("http://localhost/ajout.php?table=capteur_07&valeur=" + S_Sonde3_3 + "&horodate=" + V_datevaleur) print ("http://localhost/ajout.php?table=capteur_07&valeur=" + S_Sonde3_3 + "&horodate=" + V_datevaleur) f.close() except: print "Envoi KO" return # Initialisation du port série si pas de trame def init_port_serie(): # Fermeture de liaison série ser.close() # Initilisation de la liaison serie ser = serial.Serial('/dev/ttyUSB0', 4800, timeout=0.25) return #------------------------------------------- # Boucle principal #------------------------------------------- # Initilisation de la liaison serie ser = serial.Serial('/dev/ttyUSB0', 4800, timeout=0.25) # Initilisation du tableau de valeur des capteurs V_H_CM113 = [] V_H_Sonde1_1 = [] V_H_Sonde1_2 = [] V_H_Sonde2_1 = [] V_H_Sonde2_2 = [] V_H_Sonde3_1 = [] V_H_Sonde3_2 = [] V_H_Sonde3_3 = [] V_H_Sonde3_4 = [] S_CM113 = "0" S_Sonde1_1 = "0" S_Sonde1_2 = "0" S_Sonde2_1 = "0" S_Sonde2_2 = "0" S_Sonde3_1 = "0" S_Sonde3_2 = "0" S_Sonde3_3 = "0" S_Sonde3_4 = "0" deja_ecrit = False # Boucle de lecture sur la liaison V_boucle = 0 V_infini = 0 try: while (V_infini < 2): while (V_boucle < 3600): V_tramebrute = ser.readline() # copie de la trame dans un tableau dynamique V_trametableau = [] for V_i in range(0,len(V_tramebrute),1): V_trametableau.append(ord(V_tramebrute[V_i])/16) V_trametableau.append(ord(V_tramebrute[V_i])%16) # Vérification validité trame if len(V_trametableau) > 2: print V_trametableau V_longtheorie = (V_trametableau[0]*16+V_trametableau[1])/8 V_longreel = len(V_tramebrute) - 2 if (V_longreel > 2) and (V_longreel > 2): V_boucle = 0 print "Trame Valide" V_trameutile = V_trametableau[2:(2*V_longtheorie+2)] print V_trameutile # Recherche du type de la sonde V_typesonde = Cherche_Sonde(V_trameutile) print V_typesonde if V_typesonde == "THGR228_00": V_poubelle = THGR228(V_trameutile) V_H_Sonde1_1.append (V_poubelle[0]) V_H_Sonde1_2.append (V_poubelle[1]) V_Sonde1_1 = 0 V_Sonde1_2 = 0 for V_i in range(0,len(V_H_Sonde1_1),1): V_Sonde1_1 = V_Sonde1_1 + V_H_Sonde1_1[V_i] V_Sonde1_2 = V_Sonde1_2 + V_H_Sonde1_2[V_i] V_Sonde1_1 = V_Sonde1_1 / len(V_H_Sonde1_1) V_Sonde1_2 = V_Sonde1_2 / len(V_H_Sonde1_2) S_Sonde1_1 = "%.1f" % V_Sonde1_1 S_Sonde1_2 = "%.1f" % V_Sonde1_2 print V_H_Sonde1_1 print S_Sonde1_1 print V_H_Sonde1_2 print S_Sonde1_2 if V_typesonde == "THGR228_01": V_poubelle = THGR228(V_trameutile) V_H_Sonde2_1.append (V_poubelle[0]) V_H_Sonde2_2.append (V_poubelle[1]) V_Sonde2_1 = 0 V_Sonde2_2 = 0 for V_i in range(0,len(V_H_Sonde2_1),1): V_Sonde2_1 = V_Sonde2_1 + V_H_Sonde2_1[V_i] V_Sonde2_2 = V_Sonde2_2 + V_H_Sonde2_2[V_i] V_Sonde2_1 = V_Sonde2_1 / len(V_H_Sonde2_1) V_Sonde2_2 = V_Sonde2_2 / len(V_H_Sonde2_2) S_Sonde2_1 = "%.1f" % V_Sonde2_1 S_Sonde2_2 = "%.1f" % V_Sonde2_2 print V_H_Sonde2_1 print S_Sonde2_1 print V_H_Sonde2_2 print S_Sonde2_2 if V_typesonde == "THR918_00": V_poubelle = THR918N(V_trameutile) V_H_Sonde3_1.append (V_poubelle[0]) V_H_Sonde3_2.append (V_poubelle[1]) V_H_Sonde3_3.append (V_poubelle[2]) V_Sonde3_1 = 0 V_Sonde3_2 = 0 V_Sonde3_3 = 0 for V_i in range(0,len(V_H_Sonde3_1),1): V_Sonde3_1 = V_Sonde3_1 + V_H_Sonde3_1[V_i] V_Sonde3_2 = V_Sonde3_2 + V_H_Sonde3_2[V_i] V_Sonde3_3 = V_Sonde3_3 + V_H_Sonde3_3[V_i] V_Sonde3_1 = V_Sonde3_1 / len(V_H_Sonde3_1) V_Sonde3_2 = V_Sonde3_2 / len(V_H_Sonde3_2) V_Sonde3_3 = V_Sonde3_3 / len(V_H_Sonde3_3) S_Sonde3_1 = "%.1f" % V_Sonde3_1 S_Sonde3_2 = "%.0f" % V_Sonde3_2 S_Sonde3_3 = "%.0f" % V_Sonde3_3 print V_H_Sonde3_1 print S_Sonde3_1 print V_H_Sonde3_2 print S_Sonde3_2 print V_H_Sonde3_3 print S_Sonde3_3 if V_typesonde == "CM113_00": V_poubelle = CM113(V_trameutile) V_H_CM113.append (V_poubelle) V_CM113 = 0 for V_i in range(0,len(V_H_CM113),1): V_CM113 = V_CM113 + V_H_CM113[V_i] V_CM113 = V_CM113 / len(V_H_CM113) S_CM113 = "%.0f" % V_CM113 print V_H_CM113 print S_CM113 print "--------------" else: print "Trame ko" print "--------------" # Ecriture des données toutes les 5 minutes V_maintenant = datetime.datetime.now() V_minutestr = V_maintenant.strftime("%M") if ((V_minutestr[len(V_minutestr)-1] == "5") or (V_minutestr[len(V_minutestr)-1] == "0")): if not deja_ecrit: Ecriture_SQL() V_H_CM113 = [] V_H_Sonde1_1 = [] V_H_Sonde1_2 = [] V_H_Sonde2_1 = [] V_H_Sonde2_2 = [] V_H_Sonde3_1 = [] V_H_Sonde3_2 = [] V_H_Sonde3_3 = [] V_H_Sonde3_4 = [] deja_ecrit = True else: deja_ecrit = False V_boucle = V_boucle + 1 init_port_serie() except KeyboardInterrupt: # Fermeture de liaison série ser.close() 0 Citer
PatrickH Posté(e) le 22 mars 2011 Posté(e) le 22 mars 2011 Le module USB a été compile pour un noyau de version donnée, il y a fort à parier que la version du noyau de la 3.1 a évolué et que ton problème vienne de la Patrick 0 Citer
Sp@r0 Posté(e) le 22 mars 2011 Auteur Posté(e) le 22 mars 2011 +1 Personnellement je ne suis pas pass 0 Citer
RenaultPat Posté(e) le 23 mars 2011 Posté(e) le 23 mars 2011 Bon dans ce cas je vais attendre une hypoth 0 Citer
PatrickH Posté(e) le 23 mars 2011 Posté(e) le 23 mars 2011 ... Et dire que tout marchait bien, pourquoi j'y ai touch 0 Citer
PatrickH Posté(e) le 24 mars 2011 Posté(e) le 24 mars 2011 Ok sinon tu fais comme moi tu prends un RFXcom en ethernet.... plus de problème de driver USB Patrick 0 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.