Page 39 sur 88

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 30 avr. 2016, 08:39
par mika-nt28
Tu as quel niveau de log dans la configuration de jeedom?
Est ce que le bus monitor deroule?

Ce log /var/log/eibd.log c'est surment un probleme de droit vue qu'eibd n'est plus lancé avec les droit root

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 30 avr. 2016, 21:21
par .vince
J'ai l'impression qu'il est lancé en root

Code : Tout sélectionner

root@X60:/var/log# ps aux|grep eibd
root     28310  0.0  0.0   4736  1884 ?        Ss   21:18   0:00 eibd --daemon=/var/log/eibd.log --pid-file=/var/run/eibd.pid -D -S -T --listen-tcp=6720 --eibaddr=1.1.200 ipt:192.168.1.77
j'ai fait un chmod 777 sur le log pour voir si ça changeait quelque chose mais rien à première vue.

Jeedom était en mode "erreur" pour les logs. Je suis passé en "debug" mais je n'ai pas plus de log.

Edit :
Ah maintenant j'ai du log :

Code : Tout sélectionner

[2016-04-30 21:25:34][eibd][DEBUG] : Lancement du Bus Monitor
[2016-04-30 21:25:34][eibd][DEBUG] : Connexion a EIBD sur le serveur 127.0.0.1:6720
[2016-04-30 21:26:02][eibd][DEBUG] : Lecture sur le bus de l'adresse de groupe : 0/4/5
[2016-04-30 21:28:21][eibd][DEBUG] : 1/1/9 : Décodage de la valeur avec le DPT :1.001
[2016-04-30 21:28:21][eibd][DEBUG] : 1/2/9 : Décodage de la valeur avec le DPT :1.001
J'ai relancé le daemon, mais pas avec le bouton "debug".

Ce qui est bizarre c'est que /var/log/eibd.log est toujours vide. Il est stocké où ce log ?

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 30 avr. 2016, 22:39
par .vince
L'adresse physique du daemon est toujours 0.0.0 même si, comme si dessus, j'ai mis 1.1.200
J'ai l'impression que c'est ce qui fait que le retour d'état n'est pas mis à jour quand je commande une lumière. (et donc je n'arrive qu'à l'allumer).

En changeant l'adresse physique par 0.0.0, le problème semble réglé. [Non]

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 01 mai 2016, 08:35
par mika-nt28
Oui c'est un bug de eibd lorsque l'on le lance en knxnet.
Il ne change pas son adresse.
Tu confond les log ce que tu n'avais pas c'est les log de jeedom

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 01 mai 2016, 09:45
par .vince
L'adresse physique : Est ce que ça joue un rôle quelconque ?
Dans le group monitor d'ETS, jeedom apparait en tant que 1.1.150
Le plugin m'a d'ailleurs ajouté l'équipement 1.1.150 (ce qui n'a pas dû aider...)

En fait, j'ai l'impression que mon problème est lié aux retours d'état.
1- l'initialisation au lancement ne se fait pas. Pire, les retours d'état ne fonctionne plus quand j'active cette option.
2- comme je ne peux initialiser les états, quand une lumière est allumé je dois mettre à jour "read" avant de pouvoir utiliser le switch.

L'import ETS est de nouveau dans le plugin, je suppose qu'il écrase la configuration existante (?).

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 01 mai 2016, 10:58
par .vince
Cela fonctionne un quelques minutes puis j'ai ce problème. L'adresse physique d'eibd est 1.1.150

Code : Tout sélectionner

[2016-05-01 10:54:44][eibd][DEBUG] : Lecture sur le bus de l'adresse de groupe : 1/2/9
[2016-05-01 10:54:44][eibd][DEBUG] : La commande 1/2/9 n'a pas été trouvée dans l'équipement 0.0.0
[2016-05-01 10:54:45][eibd][DEBUG] : La commande 1/2/9 n'a pas été trouvée dans l'équipement 1.1.4
Alors que j'ai bien une commande 1/2/9 dans l'équipement 1.1.4 (c'est un retour d'état)

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 01 mai 2016, 16:32
par .vince
Je tâtonne, je tâtonne...
J'ai lu pas mal de sujet sur les retours d'état qui ne fonctionne pas (ou mal) mais difficile de trouver des similitudes.

Ce que j'ai pu lire en revanche, c'est qu'il fallait faire un reboot du serveur à l'activation du paramètre "Initialiser les retours d'état au lancement".

Ce que j'ai remarqué, c'est que si on change le paramètre "Initialiser" d'une commande, il faut faire un redémarrage du daemon sinon les retours d'état buguent.

