Zibase et Openremote: quick&dirty tutorial

La solution OpenRemote pour intégrer sa domotique sur des écrans personnalisés (panels). OpenRemote est un logiciel Open Source qui utilisable avec la plupart de nos périphériques mobiles : Archos, Android, iOS, ...

Re: Zibase et Openremote: quick&dirty tutorial

Messagede thebest28 » 21 Sep 2012, 06:33

Je crois qu'un changement de nas s'impose car j'ai du pollin sur 8 lampes toutes les 5s et mon serveur sature deja ( un readynas duo) du coup c'est moin reactif qu'avec le soft zodianet :( il n'y a pas moyen pour les lampes de ne faire qu'une seule requette apres x temps juste apres une action sur un switch?
_________________
RF 642 / 4 detect mvt CH54503 chacon /
detect mvt exterieur chacon / VISONIC - NEXTK985MCW / douille coco / cod18 / sd18
1 télécommande kr18 / dio chacon / 5 prise chacon 3500W / 3 tyxia delta dore 461 / 3 module ON/OFF chacon 1000W / sirène FOCUS MD-214R / 2 oregon scientific THGR810
/ cam edimax 7010ptz / itach ir wifi / logiciel HC-SKIPPER / Zibase / Roomba 780
thebest28
Dieu de domotique
 
Messages: 1261
Inscription: 20 Juil 2011, 14:16
Localisation: Liège

Re: Zibase et Openremote: quick&dirty tutorial

Messagede Guillaume.C » 21 Sep 2012, 07:35

thebest28 a écrit:Je crois qu'un changement de nas s'impose car j'ai du pollin sur 8 lampes toutes les 5s et mon serveur sature deja ( un readynas duo) du coup c'est moin reactif qu'avec le soft zodianet :( il n'y a pas moyen pour les lampes de ne faire qu'une seule requette apres x temps juste apres une action sur un switch?


Salut, c'est le problème avec OR, c'est super mais gourmand en ressources, c'est surtout Java en l'occurence. Après ce que tu décrit est quand même bizarre, c'est un vieux NAS ?
il n'y a pas moyen pour les lampes de ne faire qu'une seule requete apres x temps juste apres une action sur un switch?


Alors là bonne question, si c'est possible ca sera du coté des Rules, et bonjour le script, d'autant que le language de Drools est pas facile à manier.

By the way quand tu auras fini ton interface Zor, ca serait sympa si tu pouvais la présenter dans un article sur blog.domo-base.tk , pour amener un exemple concret sur la couche des tutoriaux, si bien sur ça te branche...

Guillaume
Avatar de l’utilisateur
Guillaume.C
Dieu de domotique
 
Messages: 202
Inscription: 29 Aoû 2010, 08:05
Localisation: Paris

Re: Zibase et Openremote: quick&dirty tutorial

Messagede Guillaume.C » 21 Sep 2012, 07:39

paceo a écrit:@thebest28
Merci pour ton aide :wink:
Je m'étais aussi intéressé au SDK et je pense aussi que les syntaxes en rouge sont une piste mais je ne m'y connais pas suffisamment non plus...
Si une âme charitable et inspirée passe par là... :mrgreen:


Hello,

Tu as eu un retour d'info sur le polling Zwave ? Ca m'interesse comme ça je publie la méthode et ça profite à tout le monde. ;)

Guillaume
Avatar de l’utilisateur
Guillaume.C
Dieu de domotique
 
Messages: 202
Inscription: 29 Aoû 2010, 08:05
Localisation: Paris

Re: Zibase et Openremote: quick&dirty tutorial

Messagede thebest28 » 21 Sep 2012, 09:06

Guillaume.C a écrit:
thebest28 a écrit:Je crois qu'un changement de nas s'impose car j'ai du pollin sur 8 lampes toutes les 5s et mon serveur sature deja ( un readynas duo) du coup c'est moin reactif qu'avec le soft zodianet :( il n'y a pas moyen pour les lampes de ne faire qu'une seule requette apres x temps juste apres une action sur un switch?


Salut, c'est le problème avec OR, c'est super mais gourmand en ressources, c'est surtout Java en l'occurence. Après ce que tu décrit est quand même bizarre, c'est un vieux NAS ?
il n'y a pas moyen pour les lampes de ne faire qu'une seule requete apres x temps juste apres une action sur un switch?


Alors là bonne question, si c'est possible ca sera du coté des Rules, et bonjour le script, d'autant que le language de Drools est pas facile à manier.

By the way quand tu auras fini ton interface Zor, ca serait sympa si tu pouvais la présenter dans un article sur blog.domo-base.tk , pour amener un exemple concret sur la couche des tutoriaux, si bien sur ça te branche...

Guillaume


