Imperihome

HoMIDoM est la fusion du projet de sebhome et davidinfo. C'est un projet libre de domotique qui est né de l'association des projets Domos et E-Home.
Cette section vous permet de discuter directement avec les créateurs de ce logiciel libre.

Modérateur: HoMIDoM

Imperihome

Messagede fab0030 » 10 Juin 2015, 11:59

Bonjour,
Je ne suis pas informaticien, encore moins développeur.
Mais j'ai réussi à interfacer imperihome avec homidom.
Ca nécessite quelques bidouilles (pas très compliquées), ce n'est surement pas trés propre et encore moins automatique (pour récuperer les devices) mais ca fonctionne (lecture de capteurs, retours d'info de switchs, passage de commande switch)!
Est ce que certains d'entre vous l'ont déjà fait?
Si d'autres le souhaitent je peux faire un topo sur le sujet.
Fab
fab0030
Membre Actif
 
Messages: 46
Inscription: 21 Nov 2013, 21:28

Re: Imperihome

Messagede pchatill » 10 Juin 2015, 22:00

Bonsoir fab!
Je suis très intéressé par ta solution.
Je suis preneur pour le topo.
Merci d'avance.
Patrick
pchatill
Dieu de domotique
 
Messages: 219
Inscription: 12 AoĂ» 2013, 15:40

Re: Imperihome

Messagede fab0030 » 11 Juin 2015, 12:12

Pour utiliser Imperihome :

J'utilise Wamp server. Il faut le paramétrer pour lire les fichiers "sans extension" :
Dans le fichier C:\wamp\bin\apache\apache2.4.9\conf\httpd.conf : ajouter MultiViews Ă  la ligne Option (environ ligne 265)

Toujours sous wamp dans le dossier www créer un dossier imperihome (par exemple!)

A l'adresse suivante : http://www.imperihome.com/apidoc/systemapi/demo/
RĂ©cuperer les fichiers :
action_ret
histo
rooms
system

Et les coller dans votre dossier www\imperihome

Toujours dans ce même dossier créer un fichier devices (sans extension), fichier de type php. Je conseille l'utilisation de notepad++.

Dans ce fichier devices coller :
Code: Tout sélectionner
<?php

($tempgarage = file_get_contents("http://192.168.1.100:7999/api/123456789/value/device/aaed77b5-a2ea-4aff-b37f-xxxxxxxxxx/Value"));
($humigarage = file_get_contents("http://192.168.1.100:7999/api/123456789/value/device/b530e999-c328-4c82-8aec-xxxxxxxxxx/Value"));
($detecgarage = file_get_contents("http://192.168.1.100:7999/api/123456789/value/device/233b4d1c-b3ba-4a60-bfe0-xxxxxxxxxx/Value"));
($voletethan = file_get_contents("http://192.168.1.100:7999/api/123456789/value/device/52aa2fff-6e5c-4295-a55c-xxxxxxxxxx/Value")); //retour d'Ă©tat volet

$adresse = "http://".$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]; //test l'url entrante
$_SESSION['adresse'] = $adresse;

if ($adresse === "http://192.168.1.100/imperihome/devices/dev02/action/setLevel/0") {
  $handle = fopen("http://192.168.1.100:7999/api/123456789/command/device/af554ab0-4302-417f-a537-xxxxxxxxx/off", "r");
} //fermeture volets

if ($adresse === "http://192.168.1.100/imperihome/devices/dev02/action/setLevel/100") {
  $handle = fopen("http://192.168.1.100:7999/api/123456789/command/device/af554ab0-4302-417f-a537-xxxxxxxxxx/on", "r");
} //ouverture volets

echo ("{
  \"devices\": [
    {
      \"id\" : \"dev01\",
      \"name\" : \"Temperature garage\",
      \"type\" : \"DevTemperature\",
      \"room\" : \"roomID1\",
      \"params\" : [
        {
          \"key\" : \"Value\",
          \"value\" : $tempgarage,
          \"unit\" : \"°C\",
             \"graphable\" : true
        }
      ]
    },
{
      \"id\" : \"dev02\",
      \"name\" : \"Volet chambre Ethan\",
      \"type\" : \"DevShutter\",
      \"room\" : \"roomID1\",
      \"params\" : [
        {
          \"key\" : \"Level\",
          \"value\" : $voletethan
        }
      ]
    },
       {
      \"id\" : \"dev03\",
      \"name\" : \"Humidite garage\",
      \"type\" : \"DevHygrometry\",
      \"room\" : \"roomID1\",
      \"params\" : [
        {
          \"key\" : \"Value\",
          \"value\" : $humigarage,
          \"unit\" : \"%\",
             \"graphable\" : true
        }
      ]
    },

      {
      \"id\" : \"dev04\",
      \"name\" : \"Detection mouvement garage\",
      \"type\" : \"DevMotion\",
      \"room\" : \"roomID1\",
      \"params\" : [
        {
          \"key\" : \"Armed\",
          \"value\" : \"0\"
        },
      {
          \"key\" : \"Tripped\",
          \"value\" : $detecgarage
        },
      {
        \"key\" : \"lasttrip\",
        \"value\" : 1404762161000
      }
      ]
    }
  ]
}");