Pour l'instant, ça tient :)

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 01 mai 2016, 18:54
par Bastien
Bastien a écrit :Bonsoir
Je suis en train d installer le lumento x4 , il manque un type de données le 232.* 3 byte colour RGB.
232.600 RGB value 3x (0.255)
Salut mika-nt28 t'as pu jeter un coup d'oeil
merci

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 02 mai 2016, 08:30
par mika-nt28
Bastien a écrit :
Bastien a écrit :Bonsoir
Je suis en train d installer le lumento x4 , il manque un type de données le 232.* 3 byte colour RGB.
232.600 RGB value 3x (0.255)
Salut mika-nt28 t'as pu jeter un coup d'oeil
merci
Eu je non j'ai oublié faut que je cherche l'encodage de ce dpt
.vince a écrit :Cela fonctionne un quelques minutes puis j'ai ce problème. L'adresse physique d'eibd est 1.1.150

Code : Tout sélectionner

[2016-05-01 10:54:44][eibd][DEBUG] : Lecture sur le bus de l'adresse de groupe : 1/2/9
[2016-05-01 10:54:44][eibd][DEBUG] : La commande 1/2/9 n'a pas été trouvée dans l'équipement 0.0.0
[2016-05-01 10:54:45][eibd][DEBUG] : La commande 1/2/9 n'a pas été trouvée dans l'équipement 1.1.4
Alors que j'ai bien une commande 1/2/9 dans l'équipement 1.1.4 (c'est un retour d'état)
et ce dpt est configuré?
.vince a écrit :L'adresse physique : Est ce que ça joue un rôle quelconque ?
L'adresse physique n'a plus aucune importance maintenant, je lai laissé car elle sert pour l'auto implementation.
.vince a écrit : Dans le group monitor d'ETS, jeedom apparait en tant que 1.1.150
Le plugin m'a d'ailleurs ajouté l'équipement 1.1.150 (ce qui n'a pas dû aider...)
Alors la je suis surpris car je n'ai jamais reussi a avoir autre chose que 0.0.0 en knxnet
.vince a écrit :
En fait, j'ai l'impression que mon problème est lié aux retours d'état.
1- l'initialisation au lancement ne se fait pas. Pire, les retours d'état ne fonctionne plus quand j'active cette option.
2- comme je ne peux initialiser les états, quand une lumière est allumé je dois mettre à jour "read" avant de pouvoir utiliser le switch.
Pour que l'initalisation se fasse il faut l'autorisé au commande voulut.
Attention de bien avoir un Flag read dans le groupe initialisé
Pour le debug je ne recommande pas cette option du plugin
.vince a écrit : L'import ETS est de nouveau dans le plugin, je suppose qu'il écrase la configuration existante (?).
Oui j'ai corriger l'import et non cela n'ecrase rien, il ajoute les commande dans les equipement par leur adresse physique

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 02 mai 2016, 08:55
par .vince
mika-nt28 a écrit :
.vince a écrit :Cela fonctionne un quelques minutes puis j'ai ce problème. L'adresse physique d'eibd est 1.1.150

Code : Tout sélectionner

[2016-05-01 10:54:44][eibd][DEBUG] : Lecture sur le bus de l'adresse de groupe : 1/2/9
[2016-05-01 10:54:44][eibd][DEBUG] : La commande 1/2/9 n'a pas été trouvée dans l'équipement 0.0.0
[2016-05-01 10:54:45][eibd][DEBUG] : La commande 1/2/9 n'a pas été trouvée dans l'équipement 1.1.4
Alors que j'ai bien une commande 1/2/9 dans l'équipement 1.1.4 (c'est un retour d'état)
et ce dpt est configuré?
Merci pour les infos.

Ce matin rebelote. Les retours d'état arrivent bien dans le groupmonitor, mais il ne sont plus lu par le plugin. (Tout fonctionnait hier soir).
129.png
129.png (77.01 Kio) Consulté 593 fois
Si je relance le daemon, ça refonctionne. Je pense que ça fonctionne quelques heures.

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 02 mai 2016, 09:07
par mika-nt28
Tu ne serai pas sur un raspberry ou quelque chose comme ca sur carte SD?
Sur ce type de machine on a souvent des crash de mysql.

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 02 mai 2016, 09:23
par .vince
Salut,
1- Jeedom tourne sur un (vieux) portable avec un bon vieux disque.
2- En fait, ce matin ça n'a tenu que 20min. On voit dans le log ci dessous que la commande 0/2/0 est reconnu à 9:06:19 et la minute d'après elle n'est plus reconnue.
On voit aussi que 0/2/3 n'est pas reconnu à 9:10:07 mais est décodée à 09/19:37
023.png
023.png (44.48 Kio) Consulté 617 fois

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 02 mai 2016, 09:51
par mika-nt28
Alors la je ne comprend vraiment pas ce qu'il se passe chez toi.
Le plugin recherche directement en base SQL le GAD et met a jours sa valeur pour tous ceux trouvé. (Faudrait que je mette a jours le log car il n'a plus tellement de sens comme ça

Edit
Je pense que c'est plutot au niveau de jeedom qu'il y a un probleme.
@loic est ce que tu as une idée de ce qui peut faire que jeedom ne renvoie parfois pas la commande

Code : Tout sélectionner

$commandes=cmd::byLogicalId($monitor['AdresseGroupe']);

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 02 mai 2016, 23:57
par .vince
@mika-nt28, tu pourrais me commenter un ce bout de code pour me lancer dans la recherche de bug ?
Merci ! :)

