Die Konfigurations XML Datei sollte im Xampp Programm Ordner des Xhome-Server unter /htdocs/Xsolution/Mini/Client_1.xml abgespeichert werden.
Für jeden Client kann eine andere XML Datei angelegt werden. Diese wird beim start des Xhome-Mini Client angegeben.
Diese Datei ist nach dem speichern unter folgender Adresse erreichbar: http://Xhome-Server-IP-Adresse:Apache-Port/Xsolution/Mini/Client_1.xml
z.B. http://192.168.111.244:81/Xsolution/Mini/Client_1.xml
Datenpunkte und Kommandos sowie Status Attributen können Sie hier auslesen:
https://xsolution.de/Xhome_Mini_Datenpunkte/index.php
[hr4]
XML Konfiguration
[hr4]
Grundkonfiguration:
<mcsClient> <hostConfig> <host>192.168.111.244</host> <port>2425</port> </hostConfig> <uiConfig> <autoconnect>true</autoconnect> <Screensaver>0</Screensaver> </uiConfig> <screenConfig> <screen> <zeile> <spalte> <content type="Image"><image>logo.png</image><allign>15</allign></content> </spalte> </zeile> </screen> </screenConfig> </mcsClient>
[hr4]
Server Einstellungen:
<host>192.168.111.244</host>
Hier wird die IP-Adresse des Xhome-Server eingetragen. Falls der Xsolution Xhome-Server öffentlich erreichbar ist, so muss hier die öffentliche IP Adresse eingetragen werden.
<port>2425</port>
Hier wird der Kommunikationsport des Xhome-Server eingetragen. Nicht der Apache Port.
[hr4]
Seiten hinzufügen:
<screenConfig> <screen> <zeile> <spalte> <content type="Image"><image>logo.png</image><allign>15</allign></content> </spalte> </zeile> </screen> </screenConfig>
Unter der „screenConfig“ können beliebige viele Seiten hinzugefügt werden. Alle hinzugefügten Seiten können später im Client per Rechts/Links sliden sowie per Button aufgerufen werden.
Jede Seite beginnt mit dem Eintrag <screen> und endet mit </screen>.
[hr4]
Zeilen und Spalten hinzufügen:
Der Client ist mit Zeilen und Spalten tabellarisch aufgebaut.
Es können beliebige viele Zeilen eingefügt werden. In jeder Zeile werden die Spalten eingefügt, auch hier beliebige viele.
Die Höhe der Zeile ergibt sich aus der Anzahl der Zeilen in der jeweiligen Seite. Höhe Zeile = Gesamthöhe / Anzahl Zeilen.
Das gleiche gilt für die Breite der Spalten: Breite Spalte = Gesamtbreite / Anzahl Spalten.
<screen> <zeile> <spalte> <content type="Image"><image>logo.png</image><allign>15</allign></content> </spalte> <spalte> <content type="Weather"><plz>77876</plz><country>germany</country></content> </spalte> <spalte> <content type="Clock"><size>80</size><color>0x00FF00</color></content> </spalte> </zeile> <zeile> <spalte> <content type="Text">Übersicht</content> </spalte> </zeile> <zeile> <spalte> <content type="Screen"><label>Bedienung Raum A</label><screen_id>2</screen_id><allign>2</allign></content> <content type="Screen"><label>Bedienung Raum B</label><screen_id>3</screen_id><allign>2</allign></content> <content type="Screen"><label>Bedienung Raum A+B</label><screen_id>4</screen_id><allign>2</allign></content> </spalte> <spalte> <content type="Text">Grafik</content> </spalte> </zeile> </screen>
Rot = Zeilen
Blau = Spalten
[hr4]
Komponenten:
Text:
<content type="Text">Ich bin ein Text</content>
Bild:
<content type="Image"><image>logo.png</image><allign>15</allign></content>
Wetter:
<content type="Weather"><plz>77876</plz><country>germany</country></content>
Uhrzeit:
<content type="Clock"><size>80</size><color>0x00FF00</color></content>
+ Datum
<content type="Clock"><size>30</size><color>0x00FF00</color><time_format>HH:mm:ss dd.MM.yy</time_format></content>
+ Datum und Tag mit Name:
<spalte> <content type="Clock"><size>30</size><color>0x00FF00</color><time_format>EEEE dd.MM.yy</time_format></content> <content type="Clock"><size>50</size><color>0x00FF00</color><time_format>HH:mm:ss</time_format></content> </spalte>
oder:
<content type="Clock"><size>30</size><color>0x00FF00</color><time_format>EEE d. MMM HH:mm:ss</time_format></content>
Digitaltext deaktivieren:
<content type="Clock"><size>30</size><digital>false</digital><color>0xFFFFFF</color><time_format>EEE d. MMM HH:mm:ss</time_format></content>
Kamera:
<content type="Video"><host>217.92.16.215</host><port>2080</port><file>/axis-cgi/mjpg/video.cgi?resolution=640x480&camera=1&compression=20&fps=2</file><user>root</user><pass>admin</pass><allign>5</allign></content>
Button mit Bild und Rückmeldung:
<spalte label="Büro"> <content type="Image_Button"><dp_name>2:Rainer VN</dp_name><dp_type>SWITCH:LICHT</dp_type><command_on>SWITCH_ON</command_on><command_off>SWITCH_OFF</command_off><attributte>STATE</attributte><image_on>ON.png</image_on><image_off>OFF.png</image_off><image>ZU.png</image></content> </spalte>
Button mit Status und Rückmeldung:
<content type="Button"><dp_name>2:Rainer VN</dp_name><dp_type>SWITCH:LICHT</dp_type><command_on>SWITCH_ON</command_on><command_off>SWITCH_OFF</command_off><label_on>Licht ist an</label_on><label_off>Licht ist aus</label_off><allign>5</allign><attributte>STATE</attributte></content>
Button mit 3 Gruppenadressen:
<content type="Button"><dp_name_state>3:Buero Rainer Deckenleuchte schalten</dp_name_state><dp_type_state>SWITCH:LICHT</dp_type_state><dp_name>3:Buero Rainer NV Schalten</dp_name><dp_type>SWITCH:LICHT</dp_type><command_on>SWITCH_ON</command_on><command_off>SWITCH_OFF</command_off></content>
Button ohne Rückmeldung:
<content type="Default_Button"><dp_name>SIRI</dp_name><dp_type>SIRI</dp_type><command>Szene 1</command><label>Szene Vortrag</label><allign>5</allign></content>
Exit Button
<content type="Exit_Button"><label>Exit</label><allign>5</allign></content>
Slider:
<content type="Slider"><dp_name>10:Kaminzimmer_Decke</dp_name><dp_type>DIMMER</dp_type><command>SET_VALUE</command><label>Karminzimmer</label><attributte>VALUE</attributte><allign>5</allign><min>15</min><max>60</max><float>true</float></content>
Slider für Temperatur:
<content type="Slider"><color>0xFF00FF</color><unit>°C</unit><size>20</size><dp_name>4:Schwimmbad</dp_name><dp_type>ANALOGUE:TEMP</dp_type><command>SET_VALUE</command><label>Karminzimmer</label><attributte>VALUE</attributte><label_attributte>TARGET</label_attributte><allign>5</allign><min>18.0</min><max>34.0</max><float>true</float><write_multiplikator>10</write_multiplikator></content>
Temperatur +/- Button
<content type="Up_Down_Button"><ist_label>Ist : </ist_label><soll_label>Soll: </soll_label><steps>0.1</steps><digits>1</digits><unit>°C</unit><textsize>20</textsize><dp_name>4:Schwimmbad</dp_name><dp_type>ANALOGUE:TEMP</dp_type><command>SET_VALUE</command><label>Karminzimmer</label><label_attributte>VALUE</label_attributte><label_attributte_target>TARGET</label_attributte_target><allign>5</allign><min>18.0</min><max>34.0</max><float>true</float><write_multiplikator>10</write_multiplikator></content>
Seite mit Passwortschutz:
<screen type="Secure" Pin="123">
Seite anwählen:
<content type="Screen"><label>Übersicht</label><screen_id>2</screen_id><allign>2</allign></content>
Seite vor:
<content type="Screen"><label>Nächste Seite</label><screen_id>+1</screen_id><allign>2</allign></content>
Seite zurück:
<content type="Screen"><label>Vorherige Seite</label><screen_id>-1</screen_id><allign>2</allign></content>
–
Beispiel:
<?xml version="1.0" encoding="utf-8"?> <mcsClient> <hostConfig> <host>192.168.111.244</host> <port>2425</port> </hostConfig> <uiConfig> <!--width>1200</width> <height>800</height--> <autoconnect>true</autoconnect> <Screensaver>0</Screensaver> </uiConfig> <screenConfig> <screen> <zeile> <spalte> <content type="Image"><image>logo.png</image><allign>15</allign></content> </spalte> <spalte> <content type="Weather"><plz>77876</plz><country>germany</country></content> </spalte> <spalte> <content type="Clock"><size>80</size><color>0x00FF00</color></content> </spalte> </zeile> <zeile> <spalte> <content type="Text">Übersicht</content> </spalte> </zeile> <zeile> <spalte> <content type="Screen"><label>Bedienung Raum A</label><screen_id>2</screen_id><allign>2</allign></content> <content type="Screen"><label>Bedienung Raum B</label><screen_id>3</screen_id><allign>2</allign></content> <content type="Screen"><label>Bedienung Raum A+B</label><screen_id>4</screen_id><allign>2</allign></content> </spalte> <spalte> <content type="Text">Grafik</content> </spalte> </zeile> </screen> <screen> <zeile> <spalte> <content type="Image"><image>logo.png</image><allign>15</allign></content> </spalte> <spalte> <content type="Weather"><plz>77876</plz><country>germany</country></content> </spalte> <spalte> <content type="Clock"><size>80</size><color>0x00FF00</color></content> </spalte> </zeile> <zeile> <spalte> <content type="Text">Sie befinden sich in Raum A</content> </spalte> </zeile> <zeile> <spalte> <content type="Button"><dp_name>2:Rainer VN</dp_name><dp_type>SWITCH:LICHT</dp_type><command_on>SWITCH_ON</command_on><command_off>SWITCH_OFF</command_off><label_on>Licht ist an</label_on><label_off>Licht ist aus</label_off><allign>5</allign><attributte>STATE</attributte></content> </spalte> <spalte> <content type="Button"><dp_name>2:Rainer VN</dp_name><dp_type>SWITCH:LICHT</dp_type><command_on>SWITCH_ON</command_on><command_off>SWITCH_OFF</command_off><label_on>Beamer ist an</label_on><label_off>Beamer ist aus</label_off><allign>5</allign><attributte>STATE</attributte></content> </spalte> <spalte> <content type="Default_Button"><dp_name>SIRI</dp_name><dp_type>SIRI</dp_type><command>Szene 1</command><label>Leinwand hoch</label><allign>5</allign></content> <content type="Default_Button"><dp_name>SIRI</dp_name><dp_type>SIRI</dp_type><command>Szene 1</command><label>Leinwand runter</label><allign>5</allign></content> </spalte> </zeile> <zeile> <spalte> <content type="Button"><dp_name>2:Rainer VN</dp_name><dp_type>SWITCH:LICHT</dp_type><command_on>SWITCH_ON</command_on><command_off>SWITCH_OFF</command_off><label_on>Ton ist an</label_on><label_off>Ton ist aus</label_off><allign>5</allign><attributte>STATE</attributte></content> </spalte> <spalte> <content type="Default_Button"><dp_name>SIRI</dp_name><dp_type>SIRI</dp_type><command>Szene 1</command><label>DVI</label><allign>5</allign></content> </spalte> <spalte> <content type="Default_Button"><dp_name>SIRI</dp_name><dp_type>SIRI</dp_type><command>Szene 1</command><label>HDMI</label><allign>5</allign></content> </spalte> <spalte> <content type="Default_Button"><dp_name>SIRI</dp_name><dp_type>SIRI</dp_type><command>Szene 1</command><label>VGA</label><allign>5</allign></content> </spalte> </zeile> <zeile> <spalte> <content type="Default_Button"><dp_name>SIRI</dp_name><dp_type>SIRI</dp_type><command>Szene 1</command><label>Szene Vortrag</label><allign>5</allign></content> </spalte> <spalte> <content type="Default_Button"><dp_name>SIRI</dp_name><dp_type>SIRI</dp_type><command>Szene 1</command><label>Szene Beamer</label><allign>5</allign></content> </spalte> <spalte> <content type="Default_Button"><dp_name>SIRI</dp_name><dp_type>SIRI</dp_type><command>Szene 1</command><label>Szene Allgemein</label><allign>5</allign></content> </spalte> </zeile> <zeile> <spalte> <content type="Screen"><label>Übersicht</label><screen_id>1</screen_id><color>0x004764</color><allign>5</allign></content> </spalte> <spalte> <content type="Screen"><label>Raum B</label><screen_id>3</screen_id><color>0x004764</color><allign>5</allign></content> </spalte> </zeile> </screen> <screen> <zeile> <spalte> <content type="Image"><image>logo.png</image><allign>15</allign></content> </spalte> <spalte> <content type="Weather"><plz>77876</plz><country>germany</country></content> </spalte> <spalte> <content type="Clock"><size>80</size><color>0x00FF00</color></content> </spalte> </zeile> <zeile> <spalte> <content type="Text">Sie befinden sich in Raum B</content> </spalte> </zeile> <zeile> <spalte> <content type="Button"><dp_name>2:Rainer VN</dp_name><dp_type>SWITCH:LICHT</dp_type><command_on>SWITCH_ON</command_on><command_off>SWITCH_OFF</command_off><label_on>Beamer ist an</label_on><label_off>Beamer ist aus</label_off><allign>5</allign><attributte>STATE</attributte></content> <content type="Button"><dp_name>2:Rainer VN</dp_name><dp_type>SWITCH:LICHT</dp_type><command_on>SWITCH_ON</command_on><command_off>SWITCH_OFF</command_off><label_on>Licht ist an</label_on><label_off>Licht ist aus</label_off><allign>5</allign><attributte>STATE</attributte></content> </spalte> <spalte> <content type="Default_Button"><dp_name>SIRI</dp_name><dp_type>SIRI</dp_type><command>Szene 1</command><label>Leinwand hoch</label><allign>5</allign></content> <content type="Default_Button"><dp_name>SIRI</dp_name><dp_type>SIRI</dp_type><command>Szene 1</command><label>Leinwand runter</label><allign>5</allign></content> </spalte> </zeile> <zeile> <spalte> <content type="Button"><dp_name>2:Rainer VN</dp_name><dp_type>SWITCH:LICHT</dp_type><command_on>SWITCH_ON</command_on><command_off>SWITCH_OFF</command_off><label_on>Ton ist an</label_on><label_off>Ton ist aus</label_off><allign>5</allign><attributte>STATE</attributte></content> </spalte> <spalte> <content type="Default_Button"><dp_name>SIRI</dp_name><dp_type>SIRI</dp_type><command>Szene 1</command><label>Szene Vortrag</label><allign>5</allign></content> </spalte> <spalte> <content type="Default_Button"><dp_name>SIRI</dp_name><dp_type>SIRI</dp_type><command>Szene 1</command><label>DVI</label><allign>5</allign></content> </spalte> <spalte> <content type="Default_Button"><dp_name>SIRI</dp_name><dp_type>SIRI</dp_type><command>Szene 1</command><label>HDMI</label><allign>5</allign></content> </spalte> <spalte> <content type="Default_Button"><dp_name>SIRI</dp_name><dp_type>SIRI</dp_type><command>Szene 1</command><label>VGA</label><allign>5</allign></content> </spalte> </zeile> <zeile> <spalte> <content type="Default_Button"><dp_name>SIRI</dp_name><dp_type>SIRI</dp_type><command>Szene 1</command><label>Szene Beamer</label><allign>5</allign></content> </spalte> <spalte> <content type="Default_Button"><dp_name>SIRI</dp_name><dp_type>SIRI</dp_type><command>Szene 1</command><label>Szene Allgemein</label><allign>5</allign></content> </spalte> </zeile> <zeile> <spalte> <content type="Screen"><label>Übersicht</label><screen_id>1</screen_id><color>0x004764</color><allign>5</allign></content> </spalte> <spalte> <content type="Screen"><label>Raum A</label><screen_id>2</screen_id><color>0x004764</color><allign>5</allign></content> </spalte> </zeile> </screen> <screen> <zeile> <spalte> <content type="Image"><image>logo.png</image><allign>15</allign></content> </spalte> <spalte> <content type="Weather"><plz>77855</plz><country>germany</country></content> </spalte> </zeile> <zeile> <spalte> <content type="Text">Sie befinden sich in Bedienung A+B</content> </spalte> </zeile> <zeile> <spalte> <content type="Screen"><label>Übersicht</label><screen_id>1</screen_id><allign>2</allign></content> <content type="Screen"><label>Bedienung Raum A</label><screen_id>2</screen_id><allign>2</allign></content> <content type="Screen"><label>Bedienung Raum A+B</label><screen_id>4</screen_id><allign>2</allign></content> </spalte> <spalte> <content type="Text">Grafik</content> </spalte> </zeile> </screen> <screen> <zeile> <spalte label="Test Button"> <content type="Button"><dp_name>2:Rainer VN</dp_name><dp_type>SWITCH:LICHT</dp_type><command_on>SWITCH_ON</command_on><command_off>SWITCH_OFF</command_off><label_on>Ann</label_on><label_off>Aus</label_off><allign>15</allign><attributte>STATE</attributte></content> </spalte> <spalte label="Test Button 2"> <content type="Button"><dp_name>2:Rainer VN</dp_name><dp_type>SWITCH:LICHT</dp_type><command>SWITCH_ON</command></content> <content type="Button"><dp_name>2:Rainer VN</dp_name><dp_type>SWITCH:LICHT</dp_type><command>SWITCH_ON</command></content> <content type="Button"><dp_name>2:Rainer VN</dp_name><dp_type>SWITCH:LICHT</dp_type><command>SWITCH_ON</command></content> </spalte> <spalte width="100" heigth="200"> <content type="Button" width="70" heigth="80"><dp_name>2:Rainer VN</dp_name><dp_type>SWITCH:LICHT</dp_type><command>SWITCH_ON</command></content> <content type="Button" width="50" heigth="50"><dp_name>2:Rainer VN</dp_name><dp_type>SWITCH:LICHT</dp_type><command>SWITCH_ON</command></content> </spalte> <spalte> <content type="Slider"><dp_name>10:Kaminzimmer_Decke</dp_name><dp_type>DIMMER</dp_type><command>SET_VALUE</command><label>Karminzimmer</label><attributte>VALUE</attributte><allign>5</allign><min>15</min><max>60</max><float>false</float></content> </spalte> </zeile> <zeile> <spalte label="Büro"> <content type="Image_Button"><dp_name>2:Rainer VN</dp_name><dp_type>SWITCH:LICHT</dp_type><command_on>SWITCH_ON</command_on><command_off>SWITCH_OFF</command_off><label>Default_Button Rainer</label><attributte>STATE</attributte><image_on>ON.png</image_on><image_off>OFF.png</image_off><image>ZU.png</image></content> </spalte> <spalte label="Büro"> <content type="Value"><dp_name>10:Kaminzimmer_Decke</dp_name><dp_type>DIMMER</dp_type><label>Only on</label><attributte>VALUE</attributte><allign>15</allign><unit>%</unit><size>40</size></content> </spalte> <spalte> <content type="Clock"><size>40</size><color>0x00FFFF</color></content> </spalte> </zeile> <zeile> <spalte label="Test Image"> <content type="Image_Button"><dp_name>2:Rainer VN</dp_name><dp_type>SWITCH:LICHT</dp_type><command_on>SWITCH_ON</command_on><command_off>SWITCH_OFF</command_off><label>Default_Button Rainer</label><attributte>STATE</attributte><image_on>AUF.png</image_on><image_off>ZU.png</image_off><image>ZU.png</image></content> </spalte> <spalte> <content type="Video"><host>217.92.16.215</host><port>2080</port><file>/axis-cgi/mjpg/video.cgi?resolution=640x480&camera=1&compression=20&fps=2</file><user>root</user><pass>admin</pass><allign>5</allign></content> </spalte> <spalte label="Aktuelle Uhrzeit"> <content type="Clock">Buttons 6</content> </spalte> </zeile> <zeile> <spalte label="Büro"> <content type="Image_Button"><dp_name>2:Rainer VN</dp_name><dp_type>SWITCH:LICHT</dp_type><command_on>SWITCH_ON</command_on><command_off>SWITCH_OFF</command_off><label>Default_Button Rainer</label><attributte>STATE</attributte><image_on>ON.png</image_on><image_off>OFF.png</image_off><image>ZU.png</image></content> </spalte> </zeile> </screen> <screen type="Secure" Pin="123"> <zeile> <spalte label="App Beenden"> <content type="Exit_Button" heigth="150"><label>Exit</label></content> </spalte> <spalte label="Einstellungen"> <content type="Settings">Buttons</content> </spalte> </zeile> </screen> <screen> <zeile> <spalte> <content type="Image"><image>logo.png</image><allign>15</allign></content> </spalte> </zeile> </screen> <screen> <zeile> <spalte> <content type="Video"><host>217.92.16.215</host><port>2080</port><file>/axis-cgi/mjpg/video.cgi?resolution=640x480&camera=1&compression=20&fps=2</file><user>root</user><pass>admin</pass><allign>5</allign></content> </spalte> </zeile> </screen> </screenConfig> </mcsClient>
–