KNX, alarme scenario si "1" non recu depuis x minutes?

Tags: #<Tag:0x00007f282e2815d8>

Bonjour à tous,

j’ai une question, et je vois pas quoi mettre.

J’ai une alimentation KNX avec un retour d’info « bus en service » qui envoi toute les minutes un « 1 » sur le bus.

seulement, ca envoi pas de « 0 » si le bus coupe (ben forcement, si y a pas de courant… mdr)

Bon bref, je veux un scénario qui m’informe que le « 1 » n’as pas été envoyé sur le bus depuis 2 minutes par exemple.

J’ai crée dans le plugin knx une info « bus en service » qui lit toute les minutes… mais là… il va de toute facon trouver « 1 » puisque c’est la derniere valeur trouvé. ?!?

Ouais hein…

Merci et bon dimanche à tous !

Salut,
As-tu essayé avec l’instruction DANS?
Tu rentres dans ton scénario, tu testes la valeur, si la valeur est mauvaise tu fais ce que tu as à faire, sinon tu fais DANS 2 mn puis tu relances le même scénario et tu sors.
Ce qui fait que toutes les 2 mn le scénario se relance et commence par tester la valeur.

ben en fait le truc, c’est que forcement il va trouver un « 1 » quand il va tester, vu que la valeur est enregistrer non ?

je sais pas comment faire dire à jeedom que si il reçoit pas un « 1 » toutes les minutes, qu’il me le dise…

car meme si je dit "dans 2 min teste si bus =1

ben vu que le bus n’envoi jamais 0…

Bonjour.

Si vous historisez cette valeur. Vous avez alors la date de la dernière valeur (voir documentation des scénarios)
Alors vous pouvez en déduire si c’est ok ou pas.
Je je ferai cela toutes les 15 minutes, pas plus

Pas moyen de mettre un trigger sur ce changement d’état ?

j’y pense, peut on mettre dans le plugin knx une info genre si pas de trames sur le bus pendants x minutes, alerte ?

bon, ca n’as plus rien à voir techniquement avec mon problème… mais pour ceux qui n’ont pas une alim évolué…

sinon, j’ai cliqué sur résolu sans le faire exprès…

je vais réfléchir en relisant un peu la doc…

Et si tu mettais le paramètre de config de l’info de mettre le paramètre à toujours répéter ?
De la sorte, si le paramètre évolue, tu es au courant.

J’ai fait avec un « dans ».

Je m’explique, un scénario qui se lance a chaque réception de ta valeur.

Dans ton scénario:
Un simple « dans » de 2 min avec un message comme quoi la communication a été rompue et c’est bon.

Après, il y a moyen utiliser la surveillance d’une commande. Va ds les paramètres avancés de ta commande, tu trouveras

La tu sort du cadre du plugin.
Il ne peut changer d’état que sur changement surble bus ou comme tu le pense par un script externe.

Je pense qu’il faut pas lire la valeur mais le date de mise à jour qui doit être inférieur à 2 minutes.
Donc un scénario programmé toute les 2 minutes avec un bloc code
Des que j’ai 5min (et un ordi) je te propose un code

Voila rapidement un script qui doit fonctionner

$cmd = cmd::byId('#IdDeTaCommande#');
if(is_object($cmd){
	$value= $cmd->execCmd();
	$cmdCollectDate=DateTime::createFromFormat("Y-m-d H:i:s",$TemperatureEauCmd->getCollectDate());
	//Si la difference entre le temps actuel et la derniere reception d'un message est supperieur a 120s (2min) on execute les actions corrective
	if(time() - $cmdCollectDate->getTimestamp() > 120){
		//Action corrective
	}
}

coucou,

désolé du retard…

il me dit :
« ×Champs json invalide »

Bon ok, je suis un bleu là… vous allez trop loin…
désolé.; j’arrive pas à suivre…

(j’ai mis l’ID de la commande…)

Tu peux mettre des screenshot car y a pas de json la