iMisterhouse Installation (de)

1. Installation der notwendigen Dateien Webservice.pm und den Patch von „Generic_Item.pm“

  • Kopiern Sie die Datei „WebServices.pm“ von https://apps.microcheese.de/otherdownloads/WebServices.pm in ihre Misterhouse Installation nach lib/WebServices.pm
  • Stellen Sie sicher das der SOAP Webservice in ihrem Misterhouse Web Verzeichniss verfügbar ist. Dazu muß sich in ihrem Misterhouse Web Verzeichnis die Datei „bin/soapcgi.pl“ befinden.
  • Patchen Sie die Datei „lib/Generic_Item.pm“, laden Sie hierzu den Patch von https://apps.microcheese.de/otherdownloads/Generic_Item.patch. Zum Patchen der Datei Wechseln sie in das Minsterhouse Verzeichnis „lib“ und führen den folgenden Befehl aus:

patch –p0 <Generic_Item.patch

2. Setzen des Passworts für den Remote Zugriff

Wechseln sie in Ihre Misterhouse Verzeichnis und legen Sie einen User mit dem folgendem Befehl an:

bin/set_password –user imisterhouse –password meinpass

Fügen sie die folgende Zeile zu Ihrer mh.private.ini hinzu (Um festzulegen welche IP Addressen auf den Misterhouse Server zugreifen dürfen). Das folgende Beispiel erlaubt dem Localhost und allen Clients aus 10.80.29.x die Verbindung zu Ihrem Misterhouse Server:

password_allow_clients = 127\.0\.0\.1,10\.80\.29\..+

3. Erstellen einer Menüstruktur für Ihre Objekte

iMisterhouse ist so ausgelegt das es Standardmäßig eine 2-Stufige Menüstruktur darstellt. In der kommenden Version wird iMisterhouse erweitert um eine beliebige Menüstrukturtiefe zu erlauben („Drilldown Menü“), aktuell ist eine 2 Stufige Menüstruktur zwingend. Dazu müssen sie auf Ihrem Misterhouse Server die entsprechenden Gruppenobjekte anlegen und Objekte den Gruppen in ihrem Misterhouse-Code Verzeichnis zuweisen. Konfigurationsbedingt müssen Sie eine „Startgruppe“ mit dem namen „$Main“ anlegen. Ein Beispiel einer Gruppenkonfiguration finden sie folgend:

# mh/code/Z-Groups.pl
# Anlegen der Hauptgruppen und Zuordnung der “Sub-Gruppen”
# Die Subgruppen können entweder Manuell angelegt werden oder automatisch
# über die Zuordnung in einer Table Datei. Z.B. Eibitems.mht 
#
#
# $Main |- $gEG |- $Gaestebad
#       |       |- $Heimkino
#       |       |- $Wohnzimmer  
#       |
#       |- $gKL |- $Keller
#       |
#       |- $gOG |- $Bilardzimmer
#               |- $Bad
#               |- $Buero
#               |- $Gang
#               |- $Klo
#               |- $Schlafzimmer
#               |- $Kleiderschrank
#               |- $Treppenzimmer

# Erdgeschoss
$gEG = new Group();
$gEG -> set_label('EG');		# Anzeigename für die Top Gruppe
$gEG -> set_icon("groundfloor");	# Icon für die Top Gruppe
$gEG -> add($Gaestebad);		# Zuordnung Sub Gruppe zur Top Gruppe
$gEG -> add($Heimkino);
$gEG -> add($Wohnzimmer);

$Gaestebad->set_icon("bathroom");
$Heimkino->set_icon("tv");
$Wohnzimmer->set_icon("livingroom"); 

# Obergeschoss
$gOG = new Group();
$gOG -> set_label('1. Stock');
$gOG -> set_icon("upperfloor");
$gOG -> add($Bilardzimmer);
$gOG -> add($Bad);
$gOG -> add($Buero);
$gOG -> add($Gang);
$gOG -> add($Klo); 
$gOG -> add($Schlafzimmer);
$gOG -> add($Kleiderschrank);
$gOG -> add($Treppenzimmer);

$Bilardzimmer->set_icon("partyroom");
$Bad->set_icon("bathroom");
$Buero->set_icon("office");
$Gang->set_icon("floor");
$Klo->set_icon("toilet");
$Treppenzimmer->set_icon("stairs");
$Schlafzimmer->set_icon("sleepingroom");
$Kleiderschrank->set_icon("dressingroom");

# Keller
$gKL = new Group();
$gKL -> set_label('Keller');
$gKL -> add($Temperaturen); 

$gKL->set_icon("basement");
$Temperaturen->set_icon("thermomether");

# Anlegen der Gruppe $Main und zuweisen der Untergruppen (Menülevel 1)
$Main = new Group();
$Main -> add($gEG);
$Main -> add($gOG);
$Main -> add($gKL);

Daraus wird eine Menüstruktur wie im Folgenden Screenshot dargestellt angelegt:

 

iMisterhouse Sample

4. Zuweisen von Icons und Anzeigenamen für Ihre Objekte

Zum Zuweisen von Icons zu Ihren Objekten haben Sie zwei Möglichkeiten:

  • Sie hinterlegen die Zuweisung in einer MHT Datei, wie z.B. Eibitems.mht:
EIB1,	0/0/1,			Media_WZ_TV,			Wohnzimmer|Heimkino,			label=Fernseher|R|icon=tv
  • Sie hinterlegen die Zuweisung in Ihrem MH Code bei den Objekten:
$gKL -> set_label('Keller');
$gKL -> add($Temperaturen);

Alle in der Application hinterlegten Icons finden Sie unter Iconliste aufgelistet. Sollten Sie weitere Icons benötigen, senden Sie mir bitte eine Nachricht und ich werde die Icons in der nächsten Version integrieren.

5. Version von SOAP::Lite

Es hat sich herausgestellt das ältere Versionen des Perl Moduls anders auf Anfragen reagieren als neuere versionen des moduls. Falls Sie probleme haben sich mit Ihrem Misterhouse Server zu verbinden, versuchen Sie eine neuere Version des Moduls zu Installiern. (mindestens Soap::Lite/Perl/0.714).

6. Troubleshooting

Falls Sie Probleme haben sich mit dem Misterhouse Server zu Verbinden, können Sie die folgenden zwei Versionen der Perl Module Installieren, welche genügend DEBUG informationen ins Logfile mit ausgeben. Bitte Senden Sie mir den Logfile Auszug zu, und ich kann Ihnen helfen das Problem zu lösen, oder entsprechende korrekturen vorzunehmen. Installieren Sie in Ihr MH Lib Verzeichniss:

Folgende Einstellungen in der MH.ini Datei können einen einfluß auf die Installation und funtionsfähigkeit der App haben:

suppress_group_listing=Beleuchtung,Jalousie,Netzwerk,Netzwerk,Heizung,Heizung,Sonstiges
html_dir=$config_parms{MISTEREIB}/web
http_address=0.0.0.0
http_port=8080
code_dir=/usr/local/misterhouse/ernst-code
lib_dir=$config_parms{MISTEREIB}/lib
data_dir=/usr/local/misterhouse/ernst-data
password_allow_clients = 127\.0\.0\.1,10\.80\.29\..+