Framework Eedomus

Capteurs et actionneurs HTTP

Re: Framework Eedomus

Messagepar Madoma73 » 23 Nov 2012 16:47

DjMomo a écrit:j'ai pas modifié le PHP.ini car il n'est pas modifiable sur un Synology


tu pourrais m'expliquer le problème plus précisément, de ce que j'ai vu sur le net, il suffit d'éditer le fichier /usr/syno/etc/php.ini (en se connectant en ssh) sur le syno pour modifier les paramètres. Mais il se peut qu'il y ait une limitation que je ne vois pas, en tout cas, je suis preneur de toute info.
Pierre
Madoma73
 
Messages : 1440
Inscription : 16 Sep 2012
Localisation : 38

Re: Framework Eedomus

Messagepar khazai » 23 Nov 2012 18:03

Bonjour,

désolé de posé la question. J'ai un peu suivi ce topic mais j'ai du mal a voir le résultat. C'est possible d'avoir un imprim écran?
khazai
 
Messages : 316
Inscription : 09 Jan 2012

Re: Framework Eedomus

Messagepar Madoma73 » 23 Nov 2012 21:21

khazai a écrit:J'ai un peu suivi ce topic mais j'ai du mal a voir le résultat. C'est possible d'avoir un imprim écran?

Salut,
En fait, le framework ne fait rien en lui-même, il te propose des facilités pour faire certaines choses, des calculs sur les périphériques et l'export vers le site bdpv (pour l'instant).
Pierre
Madoma73
 
Messages : 1440
Inscription : 16 Sep 2012
Localisation : 38

Re: Framework Eedomus

Messagepar Madoma73 » 23 Nov 2012 21:24

Djomo,
L'implementation du Google calendar est dans ma top liste :-), mais si tu me dis ce que tu veux, je peux aussi le mettre...
Sinon, je suis aussi preneur de ton code pour gérer la consigne du thermostat.
Pierre
Madoma73
 
Messages : 1440
Inscription : 16 Sep 2012
Localisation : 38

Re: Framework Eedomus

Messagepar DjMomo » 23 Nov 2012 22:34

Pour la gestion du thermostat dont je parle plus haut : cette fonction permet en fait de mémoriser dans un état la consigne de chauffage actuelle et lui affecter la valeur Hors-gel. Pourquoi ? Par exemple pour couper le chauffage lorsqu'on ouvre les fenêtres en hiver et ne pas chauffer pour rien. Dès que les fenêtres sont fermées, la consigne reprend sa valeur (précédemment stockée dans l'état) et le chauffage fonctionne de nouveau normalement, sans avoir à s'en préoccuper.

