Tutorial: Hue-Integration in Loxone über ioBroker

Dieses Tutorial zeigt, wie man Philips Hue Produkte über die Hue Bridge mit Hilfe von ioBroker in Loxone integriert.

Voraussetzungen:

  • Loxone Miniserver
  • Laufender ioBroker
  • Philips Hue Bridge (eingerichtet)

Verwendete ioBroker-Adapter:

  • Loxone
  • hue
  • Simple RESTful API
  • Script Engine (Javascript)

WICHTIG!

Leider ist mir im Video ein Fehler unterlaufen.
Ich habe vergessen zu zeigen, wie man den Datenpunkt anlegt.

In diesem Beispiel heißt mein Datenpunkt:
javascript.0.lox-buero-licht-zu-HUE

Den Namen des angelegten Datenpunktes hinterlegt man dann in der Loxone Config in der Adresse und in dem ioBroker Script in der ersten Zeile.
Der Name des Scripts selbst ist für uns nicht von Relevanz.

Script für ioBroker

Download (als JSON in ZIP-Datei)

 

Beispiel-Dateiname: “lox-Buero-Licht-zu-HUE-Schreibtisch”

Code:

on({id: ‘javascript.0.lox-buero-licht-zu-HUE’, change: “ne”}, function (obj){
var value = obj.state.val;
var oldvalue = obj.oldState.val;
var loxstring = String(getState(“javascript.0.lox-buero-licht-zu-HUE”).val);
var r = Math.round(255/100*parseInt(loxstring.substr(-3,3)|’0′));
var g = Math.round(255/100*parseInt(loxstring.substr(-6,(loxstring.length<6 ? (loxstring.length-3) : 3))|’0′));
var b = Math.round(255/100*parseInt(loxstring.substr(-9,(loxstring.length<9 ? (loxstring.length-6) : 3))|’0′));
var Helligkeit = Math.round(Math.max(r,g,b)/2.55);
var red = r/255;
var green = g/255;
var blue = b/255;
red = (red > 0.04045) ? Math.pow((red + 0.055) / (1.0 + 0.055), 2.4) : (red / 12.92);
green = (green > 0.04045) ? Math.pow((green + 0.055) / (1.0 + 0.055), 2.4) : (green / 12.92);
blue = (blue > 0.04045) ? Math.pow((blue + 0.055) / (1.0 + 0.055), 2.4) : (blue / 12.92);
var X = red * 0.664511 + green * 0.154324 + blue * 0.162028;
var Y = red * 0.283881 + green * 0.668433 + blue * 0.047685;
var Z = red * 0.000088 + green * 0.072310 + blue * 0.986039;
var divisor = (X + Y + Z);
if (divisor === 0)
{
setState(“hue.0.Schreibtisch.on”,false);
}
else
{
var x = X / divisor;
var y = Y / divisor;
setState(“hue.0.Schreibtisch.xy”,x+”,”+y);
setState(“hue.0.Schreibtisch.level”,Helligkeit);
}
});