Le readynas duo de netgear commence a vieillir oui , et la ou je pense que ca coince avec mon nas ce sont les multirequettes dans un meme temps , comme pour les accés au nas avec un pc ou il n'y a pas de soucis mais si 2 personnes viennent dessus en meme temps , les temps d'ecriture et de lecture chutes. (bientot noel , synology???? :) )

Je veux bien mettre un petit article mais c'est loin d'etre fini donc on va dire que ca va etre un article beta lol

Hélas je n'aurais pas le temps de me plonger dans les Rules ou d'apprendre le language de drools ( jeune papa de 37 ans qui n'a plus le temps de rien lol ).

Pas encore de solution pour le zwave , je creuve encore mais encore du manque de temps lol
j'arrive tout de meme à recuperer les infos de mes capteurs pour l'état des piles a l'aide d 'un php que j'ai modifié (qui n'est pas de moi dont je remercie la personne mais je ne sais plus qui) donc on arrive a reconnaitre un declenchement d'un capteur zwave (En ON dans mon cas mais on peux le faire aussi pour un OFF) et de la on pourrais envoyer l'info a un xml comme pour les lampes pour l'utiliser avec openremote???


le voici avec les zwave en rouge:

<?php
/*
* Exemple d'utilisation du SDK PHP Zibase
* Auteur : Benjamin GAREL
* Mars 2011
*/

require_once("ZiBase.php");

# Adresse IP de la zibase (à remplacer)
#$zibaseIP = "192.168.1.XX";
$zibase = new ZiBase("192.168.1.XX");

$alerte=0;
$dateporteentree = $zibase->getZwaveSensorInfo("24", "ON");
$dateportecuisine = $zibase->getZwaveSensorInfo("25", "ON");
$datefenetrezcuisine = $zibase->getZwaveSensorInfo("27", "ON");

$datefenetrecuisine = $zibase->getSensorInfo("CS3219126232");
$datefenetreavant = $zibase->getSensorInfo("CS237587609");
$dateportegarage = $zibase->getSensorInfo("CS195948185");
$dateexterieur = $zibase->getSensorInfo("C10");
$datepasconnecter = $zibase->getSensorInfo("CS220976537");
$dateetage = $zibase->getSensorInfo("CS220890265");
$datemilieugarage = $zibase->getSensorInfo("CS89710489");
#VS3219126232
#CS89710489
if ($dateporteentree[3]>0)
{
$alerte=1;
echo "Pile du detecteur porte d'entrée : à changer </br>";

}
else
{
echo "Pile du detecteur porte d'entrée : ok </br>";
}
if ($dateportecuisine[3]>0)
{
$alerte=1;
echo "Pile du detecteur porte cuisine : à changer </br>";
}
else
{
echo "Pile du detecteur porte cuisine : ok </br>";
}
if ($datefenetrezcuisine[3]>0)
{
$alerte=1;
echo "Pile du detecteur zwave fenetre cuisine : à changer </br>";
}
else
{
echo "Pile du detecteur zwave fenetre cuisine : ok </br>";
}
if ($datefenetrecuisine[3]>0)
{
$alerte=1;
echo "Pile du detecteur fenetre cuisine : à changer </br>";
}
else
{
echo "Pile du detecteur fenetre cuisine : ok </br>";
}
if ($datefenetreavant[3]>0)
{
$alerte=1;
echo "Pile du detecteur fenetre avant : à changer </br>";
}
else
{
echo "Pile du detecteur fenetre avant : ok </br>";
}
if ($dateportegarage[3]>0)
{
$alerte=1;
echo "Pile du detecteur Porte garage : à changer </br>";
}
else
{
echo "Pile du detecteur Porte garage : ok </br>";
}
if ($dateexterieur[3]>0)
{
$alerte=1;
echo "Pile du detecteur Exterieur : à changer </br>";
}
else
{
echo "Pile du detecteur Exterieur : ok </br>";
}
if ($datepasconnecter[3]>0)
{
$alerte=1;
echo "Pile du detecteur pas connecter : à changer </br>";
}
else
{
echo "Pile du detecteur pas connecter : ok </br>";
}
if ($dateetage[3]>0)
{
$alerte=1;
echo "Pile du detecteur etage : à changer </br>";
}
else
{
echo "Pile du detecteur etage : ok </br>";
}
if ($datemilieugarage[3]>0)
{
$alerte=1;
echo "Pile du detecteur milieu garage : à changer </br>";
}
else
{
echo "Pile du detecteur milieu garage : ok </br>";
}

#echo "batterie : ". $datefenetrecuisineon[3] . "<br/>";

if ($alerte>0)
{
$zibase->execScript("lm [pile detect]");


}
else
{

echo "Piles OK </br>";
}

?>

et il faut rajouter cette fonction ci dessous dans le fichier Zibase.php du sdk :



