EIBD à PHP - Version imprimable +- Forum KNX francophone / English KNX forum (https://www.knx-fr.com) +-- Forum : Français (https://www.knx-fr.com/forumdisplay.php?fid=3) +--- Forum : Archives eib-domotique (https://www.knx-fr.com/forumdisplay.php?fid=8) +--- Sujet : EIBD à PHP (/showthread.php?tid=294) Pages :
1
2
|
EIBD à PHP - marc.assin - 25/02/2011 On 25 fév, 13:06, "Christophe Bruchez" <i...@accessnight.ch> wrote: > Comment passé de 2 - 78 à 5.9 ? Je pense que, énoncé comme çà, il n'y a pas de solution ! Je crois comprendre que ta question porte sur les DataType Je répète que je ne suis pas programmeur, mais voici ma vision (très limitée) des choses .... Lorsque un émetteur (BP) communique à un récepteur (actuateur), c'est suivant des conventions définies dans ETS. La description du DataType ne voyage PAS sur le câble, elle ne figure PAS dans le télégramme. Toi, tu arrives au milieu du jeu de quilles, et tu essaies de savoir .... je pense qu'il n'y a pas moyen. Pour décoder correctement l'information contenue dans la partie "data" du télégramme, il faut savoir de quel DataType il s'agit. Donc, je répète, 2 -78 ne veut rien dire, et tu n'arriveras pas à 5.9, sauf si tu sais, par exemple, qu'il s'agit d'un DPT8 et donc 2 byte signed value EIS 10.001. NB: il pourrait tout aussi bien s'agir d'un DPT 10 ou 11 auquel cas, il s'agit de l'heure et de la date. J'ai déposé Datentypen.doc dans "KNX" hth EIBD à PHP - Frédéric - 25/02/2011 Le vendredi 25 février 2011, marc.assin a écrit : > Lorsque un émetteur (BP) communique à un récepteur (actuateur), c'est > suivant des conventions définies dans ETS. La description du DataType > ne voyage PAS sur le câble, elle ne figure PAS dans le télégramme. Mais lorsqu'un participant réagit à différents datatypes (ce qui est généralement le cas), comment fait-il alors pour s'y retrouver ? Il doit bien être capable de dire "cette trame c'est du 10.001, celle-ci du 9.001" non ? -- Frédéric EIBD à PHP - Frédéric - 25/02/2011 Le vendredi 25 février 2011, Frédéric a écrit : > Mais lorsqu'un participant réagit à différents datatypes (ce qui est > généralement le cas), comment fait-il alors pour s'y retrouver ? Il doit > bien être capable de dire "cette trame c'est du 10.001, celle-ci du > 9.001" non ? Je dis une bétise : la trame contient une adresse de groupe, que le participant reconnait. Et comme cette adresse de groupe est liée à un datatype précis, il peut décoder correctement la trame. -- Frédéric EIBD à PHP - marc.assin - 25/02/2011 On 25 fév, 13:54, Frédéric <f...@gbiloba.org> wrote: > la trame contient une adresse de groupe, que le > participant reconnait. Et comme cette adresse de groupe est liée à un > datatype précis, il peut décoder correctement la trame. exact EIBD à PHP - marc.assin - 25/02/2011 On 25 fév, 13:33, "Christophe Bruchez" <i...@accessnight.ch> wrote: > Quelqu'un peut t-il me donner le lien vers la bible KNX ou tous les type ESI > sont décrit ?! Le Datentypen.doc ne fait pas l'affaire ? EIBD à PHP - kraven - 25/02/2011 Effectivement c'est a nous de définir le type comme dans Linknx d’ailleurs. Ensuite il faut interpréter le résultat en fonction du type. A+ On 25 fév, 14:08, "marc.assin" <raym...@warichet.com> wrote: > On 25 fév, 13:33, "Christophe Bruchez" <i...@accessnight.ch> wrote: > > > Quelqu'un peut t-il me donner le lien vers la bible KNX ou tous les type ESI > > sont décrit ?! > > Le Datentypen.doc ne fait pas l'affaire ? EIBD à PHP - frederic Gilliard - 25/02/2011 Je dis peut-être une bétise, mais pourquoi ne pas simplement regarder le code source de linknx et de voir comment il fait pour décoder la trame, et adapter cela en VB ? EIBD à PHP - Frédéric - 25/02/2011 Le vendredi 25 février 2011, frederic Gilliard a écrit : > Je dis peut-être une bétise, mais pourquoi ne pas simplement regarder le > code source de linknx et de voir comment il fait pour décoder la trame, > et adapter cela en VB ? linknx a besoin de la correspondance entre adresse de groupe et datatype ; c'est décrit dans son fichier de config : http://sourceforge.net/apps/mediawiki/linknx/index.php?title=Object_Definition_Syntax -- Frédéric EIBD à PHP - marc.assin - 25/02/2011 On 25 fév, 14:26, kraven <ohl.christo...@gmail.com> wrote: > Effectivement c'est a nous de définir le type comme dans Linknx > d’ailleurs. Je suggère d'employer la nouvelle nomenclature DPT, l'EIS étant obsolète EIBD à PHP - frederic Gilliard - 25/02/2011 Et je pense pas que tu pourras faire sans, sauf boule de crystal branchée sur le port USB :-) > linknx a besoin de la correspondance entre adresse de groupe et datatype ; > c'est décrit dans son fichier de config : > > > http://sourceforge.net/apps/mediawiki/linknx/index.php?title=Object_Definition_Syntax > > -- > Frédéric > EIBD à PHP - kraven - 25/02/2011 > Je dis peut-être une bétise, mais pourquoi ne pas simplement regarder le > code source de linknx et de voir comment il fait pour décoder la trame, et > adapter cela en VB ? C'est pas une bêtise, c'est ce que j'essais de faire mais je n'y arrive pas. Il est pas aussi simple que ça de convertir du C en VB.net Ma EIBD à PHP - frederic Gilliard - 25/02/2011 Mais si tu comprend le code, tu comprends comment décodé les trames. Ca aurait été effectivement plus facile de convertir en C#.net Le 25 février 2011 14:43, kraven <ohl.christophe@gmail.com> a écrit : > > Je dis peut-être une bétise, mais pourquoi ne pas simplement regarder le > > code source de linknx et de voir comment il fait pour décoder la trame, > et > > adapter cela en VB ? > > C'est pas une bêtise, c'est ce que j'essais de faire mais je n'y > arrive pas. Il est pas aussi simple que ça de convertir du C en VB.net > > > > Ma EIBD à PHP - marc.assin - 25/02/2011 On 25 fév, 13:06, "Christophe Bruchez" <i...@accessnight.ch> wrote: > Comment passé de 2 - 78 à 5.9 ? On peut faire du "précognitive" en examinant le "length field" et sur base de la longeur du payload on peut déblayer un peu le terrain. Sachant que les longeurs sont de 1, 2, 3, 4, 14. Cà n'avance pas à grand chose, vu que pour la longeur 4 byte il y a 4 DPT différents, on n'aura donc pas la réponse exacte, mais bon ... EIBD à PHP - Christophe Bruchez - 25/02/2011 Et si je dis que c'est du EIS5.... > Donc, je répète, 2 -78 ne veut rien dire, et tu n'arriveras pas à 5.9, sauf si tu sais, par exemple, qu'il s'agit d'un DPT8 et donc 2 byte signed value EIS 10.001. > NB: il pourrait tout aussi bien s'agir d'un DPT 10 ou 11 auquel cas, il s'agit de l'heure et de la date. EIBD à PHP - marc.assin - 25/02/2011 On 25 fév, 16:57, "Christophe Bruchez" <i...@accessnight.ch> wrote: > Et si je dis que c'est du EIS5.... P'têt bien, oui, je n'ai pas étudié ton cas concret. EIS5 = DPT9 = 2 Byte float Si en appliquant la supposition EIS5 sur ta valeur 16 bit, tu arrives à la bonne valeur, c'est gagné :-) Cà suppose évidemment que tu connais le format 2 Byte float (signe, mantisse, exp) EIBD à PHP - Christophe Bruchez - 25/02/2011 Justement je suis sûr que c'est de l'EIS5 !!! Mais quel est la formule magique pour arriver à mon chiffre, là je suis pô ! Tu as trouvé ou cette formule ? C'est moi qui suis c** ? Chrystof -----Message d'origine----- De : domotique-eib@googlegroups.com [mailto:domotique-eib@googlegroups.com] De la part de marc.assin Envoyé : vendredi 25 février 2011 17:11 À : domotique-EIB Objet : Re: EIBD à PHP On 25 fév, 16:57, "Christophe Bruchez" <i...@accessnight.ch> wrote: > Et si je dis que c'est du EIS5.... P'têt bien, oui, je n'ai pas étudié ton cas concret. EIS5 = DPT9 = 2 Byte float Si en appliquant la supposition EIS5 sur ta valeur 16 bit, tu arrives à la bonne valeur, c'est gagné :-) Cà suppose évidemment que tu connais le format 2 Byte float (signe, mantisse, exp) EIBD à PHP - marc.assin - 25/02/2011 On 25 fév, 17:17, "Christophe Bruchez" <i...@accessnight.ch> wrote: > Mais quel est la formule magique pour arriver à mon chiffre, là je suis pô ! > Tu as trouvé ou cette formule ? Formule ? Il n'y a pas de formule à proprement parler, c'est le format, je pense qu'il est standard, faudra faire une petite recherche pour les détails exacts... De tête, je pense qu'il y a: 11 bit pour la mantisse 4 bitpour l'exposant 1 bit pour le signe EIBD à PHP - jef2000 - 25/02/2011 Salut, La formule n'est pas magique, et c'est à peu près la seule partie de spec KNX vraiment publiquement et gratuitement disponible sur leur site web: http://www.knx.org/fileadmin/downloads/03%20-%20KNX%20Standard/KNX%20Standard%20Public%20Documents/03_07_02%20Datapoint%20Types%20v1.5.00%20AS.zip pour l'EIS5, il faut convertir 2 et 78 en binaire. Ca donne 00000010 01001110. Ensuite tu sépares E et M comme décrit au chapitre 3.10 du document ci-dessus. E=0000 et M=001001001110. Ce qui donne après conversion en décimal E=0 et M=590 Ensuite, avec la formule (0.01*M)*2^E donne 5.9 Voilà Jean-François On 25 fév, 17:17, "Christophe Bruchez" <i...@accessnight.ch> wrote: > Justement je suis sûr que c'est de l'EIS5 !!! > > Mais quel est la formule magique pour arriver à mon chiffre, là je suis pô ! > Tu as trouvé ou cette formule ? C'est moi qui suis c** ? > > Chrystof > > -----Message d'origine----- > De : domotique-eib@googlegroups.com [mailto:domotique-eib@googlegroups.com] > De la part de marc.assin > Envoyé : vendredi 25 février 2011 17:11 > À : domotique-EIB > Objet : Re: EIBD à PHP > > On 25 fév, 16:57, "Christophe Bruchez" <i...@accessnight.ch> wrote: > > > Et si je dis que c'est du EIS5.... > > P'têt bien, oui, je n'ai pas étudié ton cas concret. > EIS5 = DPT9 = 2 Byte float > > Si en appliquant la supposition EIS5 sur ta valeur 16 bit, tu arrives à la > bonne valeur, c'est gagné :-) Cà suppose évidemment que tu connais le format > 2 Byte float (signe, mantisse, exp) EIBD à PHP - Christophe Bruchez - 25/02/2011 AH ben voilà ! Merci beaucoup, cela devient tout de suite plus clair. Merci. Chrystof -----Message d'origine----- De : domotique-eib@googlegroups.com [mailto:domotique-eib@googlegroups.com] De la part de jef2000 Envoyé : vendredi 25 février 2011 19:55 À : domotique-EIB Objet : Re: EIBD à PHP Salut, La formule n'est pas magique, et c'est à peu près la seule partie de spec KNX vraiment publiquement et gratuitement disponible sur leur site web: http://www.knx.org/fileadmin/downloads/03%20-%20KNX%20Standard/KNX%20Standar d%20Public%20Documents/03_07_02%20Datapoint%20Types%20v1.5.00%20AS.zip pour l'EIS5, il faut convertir 2 et 78 en binaire. Ca donne 00000010 01001110. Ensuite tu sépares E et M comme décrit au chapitre 3.10 du document ci-dessus. E=0000 et M=001001001110. Ce qui donne après conversion en décimal E=0 et M=590 Ensuite, avec la formule (0.01*M)*2^E donne 5.9 Voilà Jean-François On 25 fév, 17:17, "Christophe Bruchez" <i...@accessnight.ch> wrote: > Justement je suis sûr que c'est de l'EIS5 !!! > > Mais quel est la formule magique pour arriver à mon chiffre, là je suis pô ! > Tu as trouvé ou cette formule ? C'est moi qui suis c** ? > > Chrystof > > -----Message d'origine----- > De : domotique-eib@googlegroups.com > [mailto:domotique-eib@googlegroups.com] > De la part de marc.assin > Envoyé : vendredi 25 février 2011 17:11 À : domotique-EIB Objet : Re: > EIBD à PHP > > On 25 fév, 16:57, "Christophe Bruchez" <i...@accessnight.ch> wrote: > > > Et si je dis que c'est du EIS5.... > > P'têt bien, oui, je n'ai pas étudié ton cas concret. > EIS5 = DPT9 = 2 Byte float > > Si en appliquant la supposition EIS5 sur ta valeur 16 bit, tu arrives > à la bonne valeur, c'est gagné :-) Cà suppose évidemment que tu > connais le format > 2 Byte float (signe, mantisse, exp) |