Translate

domingo, marzo 06, 2016

Iniciarse en domotica casera, Raspberry Pi y Z-WAVE, Parte IV: ImperiHome, App para controlar DomoticZ en nuestros Smartphones

ImperiHome


Imperihome es una aplicación de teléfono inteligente que integra de forma nativa con varios sistemas domoticz. Una API genérica se ha hecho disponible para otros sistemas que se integran con él.
Los procedimientos siguientes se hacen para proporcionar una puerta de enlace que permita a un usuario utilizar la aplicación de teléfono inteligente con Domoticz.
La puerta de enlace actuará como una interfaz entre domoticz y Imperihome, de modo que Imperihome puede interactuar con la puerta de enlace, que a cambio interactuar con Domoticz.
Habrá un cliente (ImperiHome), una puerta de enlace protocolar (La puerta de enlace a continuación) y el servidor (Domoticz). La puerta de entrada será un servidor REST / Web con su propia IP: puerto para ser elegido y sea diferente de Domoticz si se ejecuta en el mismo servidor.

Imperihome screen 1

Imperihome screen 2

Caracteristicas

  • todos los interruptores (pero no el brazo, sin ACK como no disponibles en DZ)
  • todos los sensores de temperatura / humedad / tiempo / UV / presión
  • todos los servicios públicos
  • todas las escenas
  • las habitaciones han sido asignadas a las pestañas DZ para más claridad
  • punto de ajuste del termostato básica como en DZ

Qué hacer

  • curvas de uso completo de Imperihome
  • La gestión de varias cámaras
  • RGB

Solución de problemas generales

*Recordar que que las secuencias de comandos de Unix necesitan el derecho de ejecución y lectura.
*Recordar que un script se inicia en el primer lugar con el camino intérprete, línea sin ningún espacio que debería ser para Perl: #!/usr /bin/perl
Si ejecuta la puerta de enlace en un servidor diferente que domoticz, añadirlo en la configuraciónde modo que  no requerirá de usuario / contraseña.


Arquitectura

Imperihome.png

Descargando el código

cd ~/domoticz/
git clone https://github.com/empierre/MyDomoAtHome MyDomoAtHome
cd MyDomoAtHome
cp config.yml.def config.yml

Configurando la app

La url 
The La url debe ser configurada para su sistema domoticz dirección/puerto (sustituye 192.168.0.24 por su IP and 8080 por su puerto):
  • config.yml
También editar  MyDomoAtHome.sh y cambia la linea 20 del path de tu instalación, y despues ejecutar este script para instalar dependencias e instalar el servicio en el arranque del sistema operativo. Este paso no es necesario en una instalación de Raspberry 
sh ./run-once.sh
Si queremos cambiar el puerto predeterminado (3001) hacerlo en MyDomoAtHome.sh
.

Lanzando el servicio

Para lanzar el servicio:
   sudo service MyDomoAtHome.sh start
Parar el servicio :
   sudo service MyDomoAtHome.sh stop
Reiniciar el servicio :
   sudo service MyDomoAtHome.sh reload

Como comprobar que la instalación es correcta

Ir a la siguiente url:
http://gateway_ip:gateway_port/devices
Si el resultado no muestra los dispositivos, por favor recuerde que debe permitir el acceso sin contraseña a la puerta de enlace IP dentro de los ajustes Domoticz.:
http://domoticz_ip:domoticz_port/json.htm?type=devices&filter=all&used=true&order=Name  
http://domoticz_ip:domoticz_port/json.htm?type=scenes
http://domoticz_ip:domoticz_port/json.htm?type=cameras    (for this one, please change login/pass if any... don't post it as it on public forum...)

En la primera url obtendrá lo que verá, en el segundo los que proporciona Domoticz. 

 Ahora podemos configurar la App ImperiHome

Podemos añadir un dispositivo con la aplicación ImperiHome :
  • Ir a parameters / My Systems / Add a system
  • selecionar Imperihome Standard System
  • Escribir en "your gateway base url tu_ip:port  después next y ya está !

Actualizar la verson

Ejecutar desde el directorio de MyDomoAtHome :
 sh ./update-mdah.sh  

 Acceder desde fuera de nuestra red (nternet)

La mejor forma de hacerlo es configurar nginx entre domoticz y la puerta de enlace: http://www.domoticz.com/wiki/Secure_Remote_Access
En la configuración domoticz añadir una sección para redirigir a la puerta de enlace como este (cambiar su ip a continuación), y crear un Htpasswd para ambos (usando htpasswd del paquete apache2-utils = & gt; htpasswd -c .htaccess yourusername YourPassword)
      location /iss/ {
       proxy_pass http://192.168.0.28:3001/;
       auth_basic            "Access Restricted";
       auth_basic_user_file  "/etc/nginx/.htpasswd";
       access_log /var/log/nginx/domoticz.access.log;
       error_log /var/log/nginx/domoticz.error.log;
      }



No hay comentarios: