Page 1 sur 88

[Sujet officiel] Plugin EIB - KNX

Publié : 27 août 2014, 13:42
par mika-nt28
Bonjour,

Certain d'entre vous on du voir apparaître sur le store depuis quelques semaine, un plugin EIBD - KNX.
Celui ci n’était jusqu'alors pas utilisable.
Aujourd'hui j'arrive a échanger des informations sur certain DPT que j'utilise dans mon installation.

J’aurai besoin de courageux qui prenne le temps de configurer leurs installations ou une partie pour vérifié que tous les DPT s'encode et se décode correctement.

Merci

Re: Plugin EIB - KNX

Publié : 27 août 2014, 16:05
par goubs
Hola,

Jeedoom mini est commandée.
Dès que le système est up, je pourrais te faire les premiers retours.

Peut être faire un import ETS pour facilité la mise en route.

Re: Plugin EIB - KNX

Publié : 28 août 2014, 07:51
par mika-nt28
Pour l'instant je travail sur un bus monitor qui va intégrer le GA qui passe.
mais pourquoi pas aussi un import d'un knxproj

Re: Plugin EIB - KNX

Publié : 28 août 2014, 09:36
par goubs
Oui tu as raison c'est le plus important.

Nous pouvons répartir les taches.
Je pourrais faire au moins l'import ETS.

Re: Plugin EIB - KNX

Publié : 01 sept. 2014, 15:50
par mika-nt28
l'import ETS y a un script php qui existe deja sur knxweb2
J'ai demandé les source, sinon pourquoi pas réecrir le scripte ce n'est qu'un archive et un xml a parser

A tu dans ton installation une horloge qui met a jours la date et l'heure sur le bus.
Sur mon install c'etait linknx qui s'en chargeait mais la je ne parvient pas a faire un simple read sur le GA il ne sort jamais de la boucle de lecture.
Faut que je verifie les Flag que j'ai parametrer sur ETS

Re: Plugin EIB - KNX

Publié : 01 sept. 2014, 16:41
par goubs
Idem pour la date et l'heure.
C'était linknx qui s'en chargeait.

Re: Plugin EIB - KNX

Publié : 01 sept. 2014, 23:35
par goubs
Si cela peut aider:

Code en python pour Time (10.xx) et Date (11.xx)

def en10(dt):
return [0, (dt.isoweekday() << 5) | dt.hour, dt.minute, dt.second]


def de10(payload):
h = payload[0] & 0x1f
m = payload[1] & 0x3f
s = payload[2] & 0x3f
return datetime.time(h, m, s)


def en11(date):
return [0, date.day, date.month, date.year - 2000]


def de11(payload):
d = payload[0] & 0x1f
m = payload[1] & 0x0f
y = (payload[2] & 0x7f) + 2000 # sorry no 20th century...
return datetime.date(y, m, d)

Re: Plugin EIB - KNX

Publié : 02 sept. 2014, 08:09
par mika-nt28
Mon problème avec ses objets sont bien avant le décodage.
Lorsque j'appel un lecture sur le bus sur ce GA je n'ai jamais de réponse et ca fini par planté.
Je soupçonne un problème de flag (mon GA ne doit contenir qu'un objet Write). Mais je n'ai pas ETS sous la main pour verifier.
Je vais tenter d’écrire une valeur pour voir

Re: Plugin EIB - KNX

Publié : 02 sept. 2014, 11:12
par goubs
Mika: Il y a des erreurs comme celle qui suit:
- [Erreur] Classe ou fonction non trouvée eibd::UpdateValue()

As-tu une idée de ce qui cause cela ?

Re: Plugin EIB - KNX

Publié : 02 sept. 2014, 11:32
par goubs
C'est bon, Une ancienne tache dans Cron.

Re: Plugin EIB - KNX

Publié : 02 sept. 2014, 11:53
par mika-nt28
Ha effectivement j'ai supprimé cette tache cron qui prenait beaucoup de ressource maintenant les mise a jours de valeurs ce fait a l'apparition sur le Bus monitor.

Par contre je suis surpris que la mise a jours ne l'a pas supprimé
peut etre dans la procédure de mise a jours des plugins?
Questions a posé a Loic

Re: Plugin EIB - KNX

Publié : 02 sept. 2014, 12:00
par goubs
mika-nt28 a écrit :Mon problème avec ses objets sont bien avant le décodage.
Lorsque j'appel un lecture sur le bus sur ce GA je n'ai jamais de réponse et ca fini par planté.
Je soupçonne un problème de flag (mon GA ne doit contenir qu'un objet Write). Mais je n'ai pas ETS sous la main pour verifier.
Je vais tenter d’écrire une valeur pour voir
Oui effectivement,
Si c'est objet de linknx par default la date et le time ne sont qu'envoyé par de lecture

<object type="10.001" id="cur_time" gad="1/1/200">Current Time</object>
<object type="11.001" id="cur_date" gad="1/1/201" flags="cwtuf">Current Date</object>

il faut le flags 'r' pour autoriser la lecture. (cf Wiki #Flags)

Re: Plugin EIB - KNX

Publié : 03 sept. 2014, 09:17
par mika-nt28
J'ai mis a jours le plugin avec une correction pour l'envoie de l'heure et la date.
Pas de soucis pour l'instant dans l'usage du plugin?

Re: Plugin EIB - KNX

Publié : 03 sept. 2014, 11:16
par goubs
Pour l'instant tout va bien.

Mais j'ai une question comment tu fais pour écrire sur le bus via une commande ?
Cela me permettre de vraiment l'utiliser.
Car pour l'instant j'ai bien la température, l'état des lumières, mais pas de contrôle dessus :/

Re: Plugin EIB - KNX

Publié : 03 sept. 2014, 11:51
par mika-nt28
Dans la configuration de Jeedom les actionneurs sont séparé des capteurs.
Donc pour écrire une valeur sur le bus tu doit configuré ta ligne de commande en "Action" et pour la lire en "Info".
Pour avoir un retours d'etat d'une action (dans mes test la température de consigne en Action -> Slider) il faut:
  • Créer une commande action
  • Créer une commande info (Non visible si tu ne souhaite pas la voire apparaître dans le Dashboard)
  • Lier ta commande info a l'action par le biais d'un listener

Re: Plugin EIB - KNX

Publié : 03 sept. 2014, 14:10
par goubs
Je n'arrive arrive pas :/

Par exemple pour:
Eclairages.Exterieur GAD 2/6/0 EIS 1 'Switching' (1 Bit)

J'ai créé un équipement: Eclairages Extérieur
Adr Phy: 1.1.11

Puis associé deux commandes:
- Nom: Switch Etat Type: Switch(1.001) GAD 2/6/0 Param: Info Numérique
- Nom: Switch Type: Switch(1.001) GAD 2/6/0 Param: Action Défaut

Si je lance un test ou depuis le dashboard, il n'y a pas de action.
Si j'appuie de l'inter physique l'état passe bien à 1 ou 0.

J'ai essayé avec Boolean mais idem.

Je veux bien un peu d'aide.

Re: Plugin EIB - KNX

Publié : 03 sept. 2014, 14:34
par mika-nt28
Dans ce cas la précisément le plugin n'envera rien car je n'arrive pas a récupérer la valeur associer a un Action -> Other, c'est un défaut qui est dans ma todo.
Mais la façon de procéder est la bonne.

Re: Plugin EIB - KNX

Publié : 03 sept. 2014, 14:42
par goubs
Cela me rassure :)

Sinon est-ce que tu pourrais ajouter un champ valeur, qui serait envoyé sur le bus au bon format.
Cela permettrai de mettre des valeurs via scénario.

Par exemple dans le cas du dessus, il y aurai trois commandes:
- Nom: Etat Type: Switch(1.001) GAD 2/6/0 Param: Info Numérique
- Nom: On Type: Switch(1.001) GAD 2/6/0 Value: 1 Param: Action Défaut
- Nom: Off Type: Switch(1.001) GAD 2/6/0 Value: 0 Param: Action Défaut

Après avec un Virtuel Equipement faire le switch 0 / 1 en fonction de l'état.

C'est à dire: récupérer la valeur associer a un Action -> Other ?
Tu aimerais avoir la valeur du listener ?

Re: Plugin EIB - KNX

Publié : 03 sept. 2014, 15:08
par mika-nt28
Bah un action doit me renvoyer une valeur.
Je ne pense pas que ce soit au plugin de définir la valeur.

Re: Plugin EIB - KNX

Publié : 03 sept. 2014, 15:17
par goubs
En regardant les autres plugins comme Z-wave ou TV-Samsung.

Pour Z-Wave, il y a une classe (DPT pour nous) et une commande où tu renseignes ce qu'il faut envoyer.