?>


Il vous faut ensuite adapter Ă  votre sauce, remplacer les adresses IP par celle de votre serveur homidom et serveur wamp (chez moi mĂŞme PC), remplacer les id des devices homidom.
Vous pouvez remplacer / ajouter autant de devices que vous voulez en incrémentant les id dev04, dev05,.....dans echo
La récupération des valeurs se fait par les lignes type : $tempgarage = file_get_contents("http://192.168.1.100:........
Il faut adapter le nom du $..... que vous avez choisi dans la ligne \"value\" du device concerné.
Les commandes se font par les lignes if......en ajouter autant que de switch ou autre...modifier le numéro du device dev02 pour l adapter à celui déclaré dans echo
Il faut juste respecter scrupuleusement la façon "d'écrire" les devices dans l'"echo", pour les exemples de devices dispo et l'écriture :
http://www.imperihome.com/apidoc/systemapi/demo/devices.json


Ensuite sur votre appli imperihome :
paramètres
Mes systèmes
Ajouter un système
Choisir Imperihome Standard System
Entrer l'adresse de votre serveur : ex dans mon cas : http://192.168.1.100/imperihome
suivant et ca doit fonctionner !!

Fabien
fab0030
Membre Actif
 
Messages: 46
Inscription: 21 Nov 2013, 21:28

Re: Imperihome

Messagede pchatill » 12 Juin 2015, 08:55

Merci pour ton tuto!
J'avais demandé il y a quelques temps sur ce forum si il y avait moyen de faire dialoguer Homidom et l'API Imperihome.
Grace a toi, cela est fait! Cela va m'etre bien utile, surtout qu'imperihome sera bientot compatible IOS.

Cela dit pour l'instant, je n'arrive a rien.
D'abord, je ne vois pas comment telecharger les fichiers sur http://www.imperihome.com/apidoc/systemapi/demo/
Je les ai ouvert et fait un copier/coller. Cela devrait etre pareil ...
Ensuite quand j'ajoute un systeme dans imperihome, j'ai : impossible de se connecter: veuillez verifier vos parametres.
Il y a t-il quelque chose a modifier dans les lignes:
$adresse = "http://".$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]; //test l'url entrante
$_SESSION['adresse'] = $adresse;

PS: moi non plus je ne suis pas informaticien: Et meme bien moins que toi on dirait !!
pchatill
Dieu de domotique
 
Messages: 219
Inscription: 12 AoĂ» 2013, 15:40

Re: Imperihome

Messagede fab0030 » 12 Juin 2015, 12:03

Bonjour,

D'abord, je ne vois pas comment telecharger les fichiers sur http://www.imperihome.com/apidoc/systemapi/demo/ : tu fais un clique droit sur chaque fichiers puis Enregistrer la cible sous... et tu choisis oĂą tu veux l enregistrer.

Code: Tout sélectionner
$adresse = "http://".$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]; //test l'url entrante
$_SESSION['adresse'] = $adresse;

Ne pas modifier ces lignes, elles servent à récupérer l'URI que l'appli imperihome envoie quand on passe une commande.

ex : http://192.168.1.100/imperihome/devices/dev02/action/setLevel/0 a été envoyé par imperihome pour passer le level à 0 du device dev02
Autre exemple si dans echo j avais déclaré un volet roulant sous l'id dev99 la commande ouverture, par exemple, envoyée par imperihome et reçue sur le serveur serait :
http://192.168.1.100/imperihome/devices/dev99/action/setLevel/100

Il faut donc pour chaque actionneur ajouter des lignes : (exemple si j avais déclaré un dev99 - et modifier l'ip homidom xxxxxx:7999 et l'id du device correspondant dans homidom)
Code: Tout sélectionner
if ($adresse === "http://192.168.1.100/imperihome/devices/dev99/action/setLevel/0") {
  $handle = fopen("http://192.168.1.100:7999/api/123456789/command/device/af554ab0-4302-417f-a537-xxxxxxxxx/off", "r");
}


Récupéres quand même le fichier devices.json à l'adresse http://www.imperihome.com/apidoc/systemapi/demo/ en le conservant ailleurs que sur ton serveur wamp pour voir comment doivent être écrit les devices et ceux qui t interessent pour ajouter. Il y en a pas mal, compteur élec, détecteur fumée,....

Fabien
fab0030
Membre Actif
 
