Wir haben vermehrt Anfragen in unserem Forum, bzw. in unserer Facebook-Gruppe bekommen, ob und wie es möglich ist, das VU+ mit dem Fibaro HomeCenter zu steuern. Wir erklären euch mit diesem Tutorial, wie das funktioniert.
Die weißen VU+ Solo SE v2 am besten. Mit diesem wurde auch dieses Tutorial verfasst.
Die Möglichkeiten der Betriebssystem-Software des VU+ sind zu Beginn meiner Meinung nach zu beschränkt. Deshalb empfehle ich euch, dass Ihr euer VU+ auf das alternative Betriebssystem VTI zu flashen. Dann habt Ihr die Möglichkeit z.B. andere Themes zu nutzen, euch für die Sender Picons einzurichten, eigene Boot-Logos zu hinterlegen und diverse andere kleine & große Gimmicks. :) Das benötigte Plugin obenwebif ist dort bereits vorinstalliert.
Eine Anleitung und den Download findet Ihr hier.
VU+ in das HomeCenter integrieren
Ihr benötigt dazu als erstes ein neues Virtuelles Device. Dazu begebt Ihr euch auf dem HomeCenter-Webinterface zu dem Menüpunkt "Devices". Dort klickt Ihr dann links in der Menüleiste auf "Add or remove device".
Dort sucht Ihr euch dann den Speicherort des heruntergeladenen VD_Solo.vfib. Das Virtuelle Device könnt Ihr euch hier herunterladen. Nach dem Import sollte es folgendermaßen aussehen (und nach dem Hinzufügen des Icons ;) ):
Hier tragt Ihr noch die IP-Adresse eures VU+ ein und speichert, fertig. Hier findet Ihr das dazugehörigen schwarze Icon für das VU+ Solo (Diese müssen für alle Buttons hinterlegt werden, ansonsten springt das Icon wieder auf das blaue Quader zurück):
VU+ Nachrichten auf dem Fernseher anzeigen lassen
Als weiteres, geniales Feature könnt Ihr euch Nachrichten in das laufende Fernsehbild einblenden lassen. So kann zum Beispiel eine Benachrichtigung auf dem Fernseher erfolgen, wenn die Waschmaschine fertig ist:
Dazu müsst Ihr euch einfach einen neuen Button in dem Virtuellen Device anlegen und dort folgenden Code hinein kopieren:
1 2 3 4 5 6 7 8 |
local selfId = fibaro:getSelfId(); local ip = fibaro:get(selfId, "IPAddress") local url = "/web/message?text=Waschmaschine%20ist%20fertig!&type=1" local ws = Net.FHttp(ip, 80) local resp = ws:GET(url) fibaro:debug(resp); |
Die Nachrichten sind nach dem Muster
1 |
http://ip-des-VU+/web/message?text={messagetext}&type={messagetype}&timeout={messagetimeout} |
aufgebaut. Zur Erklärung:
- messagetext: Die Nachricht, welche dargestellt werden soll. (Leerzeichen müssen als %20 geschrieben werden; siehe Beispiel oben)
- messagetype: Nummer von 0-3: 0=Ja/Nein; 1=Info; 2=Message; 3=Attention (Beispiele findet Ihr weiter unten)
- messagetimeout: Zeit, nach der die Benachrichtigung verschwinden soll. Kann auch weggelassen werden. Dann bleibt die Nachricht solange stehen, bis diese mit OK auf der Fernbedienung bestätigt wird
Das besondere Highlight. VU+ "steuert" das HomeCenter
Euch ist sicherlich aufgefallen, dass wir dem messagetyp=0 (Ja/Nein) oben keine besondere Beachtung geschenkt haben. ;) Das hat auch einen bestimmten Grund. Mit diesem Nachrichtentyp ist es nämlich möglich, Rückmeldung an das HomeCenter zu senden und anhand dieser Rückmeldungen bestimmte Aktionen auszuführen.
Dafür möchten wir euch mal an einem konkreten Beispiel die mögliche Nutzung vorstellen:
Stellt euch vor, Ihr sitzt Abends auf dem Sofa und schaut fern. Mit dem Laufe der Dämmerung wird es draußen immer dunkler und dunkler. Zwangsläufig wird es auch bei euch im Wohnzimmer immer dunkler. Nun unterschreitet der Lux-Wert im Raum einen bestimmten Wert. Klar, Ihr könntet zum Beispiel eine Stehlampe in diesem Fall automatisch einschalten lassen. Aber vielleicht wollt Ihr das in diesem Moment ja gar nicht, weil Ihr euch grad einen spannenden Film anschaut... Nun, ab jetzt könnt Ihr euch einfach eine Abfrage auf den TV schicken, mit dem Ihr bestimmen könnt, ob die Stehlampe nun eingeschaltet wird, oder nicht...
Dazu müsst Ihr euch nur einen Button im Virtuellen Device des VU+ einrichten, welcher ausgelöst wird, wenn der Lux-Wert eines devices auf unter 50 Lux fällt. Dann kopiert Ihr folgenden Code in diesen Button:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
local selfId = fibaro:getSelfId() local ip = fibaro:get(selfId, "IPAddress") local counter = 0 local answer = 0 local url = "/web/message?text=Lux-Wert%20unter%2050!%20Stehlampe%20einschalten?&type=0&timeout=30" local ws = Net.FHttp(ip, 80) local resp = ws:GET(url) while (counter <= 30 and answer == 0) do fibaro:sleep(1*1000) fibaro:debug(counter); counter = counter + 1 local url2 = "/web/messageanswer?getanswer=now" local ws2 = Net.FHttp(ip, 80) local resp2 = ws2:GET(url2) --KEINE ANTWORT GEKOMMEN a, b = string.find(resp2,"Keine rechtzeitige Antwort") if (a == nil and b == nil) then fibaro:debug('a & b == NIL') else response_false = string.sub(resp2, a, b) fibaro:debug(response_false) end -- ANTWORT:JA c, d = string.find(resp2,"Antwort lautet JA!") if (c == nil and d == nil) then fibaro:debug('c & d == NIL') else response_true_yes = string.sub(resp2, c, d) fibaro:debug(response_true_yes) answer = 1 end -- ANTWORT: NEIN e, f = string.find(resp2,"Antwort lautet NEIN!") if (e == nil and f == nil) then fibaro:debug('e & f == NIL') else response_true_no = string.sub(resp2, e, f) fibaro:debug(response_true_no); answer = 1 end end -- COUNTER ABGELAUFEN oder ANTWORT ERFOLGT if (answer == 1) then -- ANTWORT ERFOLGT fibaro:debug('Antwort erfolgt') else -- COUNTER IST ABGELAUFEN. ALTERNATIVE? fibaro:debug('COUNTER OFF'); end |
Um den Button des Virtuellen Devices zu nutzen, müsst Ihr folgende Zeilen anpassen:
- Zeile 6: Message, welche geschickt werden soll + den Counter, wie lange die Nachricht angezeigt werden soll (timeout)
- Zeile 11: Counter an timeout angleichen
- Zeile 32: Aktion, welche bei Antwort JA ausgeführt werden soll
- Zeile 41: Aktion, welche bei Antwort NEIN ausgeführt werden soll
- Zeile 51: Aktion, welche beim Verstreichen der TimeOut-Zeit angewendet werden soll
Das war es auch schon... Wir wünschen euch viel Spass mit dem virtuellen Device :)