18 Meinungen zu “Hue-Integration in Loxone über ioBroker

  1. Chris8519 sagt:

    Echt klasse gemacht ….leider macht das Copy Paste Probleme da geht die formatierung nicht mit wie bei dir im Video …. viellecht noch als datei anhängen … Viele Grüße

  2. steinermaster sagt:

    Bin zwar noch nicht final mit Testen, aber wäre folgender Weg eine Lösung für die Programmierung?
    1. Copy Paste und Anpassung des scripts in ioBroker
    2. Befehl exportieren nutzen und eine zip.Datei auf PC speichern
    3. Programm Freeware Notepad++ starten (oder weiteres Prog. wäre Atom) und dort auch den Script text von hier in neue Datei kopieren, dann als *js Datei Javascript speichern
    4. nun sollte die Formatierung sichtbar sein (Farben) und man öffnet nun aus der Zip die script datei
    5. rüberkopieren und speichern
    6. neue Zip Datei erstellen
    7. in ioBroker die Importfunktion nutzen und das Script importieren

    Geht alles ggf. auch viel einfacher 😉

  3. c.broede sagt:

    Hallo zusammen,
    leider bekomme ich meine HUE Lampen nicht über Loxon angesteuert 🙁 …
    Ich bin das Video unzählige male durchgegangen in etlichen Anläufen und somit sind da einige Stundendrauf gegangen und ich finde den Fehler jedoch leider nicht.
    Meine Vermutung liegt aktuell nur noch am Javascript….

    Zum Javascript:
    dieses wird per copy&paste nicht so aufgelöst wie im Bild oben im Bild.
    Jedoch unterscheidet sich dieses nur geringfügig in der Farbe und das diese farbigen Zahlenwerte (unterstrichen und zum klicken sind) ist das den relevant?

    Es geht um folgenden Bereich :
    var X = red * 0.664511 + green * 0.154324 + blue * 0.162028;
    var Y = red * 0.283881 + green * 0.668433 + blue * 0.047685;
    var Z = red * 0.000088 + green * 0.072310 + blue * 0.986039;

    Es handelt sich um die Zahlenwerte die oben im Text blau dargestellt und unterstrichen sind.

    Ich habe es auch schon mit der Zipdatei probiert aber irgendwie habe ich das noch nicht hin bekommen.

    Wäre super wenn ihr mir einen Tip geben könntet…

    Danke!

    Gruß
    Christian

  4. c.broede sagt:

    Wow ein wildes Script 🙂 ich versuche es noch mal 🙂

    Hallo zusammen,
    leider bekomme ich meine HUE Lampen nicht über Loxon angesteuert 🙁 …
    Ich bin das Video unzählige male durchgegangen in etlichen Anläufen und somit sind da einige Stundendrauf gegangen und ich finde den Fehler jedoch leider nicht.
    Meine Vermutung liegt aktuell nur noch am Javascript….
    Zum Javascript:
    dieses wird per copy&paste nicht so aufgelöst wie im Bild oben im Bild.
    Jedoch unterscheidet sich dieses nur geringfügig in der Farbe und das diese farbigen Zahlenwerte (unterstrichen und zum klicken sind) ist das den relevant?
    Es geht um folgenden Bereichmit den XXXXXX :
    var X = red * XXXXXX + green * 0.154324 + blue * XXXXXX;
    var Y = red * XXXXXX+ green * XXXXXX + blue * 0.047685;
    var Z = red * 0.000088 + green * 0.072310 + blue * 0.986039;
    Es handelt sich um die Zahlenwerte die oben im Text blau dargestellt und unterstrichen sind.
    Ich habe es auch schon mit der Zipdatei probiert aber irgendwie habe ich das noch nicht hin bekommen.
    Wäre super wenn ihr mir einen Tip geben könntet…
    Danke!
    Gruß
    Christian

  5. Aiolos sagt:

    Hallo zusammen

    Ich schaue mir die Videos der Allroundbastler sehr gerne an und freue mich immer, wenn wieder eine neue Folge erscheint.

    Die Integration von Hue in Loxone hat mit oben stehendem Script wunderbar geklappt, mit einer Ausnahme: Sobald der Lichtbaustein auf die Stimmung “Aus” geschaltet wird, stoppt das script und startet nicht mehr von selber neu. Ich habe das Problem in diversen Debugging-Stunden eingegrenzt. Es scheint nichts mit dem Inhalt des Scripts zu tun zu haben. Selbst wenn ausschliesslich der on-event abgegriffen und ein log-stmt abgesetzt wird, startet das script nach “Aus” nicht neu. Für alle anderen Stimmungen wird das script verarbeitet und im Anschluss einen neue Instanz gestartet.

    Bin ziemlich ratlos und um jeden Hinweis dankbar.

    Vielen Dank und macht’s schwer gut,
    Aiolos

  6. wokka sagt:

    Nachdem es wieder fast 2h Nachts ist, geb’ ich auf für heute, immerhin:
    – bin ich draufgekommen dass ich Adapter “Simple RESTful API” auch noch installieren muss, und
    – ich die Variablennamen jetzt (hoffentlich) richtig habe, nachdem ich “Objekt-ID-einfügen” Icon genutzt habe, im Scripteditor (rechts oben)
    – und die manuelle Steuerung der HUE Lampen von iOBroker funktioniert, und
    – die Licht-Änderung im iOBroker-Loxone Objekt erkennbar ist, und
    – sich bei Änderung am Script-Objekt etwas tut (aktualsiert wird immer das “false”) und jetzt das Highlight (Nach Simple RESTful API installation und Portänderung von 8081 auf 8087)
    – sobald die Lichtwerte > 0 sind, stoppt das Script ;-). (Ich geb’s zu ich bin iOBroker-Anfänger…)

  7. smistetzky sagt:

    Hallo Allroundbastler,

    danke für eure tollen Tutorials!
    Ich versuche gerade diese hier umzusetzen – was für mich absolutes Neuland ist.
    Euer Skript habe ich in iobroker kopiert und versucht an meine Parameter anzupassen.
    Leider bekomme ich permanent einen Fehler geworfen der sich mir nicht erschließt.

    Fehler
    javascript.0 (4039) script.js.common.lox-buero-licht-zu-HUE-PC compile failed: at script.js.common.lox-buero-licht-zu-HUE-PC:1

    Meine Skript ID
    script.js.common.lox-buero-licht-zu-HUE-PC

    Meine Erachtens sollte das doch so passen – habt Ihr einen Tipp für mich was ich falsch mache?

    Danke und vG
    Sascha

    • b.witting sagt:

      Hallo,

      nach dem neu aufsetzen meines Raspi mit ioBroker habe genau den gleichen Fehler:
      error javascript.0 (2848) script.js.common.lox-kaffeemaschine-licht-zu-HUE compile failed: at script.js.common.lox-kaffeemaschine-licht-zu-HUE:1

      Gibt es da schon eine Lösung?

      Danke und Frohe Ostern
      Björn

  8. JH-Solutions sagt:

    Hallo, habe es versucht das Ganze nachzumachen. Leider kann ich aber keine Werte an den ioBroker senden mit “value=” erhalte ich in ioBroker immer nur eine “0” habe schon mal versucht mit Status werten. Bleibt aber leider immer nur bei “0”. Wo liegt hier der Fehler? Gibt es die Möglichkeit ein Loxone Projekt von der YouTube Demo zu bekommen?
    Lg
    Jürgen Haimer

  9. online.nist sagt:

    Hallo Aroundbastler,
    auch ich bekomme es nicht zum laufen.
    Bei Loxone Config habe ich beim virtuellen Ausgang den Befehl “/set/javascript.0.lox-wohnzimmer-HUE?value=” hinterlegt. Bei ioBroker habe ich beim Skript die erste Zeile “on({id: ‘javascript.0.lox-wohnzimmer-HUE’, change: “ne”}, function (obj){” sowie unten den LED Strip “hue.0.Oberlicht.on” hinterlegt oder müsste hier “hue.0.Philips_hue.Oberlicht” stehen, also den Namen der Hue Bridge davor?
    Jedoch lässt sich kein Licht schalten.

    Könnt ihr auch ein Beispiel machen, wie man Szenen von der Hue integiert, sowie ein Beispiel mit den verschieden Weißtönen (Bei der Hue nennt sich die Weißtöne Entspannen, Lesen, Konzentrieren und Energie tanken).
    Vielen Dank
    Gerald

  10. online.nist sagt:

    Ist der Port 8087 beim Adapter Simple api richtig eingestellt? Bei mir ist die Adresse zum ibroker am Ende mit 8081. Ist das soweit ok?
    Oder muss man noch weitere Einstellungen beachten?

  11. b.witting sagt:

    Hallo,

    bekomme nach dem Neuaufsetzen meines Raspi ebenfalls den Fehler:
    error javascript.0 (2848) script.js.common.lox-kaffeemaschine-licht-zu-HUE compile failed: at script.js.common.lox-kaffeemaschine-licht-zu-HUE:1

    und das Skrip läuft nicht.
    Wo ist da der Fehler? Auf dem alten System hat es funktioniert, deshalb auf Loxone-Seite alles gleich.

    Danke und Frohe Ostern
    Björn

  12. chris.k sagt:

    Für alle die Probleme haben – neben dem reinen Kopieren des Scripts was hier ja schon diskutiert wurde – muss man beim “Virtuellen Ausgang Befehl” das Häkchen bei “Als Digitalausgang verwenden” entfernen. Dann klappt es wunderbar.

Schreibe einen Kommentar