Visualización gráfica dos  eHouse Domótica  esténdese o ámbito de desenvolvemento para o sistema e crea a posibilidade dun desenvolvemento de software para o fin do sistema ofeHouse usuarios , empresas asociadas e empresas que desexen contribuír individualmente programación en ambiente JSE (Java) .  Ehouse para Java (eHouse4Java) é compatible con Android e bibliotecas de Windows Mobile , permitindo que cree o seu propio software para paneis de control e tabletas . 
 A biblioteca é o modelo de aplicación e permite: 
- cargar a configuración , os nomes dos controladores , Saídas , Entradas , sensores , etc .
 - asegurar controlador de sistema de comunicación
 - recibir e decodificar o estado do controlador de datos
 - Enviar comandos de control graficamente (coa visualización de obxectos) ou de forma de texto (con selecionável campo)
 - sistema de control vía Wi-Fi , Internet , SMS , email
 - Visualización gráfica e control – cargar o ficheiro de texto de obxectos gráficos asociados cos eventos a seren executados (sistema de Ehouse) e status de equipos
 - Visualización automática para o controlador (cuarto)
 
 A visualización é creada usando java biblioteca ” balance ” con elementos dun ” JPanel ” , ” JButton ” etc . 
 Estes obxectos son automaticamente ” dobrar – tamponado ” , de xeito que o efecto de intermitencia é eliminado , o que é moi desagradable para o usuario . 
 O usuario tamén pode controlar a imaxe: 
- zoom in e out
 - mover-se , para abaixo e de lado a lado
 - cambiar a visión actual, seleccionando o ” Opcións ”
 - volver á vista gráfica do sistema seleccionando o ” Ver ”
 
 Exemplo de sistema eHouse visualización: 
 
 
 
 
 Zoom in e out foi realizado co uso de gráficos vectoriais escalabades (SVG) , de xeito que a imaxe non perde a súa calidade tras o cambio de escala: 
  
  Desfacer as edicións    
estado controladores automaticamente aparecen:
El é actualizado a través dunha rede de ordenadores ou Internet (TCP ou UDP) – on-line (en tempo real)
 
 
 
 Ao seleccionar a ” Opcións ” e do cuarto pode ser visto controladores de estados e seleccionar os programas .
Cambiar o estado de UDP de entrada automaticamente rewizualizacjÄ ™:
 
 Ademais de visualización de deseño individual con base no proxecto arquitectónico e instalación de casa intelixente é creada automaticamente a visualización de forma independente para cada controlador do sistema (en especial para RoomManagers e EthernetRoomManager – para cuartos individuais) .
Isto permite que os paneis de control independentes e visualización de cada cuarto individual , sen tedioso para crear proxecto – sistema de visualización baseada en .
Para CommManager (estados de sensores de alarma , Saídas)
 Para RoomManager e EthernetRoomManager:
 
 
 O controlador de caldeira , recuperación de CO (HeatManagera)
 
 Máis información pode ser encontrada nos artigos dedicados eHouse4Android bibliotecas de programación (eHouse para Android – Android Java) , que foron traducidos para o Java para a compatibilidade e facilidade de desenvolvemento de software en sistemas operativos diferentes .