public function getZwaveSensorInfo($sensorAddress, $OnOff) {
$url = "http://" . $this->ip . "/sensors.xml";
$handle = fopen($url, "rb");
$xmlContent = stream_get_contents($handle);
fclose($handle);

$number = ((ord($sensorAddress[0]) - 0x41)*16) + (intval(substr($sensorAddress, 1)) - 1);
$type = "ZW_" . strtoupper($OnOff);

$xmlDoc = simplexml_load_string($xmlContent);
/* $node = $xmlDoc->xpath("//ev[@id='".$number."' and @pro='".$type."']"); */
$node = $xmlDoc->xpath("//ev[@id='".$sensorAddress."' and @pro='".$type."']");
if ($node != null && $node[0]) {
$info = array();
date_default_timezone_set($this->timeZone);
$dateSensor = new DateTime();
$attributes = $node[0]->attributes();
echo $attributes;

//date_timestamp_set($dateSensor, intval($attributes["gmt"]));
$dateSensor->setDate(date("Y", intval($attributes["gmt"])), date("m", intval($attributes["gmt"])), date("d", intval($attributes["gmt"])));
$dateSensor->setTime(date("H", intval($attributes["gmt"])), date("i", intval($attributes["gmt"])), date("s", intval($attributes["gmt"])));
$info[0] = $dateSensor;
$info[1] = intval($attributes["v1"]);
$info[2] = intval($attributes["v2"]);
$info[3] = intval($attributes["lowbatt"]);
return $info;
}
else
return null;
}
_________________
RF 642 / 4 detect mvt CH54503 chacon /
detect mvt exterieur chacon / VISONIC - NEXTK985MCW / douille coco / cod18 / sd18
1 télécommande kr18 / dio chacon / 5 prise chacon 3500W / 3 tyxia delta dore 461 / 3 module ON/OFF chacon 1000W / sirène FOCUS MD-214R / 2 oregon scientific THGR810
/ cam edimax 7010ptz / itach ir wifi / logiciel HC-SKIPPER / Zibase / Roomba 780
thebest28
Dieu de domotique
 
Messages: 1261
Inscription: 20 Juil 2011, 14:16
Localisation: Liège

Re: Zibase et Openremote: quick&dirty tutorial

Messagede paceo » 21 Sep 2012, 09:52

Guillaume.C a écrit:Hello,

Tu as eu un retour d'info sur le polling Zwave ? Ca m'interesse comme ça je publie la méthode et ça profite à tout le monde. ;)


J'ai envoyé un mail à Zodianet ce matin, je te tiens au courant si j'ai une réponse de leur part :wink:

paceo a écrit:
Je ne suis pas encore sur Syno (je dois toujours me décider entre un 212 et un 212-J :mrgreen: )


Je viens finalement de passer commande pour un syno DS-213 :mrgreen:
<| ZiBase 2| Karotz | Kira128 | Light Manager | Chacon | Zwave | Oregon Scientific | Logitech Harmony 900 | Synology | Calybox 220 | Edimax | OWL | OpenRemote |>
Avatar de l’utilisateur
paceo
Guru de domotique
 
Messages: 140
Inscription: 11 Mai 2012, 16:55
Localisation: Istres, FRANCE

Re: Zibase et Openremote: quick&dirty tutorial

Messagede Guillaume.C » 21 Sep 2012, 10:00

e viens finalement de passer commande pour un syno DS-213 :mrgreen:


Cool, c'est ce que j'aurais du prendre pour herberger OR :roll:

guillaume
Avatar de l’utilisateur
Guillaume.C
Dieu de domotique
 
Messages: 202
Inscription: 29 Aoû 2010, 08:05
Localisation: Paris

Re: Zibase et Openremote: quick&dirty tutorial

Messagede thebest28 » 21 Sep 2012, 10:07

paceo a écrit:
Guillaume.C a écrit:Hello,

Tu as eu un retour d'info sur le polling Zwave ? Ca m'interesse comme ça je publie la méthode et ça profite à tout le monde. ;)


J'ai envoyé un mail à Zodianet ce matin, je te tiens au courant si j'ai une réponse de leur part :wink:

paceo a écrit:
Je ne suis pas encore sur Syno (je dois toujours me décider entre un 212 et un 212-J :mrgreen: )


Je viens finalement de passer commande pour un syno DS-213 :mrgreen:


Tu me dira si ca tourne bien ce nas que je puisse l'inscrire sur ma liste pour noel :)
_________________
RF 642 / 4 detect mvt CH54503 chacon /
detect mvt exterieur chacon / VISONIC - NEXTK985MCW / douille coco / cod18 / sd18
1 télécommande kr18 / dio chacon / 5 prise chacon 3500W / 3 tyxia delta dore 461 / 3 module ON/OFF chacon 1000W / sirène FOCUS MD-214R / 2 oregon scientific THGR810
/ cam edimax 7010ptz / itach ir wifi / logiciel HC-SKIPPER / Zibase / Roomba 780
thebest28
Dieu de domotique
 