Messages: 46
Inscription: 21 Nov 2013, 21:28

Re: Imperihome

Messagede PAT5659 » 16 Juin 2015, 08:54

bonjour,

Ne m'étant que très peu intéressé a l'appli imperihome, j avais téléchargé sur ma tablette la version démo mais je la trouvais trop restrictive a quelques applications aussi en découvrant ce tuto interessant ! mon intéret se trouve donc relancé pour l'utilisation avec HOMIDOM via un serveur PHP

Pas de soucis coté PHP mais plutôt du coté imperihome, j'ai acheté la version pro 2.0.10 la seule proposée sur le "play store" et surprise ISS n’apparaît pas dans cette version dans" ajouter un système" par contre celle-ci semblerait etre présente sur la version 2.2 mais elle n'est pas proposée sur le site ni sur google play

d'ou mes question


Peut on implémenter ISS sur une version 2.0.1.0 ?
la version standard imperihome 2.2?

Merci par avance

Pat
Sysyème domotique:Homidom,Homiwpf,Sarah,
2 Arduino méga avec expandeurs MCP23017 , arduino dueminalove,système chauffage Deltadore
5 sondes de température Dallas sur bus Onwire ,téléinformation , 8 modules 16 E/S sur bus I2C
8 commandes volets roulants piloté en RF433 (fabrication maison)
15 commandes Ă©clairage
Esp8266 01 Esp8266 12 ,sondes Lacrosse V2
Impérihome,Rflink
PAT5659
P'tit Dieu de domotique
 
Messages: 152
Inscription: 22 Sep 2014, 08:22

Re: Imperihome

Messagede PAT5659 » 16 Juin 2015, 15:30

Mon probleme est résolu,je pensais naïvement que la version lite se mettait a jour avec la version pro mais il n'en est rien il faut donc retelecharger la version lite , c'est curieux tout de même que les dev n'aient pas prévu un update auto en cas de migration de version !mais bon il ne me reste plus qu'a tester
Sysyème domotique:Homidom,Homiwpf,Sarah,
2 Arduino méga avec expandeurs MCP23017 , arduino dueminalove,système chauffage Deltadore
5 sondes de température Dallas sur bus Onwire ,téléinformation , 8 modules 16 E/S sur bus I2C
8 commandes volets roulants piloté en RF433 (fabrication maison)
15 commandes Ă©clairage
Esp8266 01 Esp8266 12 ,sondes Lacrosse V2
Impérihome,Rflink
PAT5659
P'tit Dieu de domotique
 
Messages: 152
Inscription: 22 Sep 2014, 08:22

Re: Imperihome

Messagede pchatill » 16 Juin 2015, 17:23

Ca y est, J'ai un peu galéré, mais ça fonctionne chez moi!!
Il faut bien penser a enlever les extensions des fichiers action_ret, histo, rooms ,system.
Et d'enregistrer le fichier devices avec un type php!

Un grand merci Ă  Fabien!
pchatill
Dieu de domotique
 
Messages: 219
Inscription: 12 AoĂ» 2013, 15:40

Re: Imperihome

Messagede MathPan » 16 Juin 2015, 20:12

Bonjour,

Je m’émisse dans la conversation juste pour vous dire que vous pouvez également interfacer HoMIDoM et ImperiHome avec Sarah comme passerelle (pour ceux qui utilise déjà Sarah ou pour les autres qui souhaite découvrir Sarah).
Il suffit dans Sarah d'utiliser les plugin: HoMIDoM et ImperiRemote.
Du coup vous m'avez mis l'eau a la bouche avec ImperiHome (que je ne m'étais jamais intéressé) et ayant Sarah et n'étant pas adepte de Wamp, je vais me lancer.

Mathieu
HoMIDoM- Le système complet et gratuit de domotique pour la maison
ModbusTCP avec automates WAGO pour gestion Ă©clairage, prise, VMCDF, Chauffage elec, volet de toute la maison
RFXtrx pour gestion des télécommandes, des sondes et pinces ampèremétrique
Téléinfo EDF - Station Netatmo - Thermostat et détecteur Nest
Client Imperihome - HoMIWpf - SARAH - IFTTT - RPI avec KODI - GoogleCalendar
Avatar de l’utilisateur
MathPan
Guru de domotique
 
Messages: 124
Inscription: 16 AoĂ» 2012, 16:14

Re: Imperihome

Messagede fab0030 » 16 Juin 2015, 21:16

Effectivement la version PRO est simplement un "unlocker". C'est bien la version lite qui fallait re-telecharger
fab0030
Membre Actif
 
Messages: 46
Inscription: 21 Nov 2013, 21:28

Re: Imperihome

Messagede PAT5659 » 17 Juin 2015, 10:09

Bonjour,

Après de nonbreux essais ,je ne parviens pas a afficher les devices sur imperihome toujours le meme message: domoessais ( mperihome standard system): iss: could not get devices infos

les fichiers :action_ret,histo,rooms ,system sont bien sans extension y compris le fichier device modifié avec les valeurs Homidom sous format PHP que j'ai testé sans aucune erreur erreur il remonte bien les infos HOMIDOM

pour l'instant ce fichier ci dessous ne comporte que des sondes de température!


<?php

($tempcuisine = file_get_contents("http://192.168.1.97:7999/api/123456789/value/device/e4302cee-9d72-44b1-8581-ec6e0664fecb/Value"));
($tempext = file_get_contents("http://192.168.1.97:7999/api/123456789/value/device/ad577adb-babd-4ff8-984e-b7275543a576/Value"));
($tempsalon = file_get_contents("http://192.168.1.97:7999/api/123456789/value/device/8777fa3b-aad8-4223-aeb5-b059ac105a01/Value"));
($tempchambre = file_get_contents("http://192.168.1.97:7999/api/123456789/value/device/aca601b1-74d1-4530-9750-76c194fc3f5f/Value"));

$adresse = "http://".$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]; //test l'url entrante
$_SESSION['adresse'] = $adresse;

