Praktikum SS16

Aus Verteilte Systeme - Wiki
Wechseln zu: Navigation, Suche

Ioana-Maria Bordea Lavinia Crizbasan Cosmin-Bogdan Grigore


University Transilvania Brasov, Rumänien Mathematik-Informatik Fakultät


OPENHAB


1.Einleitung

OpenHab ist ein Software für die Integration verschiedener Systeme und Home Automation Technologien in eine Lösung. Es ist open-source und ist leicht erweiterbar. Openhab versucht nicht bestehende Lösungen zu ersetzen, sondern sie zu verbessern. Es kann auf jedem Gerät ausgeführt werden, die der Führung eiens JUM(Linux/Mac/Windows) fähig ist. Openhab ist in 2 Teile gegliedert:

        1.Openhab runtime: läuft der Server und macht die "reale Arbeit". 
          Man kann es benutzen wenn man braucht der Status der Items.
        2.Openhab designer: ist ein Konfigurationswerkzeug für die Openhab Laufzeit.

Item Repository: verfolgt den aktuellen Status alller Items und man kann es benutzen jedes Mal der Status benötigt wird. SiteMap: ist eine Baumstruktur von Widgets, die die verschiedenen Seiten eine UI und deren Inthalt definiert.

2.Wie installiert man OpenHab

 Schritt 1: Man downloaded die runtime.zip, addons.zip und die demo-configurations.zip , 
            die man auf die http://www.openhab.org/getting-started/downloads.html Webseite findet.
 Schritt 2: Man sollt die  Dateien in ein neues Folder entpacken.
 Schritt 3: In der  Folder Configurations soll eine Datei genannt "openhab_default.cfg"sein.
            Diese soll kopiert sein und  die Kopie soll "openhab.cfg" genannt werden.
 Schritt 4: In der Folder Alladdons soll man alle Bindings die man braucht suchen und ihren jar kopieren in einen anderen Folder.
 Schritt 5: Man muss die Runtime starten:man öffnet im Terminal start.sh (Linux/Mac) oder start.bat(Windows).
 Schritt 6: Man ḱann Openhab auf die Webseite:  <hostname>:8080/openhab.app?sitemap=demo testen.


3.Wie kannst du dein eigenes Haus bauen:

°Erstens sollst du ein Datei machen mit der Name der Haus.sitemap

°Damit du dein Haus benennst sollst du schreiben " sitemap demo label =" Name der Haus""

°Du sollst verwenden:

     -Frame damit du ein Paragraph baust
     -Group wenn du willst Items in Gruppen sammeln
     -Label damit du etwas benennst
     -Chart für Tabellen

° Damit du die Zimmer baust ,sollst du ein Datei mit "items" erstellen.

 - Items werden in folgender Syntax definiert :" itemtype itemname ["labeltext"] [<iconname>] [(group1, group2, ...)][{bindingconfig}]"

°Du sollst verwenden:

 -Contact: Man verwendet es für Sensoren, die zurück liefern "offen"  oder "geschlossen" als Status. 
             Es ist nützlich für Türen,Fenster,etc.
 -Dimmer: EIN / AUS-Befehle (obwohl dies nur ahmt ein Schalter durch Senden von 0% und 100% für AN/AUS.)      
 -Rollershutter: Ermöglicht die Steuerung von Roll Fensterläden , das heißt sie nach oben zu bewegen, nach unten, zu stoppen oder sie nur die  zu schließen zu einem bestimmten Prozentsatz.
 -Switch:Stellt einen normalen Schalter, der kann ein- oder ausgeschaltet sein.
          Nützlich zum normale Beleuchtung, Präsenz Erkennung, usw.
 -Color:Kann für die Farbwerte verwendet werden, z.B. für LED-Leuchten
 -DateTime: Speichert einen Zeitstempel eine gültige Zeitzone.
 -Number:Hat einen Dezimalwert und wird normalerweise für alle Arten von Sensoren, wie Temperatur, Helligkeit, Wind, etc verwendet. 
           Es kann auch als Zähler oder als jede andere Sache verwendet werden, die als eine Zahl ausgedrückt werden kann.


