Chacon DIOBELL-B02

Bonjour,
je test en ce moment cet appareil.
il émet une trame compatible DIO v1, quand on appuis sur la sonnette, et surtout, si l’on décide d’actionner 4 fonctions (Portail, Porte, Lampe On et Lampe Off).
j’ai bien créer mes 5 sensors avec les bons IDs, les informations remonte bien, sauf l’état « sta ».

je me suis loupé quelque part ?
voici une trame exemple : 2021-07-28 17:41:59 : Received radio ID (<rf>433Mhz </rf> Noise=<noise>2072</noise> Level=<lev>5.0</lev>/5 <dev>Chacon</dev> <sta>ON</sta> Batt=<bat>Ok</bat>): <id>CSxxxxxxxxxx</id>

d’ avance merci pour toute aide apportée ^^

@ZygOm4t1k j’espère que ce plugin est maintenu, car pour moi la Zibase est toujours aussi fiable :wink:

personne dans les parages ?

j’essaye de comprendre la méthode d’analyse des trames de la zibase.
il y a 3 blocs :

	if( preg_match_all('#Received radio ID \(.*<rf>(.*?)</rf>.*CMD\/INTER</dev>.*<id>(.*?)(_OFF)?</id>.*#',$zbData->message,$results,PREG_SET_ORDER)) { 
		echo 'receive type 1 :' . PHP_EOL;
		print_r($results);
		$data = getData($zbData->message);
		$etat = (isset($results[0][3])) ? '0' : '1';
		$data['id'] = $results[0][2];
		$data['etat'] = $etat;
		jeebase::setStateToJeedom($data);

	}elseif( preg_match_all('#Received radio ID.*#',$zbData->message,$results,PREG_SET_ORDER)) { 
		echo 'receive type 2 :' . PHP_EOL;
		print_r($results);
		$data = getData($zbData->message);
		$exp = explode(": ", $zbData->message);
		print_r($exp);
		if(preg_match_all( '#<id>(.*?)(_OFF|_ON)?</id>#', $exp[1] ,$id )) {
			print_r($id);
			$data['id'] = $id[1][0];
		};				
		jeebase::setInfoToJeedom($data);
		
	}elseif(preg_match_all('#Sent radio ID \(.*Protocols=\'(.*?)\'.*: (([^_]+)(_OFF|_ON)?)#',$zbData->message,$results,PREG_SET_ORDER)) {
		echo 'Send :' . PHP_EOL;
		print_r($results);
		$data = getData($zbData->message);
		$data['id'] = $results[0][3];
		$etat = ($results[0][4] == '_OFF' ) ? '0' : '1';
		$data['etat'] = $etat;	
		jeebase::setStateToJeedom($data);				
	}

pendant mon analyse, je n’ai jamais vu passer par le « receive type 1 », cela est-il logique ou prévoit-il une analyse spécifique ?
je continue l’analyse…

on du coup la balise STA est bien prise en compte dans l’analyse de la variable (getData()) :
2021-08-30 13:27:20 : ZiBASE005564(192.168.0.190) => Received radio ID (433Mhz Noise=2030 Level=1.9/5 Chacon ON Batt=Ok): CS3176464656
Array
(
[lev] => 1.9
[noise] => 2030
[bat] => Ok
[sta] => ON
[dev] => Chacon
[rf] => 433Mhz
[id] => CS3176464656
)

reste à comprendre pourquoi STA ne permet pas l’actualisation de l’état d’un actionneur.