//if ($adresse === "http://192.168.1.97:800/imperihome/devices/dev04/action/setLevel/0") {
// $handle = fopen("http://192.168.1.97:7999/api/123456789/command/device/af554ab0-4302-417f-a537-xxxxxxxxx/off", "r");
//} //fermeture volets

//if ($adresse === "http://192.168.1.97:800/imperihome/devices/dev04/action/setLevel/100") {
//$handle = fopen("http://192.168.1.97:7999/api/123456789/command/device/af554ab0-4302-417f-a537-xxxxxxxxxx/on", "r");
//} //ouverture volets

echo ("{
\"devices\": [
{
\"id\" : \"dev01\",
\"name\" : \"Temperature cuisine\",
\"type\" : \"DevTemperature\",
\"room\" : \"roomID2\",
\"params\" : [
{
\"key\" : \"Value\",
\"value\" : $tempcuisine,
\"unit\" : \"°C\",
\"graphable\" : true
}
]
},
{
\"id\" : \"dev02\",
\"name\" : \"temperature chambre\",
\"type\" : \"DevTemperature\",
\"room\" : \"roomID1\",
\"params\" : [
{
\"key\" : \"Value\",
\"value\" : $tempchambre,
\"unit\" : \"°C\",
\"graphable\" : true
}
]
},
{
\"id\" : \"dev03\",
\"name\" : \"temperature exterieure\",
\"type\" : \"DevTemperature\",
\"room\" : \"roomID1\",
\"params\" : [
{
\"key\" : \"Value\",
\"value\" : $tempext,
\"unit\" : \"°C\",
\"graphable\" : true
}
]
}


]

}");


?>


Multiviews a bien été ajouté a Option dans httpd.conf

la je sèche

Un petit coup de main serait le bienvenu

Merci par avance
Pat
Sysyème domotique:Homidom,Homiwpf,Sarah,
2 Arduino méga avec expandeurs MCP23017 , arduino dueminalove,système chauffage Deltadore
5 sondes de température Dallas sur bus Onwire ,téléinformation , 8 modules 16 E/S sur bus I2C
8 commandes volets roulants piloté en RF433 (fabrication maison)
15 commandes Ă©clairage
Esp8266 01 Esp8266 12 ,sondes Lacrosse V2
Impérihome,Rflink
PAT5659
P'tit Dieu de domotique
 
Messages: 152
Inscription: 22 Sep 2014, 08:22

Re: Imperihome

Messagede PAT5659 » 17 Juin 2015, 11:17

je me réponds a moi meme ,en fait il faut bien garder l'extension PHP au fichier devices et cela fonctionne ,ce qui m a mis en erreur c'est la ligne du tuto de fab0030 :

"Toujours dans ce même dossier créer un fichier devices (sans extension), fichier de type php."

et si j'avais bien lu le post de Pchatill j'aurais compris mon erreur

En tout cas merci pour ce tuto qui fonctionne !
Sysyème domotique:Homidom,Homiwpf,Sarah,
2 Arduino méga avec expandeurs MCP23017 , arduino dueminalove,système chauffage Deltadore
5 sondes de température Dallas sur bus Onwire ,téléinformation , 8 modules 16 E/S sur bus I2C
8 commandes volets roulants piloté en RF433 (fabrication maison)
15 commandes Ă©clairage
Esp8266 01 Esp8266 12 ,sondes Lacrosse V2
Impérihome,Rflink
PAT5659
P'tit Dieu de domotique
 
Messages: 152
Inscription: 22 Sep 2014, 08:22

Suivante

Retourner vers Logiciel - HoMIDoM

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