Wie installiert man die HomeMatic Extension:

Man sollte die Extension durch die Paper Ui der OpenHab installieren. Also, man öffnet der Browser auf: http://localhost:8011 und man klickt auf die Paper Ui. In die linke Seite sollte man eine Spalte sehen und dort die Extensions finden. Danach sollte man diese selektieren und eine Liste mit Bindings soll erscheinen. Scroll unten bis du HomeMatic Binding findest. Danach sollst du auf "install" klicken. Der nächste Schritt ist die HomeMatic Bindung mit die Homematic Station zu verbinden. Das macht man so: auf der Paper Ui klickt man auf Configurations, und dann auf Things. Dort wählt man "Homematic Bridge" und man schreibt zur Gateway Address die Ip-Adresse ihrer Computer. Dann sollte die Homematic Bridge mit ihrer Computer verbunden sein.

Openhab hat sein eigenes "Radar" und kann die Devices finden. Man muss sie hinzufügen und danach ihren Channel in items schreiben. Ein Beispiel dafür ist: " Dimmer Light_GF_Living_Table "Table" (GF_Living,LightsGF,GF){channel="homematic:HM-LC-Dim1T- Pl-2:66213238:JEQ0193620:1#LEVEL"}". Dieses Channel findet man wenn auf der Think klickt.


Wie installiert man die Philips Hue:

Schritt 1: Wenn Sie ein Starter-Kit haben, schrauben Sie die Glühbirnen in die vorhandene Leuchten und schalten Sie Ihre Wand Lichtschalter .

Schritt 2: Schließen Sie Ihre Brücke und es wird automatisch einschalten. Verbinden Sie es mit Ihrem WiFi-Router mit dem Netzwerkkabel zur Verfügung gestellt. Warten Sie auf die drei Lichter aufzukommen und Sie sind gut zu gehen.

Schritt 3: Sie sollen die IP-Adresse der Brücke herausfinden. Das kann in mehrere Arten gemacht werden:

                         -Verwenden Sie einen UPnP- Discovery App Philips hue in Ihrem Netzwerk zu finden.
                         -Melden Sie sich bei Ihrem Wireless-Router und schauen Philips hue oben in der DHCP-Tabelle.
                         
                        

Schritt 4: Nachdem Sie die IP-Adresse gefunden haben, sollen Sie den Test App testen durch die folgende Adresse in Ihren Web Browser:

                                          " http://<bridge ip address>/debug/clip.html"          

Diese Debugger -Dienstprogramm können Sie die Komponenten eines HTTP- Aufruf zu füllen - die Grundlage aller Web-Traffic und des hue RESTful -Schnittstelle.


   °URL: das ist eigentlich die lokale Adresse einer bestimmten Ressource ( Sache ) im Inneren des Hue System.
         Es könnte leicht sein , eine Gruppe von Leuchten oder vieles mehr. 
         Dies ist das Objekt, das Sie mit in diesem Befehl interagieren  können.
   °Körper(Body): das ist der Teil, der beschreibt, was Sie ändern möchten und wie.
                  Geben Sie hier, im JSON-Format, den Ressourcennamen und Wert, den Sie ändern möchten / hinzufügen.
   °Methode: hier haben Sie die Wahl der 4 HTTP-Methoden der Hue aufrufen kann.
           -GET: dies ist der Befehl, alle Informationen über die adressierte Ressource zu holen
           -PUT: dies ist der Befehl, um eine adressierte Ressource zu modifizieren
           -POST: dies ist der Befehl, um eine neue Ressource in der adressierte Ressource zu erstellen
           -DELETE: dies ist der Befehl, um die Adressen-Ressource zu löschen