Code : Tout sélectionner

	public static function BusMonitorTraitement($data){
		$monitor=array("Mode"=>$data["Mode"]);
		$monitor['AdresseGroupe']= self::formatgaddr($data["AdrGroup"]);
		$monitor['AdressePhysique']= self::formatiaddr($data["AdrSource"]);
		if(is_array($data["Data"])){
			$monitor['data']='0x ';
			foreach ($data["Data"] as $Byte)
				$monitor['data'].=sprintf(' %02x',$Byte);
			}
		else
			$monitor['data']='0x '.$data["Data"];
		$commandes=cmd::byLogicalId($monitor['AdresseGroupe']);
		if(count($commandes)>0){
			foreach($commandes as $Commande){
				$monitor['valeur']=trim(self::UpdateCommande($Commande,$data["Mode"],$data["Data"]));
			}
		}else {
			$dpt=Dpt::getDptFromData($data["Data"]);
			if($dpt!=false)
				$monitor['valeur']=Dpt::DptSelectDecode($dpt, $data["Data"]);
			else
				$monitor['valeur']="Impossible de converire la valeur";
			
			log::add('eibd', 'debug', ' La commande '.$monitor['AdresseGroupe'].' n\'a pas été trouvée dans l\'équipement '.$monitor['AdressePhysique']);
			if (config::byKey('autoAddDevice', 'eibd') && $monitor['AdressePhysique'] != config::byKey('EibdGad', 'eibd')){
				log::add('eibd', 'debug', 'Création de la commande '.$monitor['AdresseGroupe']);
				$Equipement=self::AddEquipement('Equipement '.$monitor['AdressePhysique'],$monitor['AdressePhysique']);
				if($dpt!=false){
					$Commande=self::AddCommande($Equipement,'Nouvelle_Commande_'.$monitor['AdresseGroupe'],$monitor['AdresseGroupe'],'info',$dpt);
					$monitor['valeur']=trim(self::UpdateCommande($Commande,$data["Mode"],$data["Data"]));
				}
			}
		}
		self::addCacheMonitor($monitor);
	}

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 03 mai 2016, 08:11
par mika-nt28
Je ne pense pas que c'est un bug du plugin mais plutôt dans ton jeedom.
J'ai déjà vue ce genre de problème est c'est la base MySQL qui réponde pas.
Quel est la charge de ton système lorsque tu as le problème?

Tu peux verifier, dans ta configuration que tu n'est pas d'espace avant et apres sur le GAD, meme si dans le code je fait un trim a la sauvgarde

En gros, avec cette commande

Code : Tout sélectionner

$monitor['AdresseGroupe']

Cette information est générer par le code, en convertion hexa => Gad, a l'affichage du log elle est correcte donc pas de probleme a ce niveau

Code : Tout sélectionner

 $commandes=cmd::byLogicalId($monitor['AdresseGroupe']);
On demande au core de Jeedom d'aller rechercher en base de donné toutes les commandes qui ont été configurer avec ce Gad
Lorsque tu rencontre le problème cette commande te renvoie rien, tu as donc un log de debug pour dire que le Gad n'existe pas, et peut être décode sur le busmonitor par le biais d'un autre moteur.

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 03 mai 2016, 08:56
par .vince
Merci. C'est une façon de mettre les mains dans le cambouis :)

Le serveur est à 0.35
Non, je n'ai pas d'espace dans le GAD.

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 03 mai 2016, 08:58
par mika-nt28
.vince a écrit :Merci. C'est une façon de mettre les mains dans le cambouis :)

Le serveur est à 0.35
Non, je n'ai pas d'espace dans le GAD.
Tu veux dire que mon code est du cambouis

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 03 mai 2016, 09:40
par .vince
C'est plutôt que pour moi faire du code, c'est du domaine du hobby comme faire de la mécanique le weekend ;)

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 03 mai 2016, 09:41
par mika-nt28
Comme moi ce n'est qu'un hobby.

Re: [Sujet officiel] Plugin EIB - KNX

Publié : 04 mai 2016, 13:48
par .vince
Salut,
Du coup, je me suis concentré sur MariaDB. J'avais quelques "aborted connections" dans le syslog. J'ai augmenté le timeout à 28800 (qui était à 60). Pas d'erreurs depuis cette nuit.

Merci mika-nt28 pour ton aide.