[Store] InValues :Test des valeurs d'un périphérique

Échangez ici vos astuces sur la gestion des règles eedomus

[Store] InValues :Test des valeurs d'un périphérique

Messagepar clarinette49 » 23 Nov 2020 11:51

Bonjour,

J'ai créé un capteur de test DHCP.
J'ai renseigné dans les valeurs les adresses MAC de tous mes périphériques.
Je voulais savoir comment avec une seule et simple règle être informé d'une connexion "étrangère".
J'en ai rêvé, Merguez l'a fait :o
La suite après...
clarinette49
 
Messages : 759
Inscription : 21 Mai 2019
Localisation : Angers

Re: [Store] InValues :Test des valeurs d'un périphérique

Messagepar merguez07 » 23 Nov 2020 11:58

C'est dans le store
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2351
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: [Store] InValues :Test des valeurs d'un périphérique

Messagepar clarinette49 » 23 Nov 2020 13:13

Ce plugin renvoie la valeur Faux si la valeur du périphérique renseigné à l'installation est différente des valeurs enregistrées dans ce périphérique et vrai dans le cas contraire.
Pour tout usage que vous pourrez juger utile.
clarinette49
 
Messages : 759
Inscription : 21 Mai 2019
Localisation : Angers

Re: [Store] InValues :Test des valeurs d'un périphérique

Messagepar gabvoir » 07 Déc 2020 11:33

Bonjour,

Fort intéressant ce petit plugin.
Plutôt marrant car j'ai créé y'a 2 mois quelque chose de similaire mais plus axé sur ce "filtrage DHCP".
Le plugin renvoi en plus l'adresse IP.

Petite amélioration sur la recherche, par rapport à InValues, avec la fonction array_keys qui évite le parcours avec un foreach.

Code : Tout sélectionner
<?
$periph_id = getArg('periph_id',true);
$value = getValue($periph_id);
$mac = $value["value"];
$values = getPeriphValueList($periph_id);
$result = in_array($mac , array_keys($values)) ? '1' : '0';
$ip = ($result == '0' ? sdk_get_ip_from_ip_or_mac($mac) : '0');

$xml = "<root>";
$xml .= "<authorizedMac>".implode("/",array_keys($values))."</authorizedMac>";
$xml .= "<mac>".$mac."</mac>";
$xml .= "<ip>".$ip."</ip>";
$xml .= "<authorized>".$result."</authorized>";
$xml .= "</root>";

sdk_header('text/xml');
echo $xml;
?>
gabvoir
 
Messages : 191
Inscription : 24 Juin 2015

Re: [Store] InValues :Test des valeurs d'un périphérique

Messagepar merguez07 » 07 Déc 2020 13:07

gabvoir a écrit:Petite amélioration sur la recherche, par rapport à InValues, avec la fonction array_keys qui évite le parcours avec un foreach.


damned, je croyais cette fonction php non implémentée dans l'eedomus car pas dans la liste

ils ont écrit array_key_exists au lieu d'array_key

j'intègre l'idée
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2351
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: [Store] InValues :Test des valeurs d'un périphérique

Messagepar merguez07 » 07 Déc 2020 14:21

plugin mis à jour :D (merci gabvoir)
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2351
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche


Retour vers Règles et programmations

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 9 invité(s)

cron