Schritt 5: Zuerst soll man sein eigenes user auf der System: Adresse: http://<bridge ip address>/api

                                                            Body: {"devicetype":"my_hue_app#iphone peter"}
                                                            Methode : POST 
              -Bevor man Post drückt, sollte man die Taste auf die Brücke gedrückt werden. 


Schritt 6: Wie man das Licht ein- und ausschaltet

   Jedes Licht hat sein eigenes URL. Sie können mit den folgenden Befehl sehen welche Leuchte  Sie haben: 
      °ADRESSE:http://<bridge ip address>/api/1028d66426293e821ecfd9ef1a0731df/lights
      °BODY: -
      °METHODE:GET
  Sie sollten eine JSON-Antwort mit all den Leuchte in Ihrem System und ihre Namen bekommen.
  Jetzt sollen wir Informationen über ein bestimmtes Licht heraus finden:
     °ADRESSE:http://<bridge ip address>/api/1028d66426293e821ecfd9ef1a0731df/lights/1
     °BODY:-
     °METHODE: GET
  
  Wir wollen jetzt das Licht ausschalten.
    °ADRESSE:http://<bridge ip address>/api/1028d66426293e821ecfd9ef1a0731df/lights/1/state
    °BODY:{"on":false}
    °METHODE:PUT

Letzens sollte man wieder die Extension für Philips Hue installieren. Das macht man gleich wie beim HomeMatic.


Wie installiert man Z-Wave:

Die Installation braucht zwei Schritte: die Installation der Z-Wave Extension und die Installation der HABmin.

  Ersten installiert man Z-Wave und danach HABmin.

 °Man öffnet der Browser und man sollte der folgende Bildschirm sehen:

Z-wave.png

 °Man soll Paper UI wählen, auf Extensions klicken( in die linke Spalte) und mann sollte folgendes Bildschirm sehen:

Zwave1.png

 °Man soll Z-wave finden und dann installieren.

Zwave2.png

   Schließlich installiert man HABmin:
Installiert man wie die Homematic Extension
 °Man muss der Controller mit Z-Wave einbinden.In der linke Menü, soll man auf Configuration klicken und

danach auf Things Configuration. Zwave3.png Nächstens, soll man Z-wave Binding wählen und danach der Z-Wave Controller. Der Controller muss aber auch konfiguriert werden

und das macht man so:

° In der linke Menü soll man wieder Things Configuration wählen. Der nächste Schritt erlaubt die Konfiguration der Controller: Datei:Zwave4.png.

  -Zuerst muss man der Name der Port finden: Man öffnet der Terminal, schreibt das Befehl " ls \dev \tty* " 
                                             Man klickt auf Port Configuration und man ergänzt  der Serial Port mit der Name der Port

Zwave5.png

                                             Schließlich klickt man auf Save.

RULES

° "ALARM" Regel

° "WARNUNG" Regel

° "OK" Regel


1. "Alarm" Regel

Alarm2.png

Wenn jemand im Flur ist und ein/ mehrere Fenster geöffnet sind oder der Stromverbraucher

mit mehr als 500 W Leistung angeschaltet ist, dann soll die RGB Lampe rot werden.

Erklärung:

Wenn der Bewegungsmelder Bewegung entdeckt hat,

     (Item= Gerät, Motion_GF_Corridor=Name des Gerätes)
           dann 
                wenn der Stromverbraucher mehr als 500 W Leistung hat 
                  oder 
                      ein Fenster geöffnet ist,
        ein Befehl (sendCommand) wird zur der RGB Lampe geschickt um diese rot zu werden.


2. "Warnung" Regel

Warnung.png

Wenn jemand im Flur ist und die Stromverbraucher mit weniger als 500 W Leistung angeschaltet sind, dann soll es einen Warnung geben und die RGB Lampe soll gelb werden.

Erklärung:

Wenn der Bewegungmelder Bewegung entdeckt

      dann
       wenn der Strommwerbraucher weniger als 500 W Leistung hat,
ein Befehl(sendCommand) wird zur RGB Lampe geschickt um diese gelb zu werden.


3. "OK" Regel Ok.png


Wenn jemand im Flur ist und alle Fenster geschlossen und Stromverbraucher zu sind, dann soll die RGB Lampe grün werden.

Erklärung:

Wenn der Bewegungsmelder Bewegung entdeckt

    dann
   
       wenn alle Fenster geschlossen sind
     und
       wenn alle Stromverbraucher zu sind
    ein Befehl (sendCommand) wird zur RGB Lampe geschickt um diese grün zu werden.


COMETVISU

Cometvisu.png

Cometvisu ist eine UI Oberfläche

Wie installiert man CometVisu?

Erstens, es ist notwendig die ComentVisu Extension zu installieren. 1. Von PaperUI klickt man auf die "Extensions". 2. Dann klickt man auf die "USER INTERFACES" . 3. Man muss CometVisu wählen und Install button drücken. 4. Jetz wurde ein Cfg file "cometvisu.cfg" erstellt. 5. In die File "webFolder=" muss man der Ort wo CometVisu gespeichert wurde schreiben

(zB :"webFolder=/users/c_grigor/Desktop/open/runtime/release/")   

CometVisu funktioniert auf Grund einer "xml" file Typ im Vergleich zu der ClassicUI Oberfläche, die mit sitemap file Typ funktioniert.

Wie kann man die CometVisu zu Openhab verbinden?

1.Um die Items aus der Item File mit die Oberfläche zu verbinden, muss man "backend=oh2" in die xml file schreiben.

(zB : "<pages backend="oh2" lib_version="8"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../visu_config.xsd" " )  

2.Um ein Item type aus Item file zu ein item type aus die Oberfläche man das benutzen:" <address transform="OH:switch" >Power</address>"

BS: <switch mapping="PowerON" styling="Red_Green">

             <label>Power</label>
             <address transform="OH:switch" >Power</address>
       </switch>

"Power"- ist eine item aus Items file. "OH:switch"-ist die item type aus Items file.

Wie baut man die Oberfläche ?

°Man muss eine Seite bauen. (BS :<page name="Home" />)

° Mann muss eins Design wählen

 (BS :"<pages backend="oh2" lib_version="8" design="metal"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

° Mit "navbar" kann man ein Menü erstellen.

 (BS: <navbar align="center" position="top">)

° Mit "pagejump" kann man eine Seite abrufen.(BS: <pagejump target="Home">)


Item Types erstellen:


1.switch: <switch >

            <label><icon name="light_control"/>Licht</label>
           	 <address transform="OH:switch" variant="">Light_GF_Corridor_Table</address>
           	   </switch>
        	 

2.info : <info format="%.2f W">

           <label><icon name="message_socket"/>
          	  Socket Wzimmer1
           	     </label>
          	 <address transform="OH:number" variant="">N_Socket_GF_Wohnzimmer1</address>
         	   </info>

3.widgetinfo: <widgetinfo> <info format="%.2f °C">

<address transform="OH:number" variant="">Temperature</address> </info> </widgetinfo>

4.Temperatur widget: <gauge type="Linear" subtype="type5" background="DARK_GRAY" framedesign="BLACK_METAL" width="150" height="300" lcdVisible="true"threshold="5"

			trendVisible="true" titleString="Temperature" unitString="°C" position="center" 
        			<address transform="OH:number" mode="read">Temperature</address>
       		      </gauge>


5.Group:Mit Group kann man mehrere items von die Oberfläche gruppeiren

<group name="Strom"> <switch mapping="PowerON" styling="Red_Green">

             <layout colspan="12"/>
            	 <label>Strom</label>
            	    <address transform="OH:switch" variant="">Strom</address>
           		   </switch>

</group>