Bonjour,
Je possède un IPX800 V4 avec un X-ENO et souhaiterai garder l’historique (date et heure) des ouvertures d’un contacteur d’ouverture Enocean Nodon.
Est-ce possible ?
Si oui, je veux bien un petit coup de main pour m’assister.
Merci
Bonjour,
Je possède un IPX800 V4 avec un X-ENO et souhaiterai garder l’historique (date et heure) des ouvertures d’un contacteur d’ouverture Enocean Nodon.
Est-ce possible ?
Si oui, je veux bien un petit coup de main pour m’assister.
Merci
Bonjour,
Je pense que ce ne sera pas possible sans un serveur externe (sur lequel se trouvera soit un fichier de log, soit une base de données), de type NAS ou Raspberry Pi.
L’idée serait la suivante :
@XavierO merci pour ta réponse.
J’ai un NAS Synology avec PhpMysql mais malheureusement je ne suis pas sûr d’avoir toutes les compétences pour créer le push ni pour l’interpréter.
Si une âme charitable peut m’assister j’en serai ravi
Merci
Quelques petites questions pour essayer de t’aider au mieux :
Oui un seul contacteur pour l’instant, on verra plus tard s’il est possible de le faire avec d’autres contacteurs
Le contacteur Enocean envoi son état à l’IPX800 à chaque changement d’état.
On peut utiliser l’état de ce contacteur dans un scenario:
J’ai créé un scénario qui fera une action quand le contacteur passera à l’état « OFF » qui correspond à l’ouverture du portillon de mon logement.
Il me suffirait de faire un push dans ce cas.
Bonjour,
Le script suivant (non testé, et perfectible - notamment sur la gestion des erreurs éventuelles) doit faire l’affaire pour démarrer.
Il faut donc :
En en théorie, ça fonctionne (sauf si je suis un boulet et que j’ai fait une erreur bête quelque part )
Le script :
<?
$etat = ($_GET['etat'] == 'on') ? 'Allumage' : 'Extinction'; // On récupère l'état du relais envoyé par le push
$horodatage = date('d/m/Y à H:i'); // Date courante au format "01/01/2018 à 15h05". L'heure se base sur le fuseau horaire du serveur
$ligne_log = $etat . ' du relais Enocean 1 le ' . $horodatage . '\n';
$log = fopen('log.txt', 'a+'); // On ouvre le fichier de log. S'il n'existe pas, il est créé automatiquement à condition que le script ait les droits sur le répertoire
fseek($log, 0); // On se place au début de log (on aura donc les enregistrements les plus récents en haut)
fwrite($log, $ligne_log);
fclose($log);
?>
@XavierO Merci pour ton aide.
Cela fonctionne .
Si je peux me permettre, peut-on modifier le script pour qu’un retour à la ligne se fasse après chaque enregistrement dans le fichier log.txt pour avoir les logs les uns sur les autres plutôt qu’à la suite.
Merci beaucoup.
J’ai regardé sur le net et j’ai trouvé la modification à apporter, il faut ajouter \r avant \n
J’ai aussi pu faire cette petite correction et mettre « \r\n » à la place de ‹ \r\n ›
Je tiens à adresser un très grand merci à @XavierO pour m’avoir aidé car je ne connais pas du tout le « scripting ».
Diode
Super que tu aies trouvé comment adapter le script à tes besoins.