Le code (à mettre en forme s'il le faut) :
Code : Tout sélectionner
<?php
include ("eedomus-op.inc.php");
 
$eedomus = new eeDomus;
 
$eedomus->autoLoginInfo();

$p1 = $_GET['p1'];
$p2 = $_GET['p2'];

$p1_val = $eedomus->getPeriphValue($p1);
$p2_val = $eedomus->getPeriphValue($p2);

if ((strcmp(strtolower($p1_val),"hors-gel") == 0)
|| ((strcmp(trim($p1_val),"") == 0))   // Cas ou la variable n'est pas initialisée (première utilisation)
|| ($p1_val < 5))                  // Pas de valeur inférieure à 5°C
   $p1_val = 5;                  // Le hors-gel correspond à la valeur 5°C
else
   $p1_val = substr($p1_val,0,2);      // L'API renvoie l'unité (°C) et pas seulement la valeur pour la consigne de chauffage

if ((strcmp(strtolower($p2_val),"hors-gel") == 0)
|| ((strcmp(trim($p2_val),"") == 0))
|| ($p2_val < 5))
   $p2_val = 5;
else
   $p2_val = substr($p2_val,0,2);


$eedomus->setPeriphValue($p2, $p1_val);
$eedomus->setPeriphValue($p1, $p2_val);

?>


Avec p1 / p2 les id API de la consigne de chauffage et de "l'état mémoire". Etat qui est configuré comme nombre décimal.

Il vous reste alors à créer 2 règles qui appellent le même actionneur HTTP (et qui fait référence au code ci-dessus) en fonction des ouvertures et de la valeur de la consigne (afin de ne pas déclencher si le chauffage n'est pas activé).
Moi ? C'est Fabien
--------------------------------------------
Mon Github : http://www.github.com/DjMomo/
DjMomo
 
Messages : 1121
Inscription : 26 Sep 2012

Re: Framework Eedomus

Messagepar Madoma73 » 25 Nov 2012 23:30

J'ai ajouté dans le framework, un fichier ConfigCheck.php qui pour l'instant vérifie la présence des librairies au bon endroit mais qui à terme vérifiera la présence du fichier config.ini et la configuration de la base de données.

Je suis aussi en train de mettre en place une gestion de variables sauvegardées pour qu'on ne soit plus obliger de créer sans cesse des périphériques intermédiaires pour stocker des valeurs de calcul.
Pierre
Madoma73
 
Messages : 1440
Inscription : 16 Sep 2012
Localisation : 38

Re: Framework Eedomus

Messagepar Madoma73 » 29 Nov 2012 22:24

Release 0.3: intégration du code fourni par DjMomo (merci à lui) sous la forme suivante:

la fonction ConsigneSwitch permet de passer une consigne de chauffage sur hors-gel lors de son premier appel, puis de repasser la consigne à la valeur précédente (sauvegardée dans p2), lors d'un deuxième appel

Code : Tout sélectionner
http://<SERVERNAME>/op.php?function=ConsigneSwitch&p1=XXX&p2=XXX

-p1 est la consigne à switcher
-p2 est un état mémoire


post de la première page mis à jour pour refléter les changements
Pierre
Madoma73
 
Messages : 1440
Inscription : 16 Sep 2012
Localisation : 38

Re: Framework Eedomus

Messagepar Peedjy » 29 Nov 2012 22:37

Salut ppollet73

J’ai essayé d’installer le Framework eedomus sur un Raspberry-pi en utilisant la procédure Linux, mais j’ai quelques questions :
1) mettre les fichiers Library dans /var/phpIncludes --> Le répertoire phpIncludes n’existait pas je l’ai crée ? est ce nomal?
Est-ce que c’est les fichiers qu’il faut mettre a la racine de phpIncludes ou alors on peut mettre le répertoire Library complet dans phpInclude?

2) modifier le fichier php.ini pour ajouter: `include_path = ".:/usr/share/php:/var/phpIncludes"` Il ce trouve ou php.ini ?
3) mettre les fichiers www dans la racine web (typiquement /var/www) Ca, ça devrait être bon…
4) remplir le fichier config.ini avec quoi?

Est-ce qu’il y aurait un fichier index.html de base avec quelques exemples?

Merci d'avance...
Peedjy
 
Messages : 33
Inscription : 10 Août 2012
Localisation : Macon (71)

Re: Framework Eedomus

Messagepar Madoma73 » 29 Nov 2012 22:47

Salut Peedjy,
je vais essayer de répondre à tes questions dans l'ordre 8-)
1) oui, c'est normal que tu aies a le créer, il faut copier dedans le contenudu répertoire Library
2) tu peux essayer la commande: locate php.ini afin de le trouver
4) si tu décides dans un premier temps de ne pas créer de base mysql, tu peux laisser le fichier config.ini en l'état.
Pierre
Madoma73
 
Messages : 1440
Inscription : 16 Sep 2012
Localisation : 38

Re: Framework Eedomus

Messagepar Madoma73 » 03 Déc 2012 22:27

Release 0.4: Ajout d'une fonction de calcul de moyenne

la fonction Moyenne permet de calculer la moyenne d'un ensemble de devices puis de la stocker dans un device résultat

Code : Tout sélectionner
http://<SERVERNAME>/op.php?function=Moyenne&p1=XXX|YYY|ZZZ&p2=XXX

-p1 est la liste des code API des devices dont on veut calculer la moyenne, séparé par des |
-p2 est le device résultat


post de la première page mis à jour pour refléter les changements
Pierre
Madoma73
 
Messages : 1440
Inscription : 16 Sep 2012
Localisation : 38

Re: Framework Eedomus

Messagepar DjMomo » 04 Déc 2012 11:45

ppollet73 a écrit:Release 0.4: Ajout d'une fonction de calcul de moyenne

la fonction Moyenne permet de calculer la moyenne d'un ensemble de devices puis de la stocker dans un device résultat

Code : Tout sélectionner
http://<SERVERNAME>/op.php?function=Moyenne&p1=XXX|YYY|ZZZ&p2=XXX

-p1 est la liste des code API des devices dont on veut calculer la moyenne, séparé par des |
-p2 est le device résultat


post de la première page mis à jour pour refléter les changements