O código fonte
/ *
* As solicitudes de modelo para o sistema de visualización de vídeo , eHouse casa intelixente
* Só para usuarios rexistrados do sistema eHouse , Empresas que colaboraron Todos os dereitos reservados
*
* Require Clases:
* Ehousecommunication . clase – Enviar acontecementos para o sistema
* EhouseTCP . clase – Inicio e mantemento de comunicacións a través de TCP / IP do controlador , Datos actualizados das entradas e saídas do sistema
* StatusEhouse . clase – opcións de almacenamento de datos e control , actualizados nunha base continua sobre TCP / IP controladores ehouse1 (485)
* StatusCommManager . clase – almacenar datos e configuracións actuais controladores , actualizados nunha base continua sobre TCP / IP controladores ehouse2 (Ethernet)
* GraphicObject . clase – almacenamento de obxectos gráficos
* Visualización . clase – deseñar obxectos gráficos (liñas , elipses , rectángulos) e eventos relacionados con servizos
*
* Modelo de aplicación deseñado unha visualización gráfica do Sistema eHouse
* Só para usuarios rexistrados , Provedores , COOPERATIVAS ISYS Copyright . En Todos os dereitos reservados
*
* Clases necesarias:
* Ehousecommunication . clase – Enviar acontecementos para o sistema
* EhouseTCP . clase – inicio e mantemento de comunicación TCP / IP con controladores , actualizar o estado actual de controladores
* StatusEhouse . clase – controladores de configuración e almacenamento de datos , actualización de datos (TCP / IP) para ehouse1 controladores (485)
* StatusCommManager . clase – controladores de configuración e almacenamento de datos , actualización de datos (TCP / IP) para ehouse2 controladores (Ethernet)
* GraphicObject . clase – de datos gráficos obxectos de almacenamento
* Visualización . clase – deseño de obxectos gráficos (liñas , Elipses , rectángulos) e eventos relacionados coa manipulación de lles
* /
paquete ehouse4java ;
import java . awt . * ;
import java . awt . evento . * ;
importación javax . balance . * ;
importación javax . balance . evento . Changeevent ;
importación javax . balance . evento . ChangeListener ;
Ehouse4java public class JFrame ActionListener implementos , ChangeListener {
/ **
* Clase responsable arrincar o estado do sistema , e crear
* A ventá principal da aplicación . Implementa interfaces que soportan o evento
* Asociado con botóns .
*
* Clase responsable arrincar o estado de clases e creando
* A ventá principal da aplicación . Que aplica interfaces de eventos de apoio
* En relación aos botóns .
* /
/ **
* Obxecto de visualización, que contén vista actualmente exhibida
* /
Visualización previa pública ;
/ / Opcións de visualización públicos ;
/ / Public TextEvents visualización ;
/ **
* Pallete de botóns de zoom de apoio , substituída e cambiando
* Exhibido vista
* /
JButton ZoomPlusButton ;
JButton ZoomMinusButton ;
JButton LeftShiftButton ;
JButton RightShiftButton ;
JButton UpButton ;
JButton DownButton ;
JButton ExitB = null ;
Opcións JButton ;
Ver JButton ;
Volver JButton ;
JButton [] = new JButton ViewsB [MAX_VIEWS_COUNT] ;
/ **
* Panel con todos os botóns
* /
ZoomPanel JPanel ;
/ **
* Panel actualmente exhibido contén visualización
* /
Viewpanel JPanel ;
/ **
* O panel que contén un conxunto de botóns usada para acceder aos estados controladores ,
* Sistema etc horarios . .
* /
Optionspanel JPanel ;
/ **
* Scrollpanes Oprional
* /
JScrollPane jsp1 ;
JScrollPane jsp2 ;
buttonscounter public Static int ;
public int centerX ;
CenterY int público ;
public int prevCenterX ;
prevCenterY int público ;
Ycompensation int público ;
prevOffsetX int = 0 , prevOffsetY = 0 ;
dobre prevScaleX ;
dobre prevScaleY ;
ZOOMFACTOR público final dobre = 0 . 3 ;
public Static cadea previousoptionsview = ” ” ;
/ **
* Crea Ehouse4java nova forma . Inicia o estado de clases e gráficos
* Compoñentes con xanela principal .
* /
Ehouse4java pública () {
super ( ” EHouse ” ) ;
OnCreate () ;
setDefaultCloseOperation (JFrame . EXIT_ON_CLOSE) ;
/ **
* Iníciase todos os compoñentes gráficos
* /
addComponentToPane (getContentPane ()) ;
 setSize (400 , 400) ; 
 setLocation (200 , 0) ; 
 setMinimumSize (nova dimensión (200 , 200)) ; 
 setVisible (true) ; 
 prevCenterX = Vista (int) . getBounds () . getCenterX () ; 
 prevCenterY = Vista (int) . getBounds () . getCenterY () ; 
 } 
 / ** 
 * Iníciase todos os compoñentes secos como paneis gráficos , botóns , scrollbars , etc . . 
 * 
 * @ Paran panel 
 * / 
 addComponentToPane public void (panel de Container) { 
optionfirsttime = true ;
 ExitB = new JButton ( ” Saír ” ) ; 
 ExitB . setActionCommand ( ” Saír ” ) ; 
 ExitB . addActionListener (este) ; 
 . . . 
 indexView int = 0 ; 
 ZoomPanel = new JPanel (novo FlowLayout ()) ; 
 viewpanel . engadir (ZoomPanel , BorderLayout . PAGE_END) ; 
 ZoomPlusButton = new JButton ( ” + ” ) ; 
 ZoomPlusButton . setActionCommand ( ” ZoomPlus ” ) ; 
 ZoomPlusButton . addActionListener (este) ; 
 ZoomPanel . engadir (ZoomPlusButton) ; 
 ZoomMinusButton = new JButton ( ” – ” ) ; 
 ZoomMinusButton . setActionCommand ( ” ZoomMinus ” ) ; 
 ZoomMinusButton . addActionListener (este) ; 
 ZoomPanel . engadir (ZoomMinusButton) ; 
 . . . 
 } 
 / ** 
 * Iniciados e clases StatusEhouse StatusCommManager por controladores de carga 
 * Estado 
 * / 
 OnCreate public void () { . . . } 
 / ** 
 * @ Paran args os argumentos de liña de comandos 
 * / 
 public Static void main (String args []) { 
 / * 
 * Crear e amosar o formulario 
 * / 
 Java . awt . EventQueue . invokeLater (novo Runnable () { 
 public void run () { 
 Ehouse4java novo () . setVisible (true) ; 
 } 
 }) ; 
 } 
 / ** 
 * Soporta eventos chamado premendo no botón 
 * 
 * @ Paran 
 * / 
 @ Override 
 public void actionPerformed (ActionEvent e) { 
 switch (e . getActionCommand ()) { 
 caso ” ZoomPlus ” : 
 prevOffsetX = ehousecommunication . OffsetX ; 
 prevOffsetY = ehousecommunication . Offsets ; 
 ehousecommunication . ScaleX * = (1 + ZOOMFACTOR) ; / / * 100/zoomleve ; 
 ehousecommunication . ScaleY * = (1 + ZOOMFACTOR) ; / / * 100/zoomleve ; 
 / / Centrar a vista tras rescalling 
 ehousecommunication . OffsetX + = (int) ((visualization . getBounds () . getCenterX () + prevOffsetX) ZOOMFACTOR *) ; 
 ehousecommunication . Compensacións + = (int) ((visualization . getBounds () . getCenterY () + prevOffsetY) * ZOOMFACTOR) + Ycompensation / (1 / (2 * ZOOMFACTOR)) ; 
 EhouseTCP . ReadViewFile (ehousecommunication . CurrentView) ; / / Calcúlase zoom
Visualización . repaint () ; 
 volver ; 
 . . . 
 } 
 } 
 }