Messages: 1261
Inscription: 20 Juil 2011, 14:16
Localisation: Liège

Re: Zibase et Openremote: quick&dirty tutorial

Messagede Guillaume.C » 21 Sep 2012, 10:24

$info[3] = intval($attributes["lowbatt"]);


Alors ça c'est très bien vu, tu peux remercier l'auteur, rajouté aux autres fonction GetSensorInfo ça permet de controler toutes les batteries en un seul script c'est vraiment pas mal

guillaume
Avatar de l’utilisateur
Guillaume.C
Dieu de domotique
 
Messages: 202
Inscription: 29 Aoû 2010, 08:05
Localisation: Paris

Re: Zibase et Openremote: quick&dirty tutorial

Messagede thebest28 » 21 Sep 2012, 12:42

Guillaume.C a écrit:
$info[3] = intval($attributes["lowbatt"]);


Alors ça c'est très bien vu, tu peux remercier l'auteur, rajouté aux autres fonction GetSensorInfo ça permet de controler toutes les batteries en un seul script c'est vraiment pas mal

guillaume


Heu je pense que c'etait deja dans le getsensorinfo , je ne pense pas l'avoir rajouté a moin que j'ai oublié que je l'ai fait et la ca m'inquiete , je vais consulter mon medecin lol
_________________
RF 642 / 4 detect mvt CH54503 chacon /
detect mvt exterieur chacon / VISONIC - NEXTK985MCW / douille coco / cod18 / sd18
1 télécommande kr18 / dio chacon / 5 prise chacon 3500W / 3 tyxia delta dore 461 / 3 module ON/OFF chacon 1000W / sirène FOCUS MD-214R / 2 oregon scientific THGR810
/ cam edimax 7010ptz / itach ir wifi / logiciel HC-SKIPPER / Zibase / Roomba 780
thebest28
Dieu de domotique
 
Messages: 1261
Inscription: 20 Juil 2011, 14:16
Localisation: Liège

Re: Zibase et Openremote: quick&dirty tutorial

Messagede freedomotic » 23 Sep 2012, 14:30

bonjour
est possible d'obtenir l'adresse (A3, P5, etc) x10 à partir de la valeur id = "" dans <evr>?
par exemple dans
<ev type="4" pro="X10_ON" id="197" gmt="1347299960" v1="0" v2="47" lowbatt="0"/>
ce qui correspond à 197?
merci
Freedomotic Open IoT Framework
http://www.freedomotic.com
@Freedomotic
Avatar de l’utilisateur
freedomotic
Membre Actif
 
Messages: 26
Inscription: 20 Aoû 2012, 15:10
Localisation: Italy

Re: Zibase et Openremote: quick&dirty tutorial

Messagede Guillaume.C » 23 Sep 2012, 15:32

freedomotic a écrit:bonjour
est possible d'obtenir l'adresse (A3, P5, etc) x10 à partir de la valeur id = "" dans <evr>?
par exemple dans
<ev type="4" pro="X10_ON" id="197" gmt="1347299960" v1="0" v2="47" lowbatt="0"/>
ce qui correspond à 197?
merci


Hello, je ne comprends pas très bien ta question.
Si tu veux récupérer la valeur de cette ligne, le chemin xpath sera
Code: Tout sélectionner
//evs/ev[@id='197']/@v1 ou @v2


Si tu veux récupérer la valeur de id donc 197 , il faudra quand même spécifier a xpath un endroit ou chercher pour identifier la ligne en question dans le xml, sur une valeur par exemple donc
Code: Tout sélectionner
//evs/ev[@v1='0']/@id


Guillaume
Avatar de l’utilisateur
Guillaume.C
Dieu de domotique
 
Messages: 202
Inscription: 29 Aoû 2010, 08:05
Localisation: Paris

Re: Zibase et Openremote: quick&dirty tutorial

Messagede freedomotic » 23 Sep 2012, 16:08

désolé pour le mauvais français,
la situation est la suivante: si j'ai un appareil X10 avec addresse A3, in sensors.xml est représentée par un id = "xyz"
cette id = "xyz" comment puis-je revenir à A3
En d'autres termes, connaître l'adresse (A3) X10 comment puis-je localiser l'appareil dans sensor.xml?
J'espère être clair, merci
Freedomotic Open IoT Framework
http://www.freedomotic.com
@Freedomotic
Avatar de l’utilisateur
freedomotic
Membre Actif
 
Messages: 26
Inscription: 20 Aoû 2012, 15:10
Localisation: Italy

PrécédenteSuivante

Retourner vers OpenRemote

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

Copyright © 2011 - Touteladomotique.com - Tous droits réservés
Les blogs partenaires : Abavala, Domo-Blog, Domotique34, Maison et Domotique