Une suggestion ou rester dans le principe du nommage des variables :
- remplacer p2 par pr (périphérique "résultat"),
- remplacer p1 par px (pour montrer qu'il n'y a pas qu'un seul périphérique).
Moi ? C'est Fabien
--------------------------------------------
Mon Github : http://www.github.com/DjMomo/
DjMomo
 
Messages : 1121
Inscription : 26 Sep 2012

Re: Framework Eedomus

Messagepar Madoma73 » 04 Déc 2012 14:57

tu as raison, ça me semble cohérent,
je corrige ce soir.
Pierre
Madoma73
 
Messages : 1440
Inscription : 16 Sep 2012
Localisation : 38

Re: Framework Eedomus

Messagepar Madoma73 » 04 Déc 2012 21:55

Salut,
la correction est faite et dispo sur GoogleCode,
j'en ai profité pour ajouter un fichier Zip qui contient l'ensemble du framework afin que ce soit plus simple que de télécharger les fichiers un par un ou de faire un checkout sur le svn.
Pierre
Madoma73
 
Messages : 1440
Inscription : 16 Sep 2012
Localisation : 38

Re: Framework Eedomus

Messagepar DjMomo » 08 Déc 2012 14:35

Salut,

Il semblerait que ton archive de la r26 soit corrompue. Je n'arrive pas à l'extraire.
Moi ? C'est Fabien
--------------------------------------------
Mon Github : http://www.github.com/DjMomo/
DjMomo
 
Messages : 1121
Inscription : 26 Sep 2012

Re: Framework Eedomus

Messagepar DjMomo » 08 Déc 2012 15:14

Pour une installation sur un Synology (et plus globalement sur un NAS), le plus simple est de mettre le dossier Library au même niveau que op.php, et de modifier les 3 include en
Code : Tout sélectionner
include ('./Library/utils.cls.php');
include ('./Library/eedomus.cls.php');
include ('./Library/bdpv.cls.php');


PHP ne fonctionnant pas de manière "classique" sur un Syno, c'est la méthode la plus simple à mettre à œuvre sans avoir à utiliser SSH pour aller créer le dossier qui va bien là où il faut.
Moi ? C'est Fabien
--------------------------------------------
Mon Github : http://www.github.com/DjMomo/
DjMomo
 
Messages : 1121
Inscription : 26 Sep 2012

Re: Framework Eedomus

Messagepar Madoma73 » 10 Déc 2012 11:29

DjMomo a écrit:Salut,

Il semblerait que ton archive de la r26 soit corrompue. Je n'arrive pas à l'extraire.


j'ai modifié le lien du premier post, en fait, selon la manière dont tu accèdes au fichier zip, il est déclaré invalide ou pas.
J'ai testé le lien que je viens de mettre à jour et celui-ci marche.
Pierre
Madoma73
 
Messages : 1440
Inscription : 16 Sep 2012
Localisation : 38

Re: Framework Eedomus

Messagepar Madoma73 » 10 Déc 2012 11:30

DjMomo a écrit:Pour une installation sur un Synology (et plus globalement sur un NAS), le plus simple est de mettre le dossier Library au même niveau que op.php....


Merci pour ces infos DjMomo, je mets à jour le wiki.
Pierre
Madoma73
 
Messages : 1440
Inscription : 16 Sep 2012
Localisation : 38

Re: Framework Eedomus

Messagepar DjMomo » 10 Déc 2012 11:54

Autre suggestion : faire des calculs binaires (ET, OU, NAND, NOR, NOT) sur plusieurs valeurs afin de faire de la logique sur des valeurs d'états d'équipements.

Par exemple, un OU binaire sur n détecteurs d'ouverture (valeur 0 pour fermé, 100 pour ouvert) permet de savoir si au moins une fenêtre est ouverte, et cela sans passer par une règle compliquée.

Faut passer par decbin et bindec pour la conversion avec PHP ;)
Moi ? C'est Fabien
--------------------------------------------
Mon Github : http://www.github.com/DjMomo/
DjMomo
 
Messages : 1121
Inscription : 26 Sep 2012

Re: Framework Eedomus

Messagepar Madoma73 » 10 Déc 2012 20:08

Salut,
J'ai commencé à regarder mais tant qu'à faire je regarde si il n'existe pas déjà des classe qui savent gérer des entrées du type (A et B) ou C.
Y à pas de raison de se limiter ;-)
Pierre
Madoma73
 
Messages : 1440
Inscription : 16 Sep 2012
Localisation : 38

Re: Framework Eedomus

Messagepar Madoma73 » 22 Déc 2012 23:42

Ajout dans le framework de la fonction pour calculer la température ressentie
Pierre
Madoma73
 
Messages : 1440
Inscription : 16 Sep 2012
Localisation : 38

PrécédentSuivant

Retour vers Requêtes HTTP

Qui est en ligne ?

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