Newbie benötigt Hilfe mit NodeRed undHue

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Hubs
    Azubi
    • 20.04.2021
    • 3

    #1

    Newbie benötigt Hilfe mit NodeRed undHue

    Hallo liebe Community.

    Ich entschuldige mich schon vorab dafür, falls mein Post hier falsch sein sollte...

    Ich habe meinen Loxone-Server erfolgreich in Betrieb genommen, und stehe nun vor der Aufgabe, meine HUE Beleuchtung in Loxone zu integrieren.
    Zukünftig soll die komplette HUE Steuerung über Loxone laufen und keine Logik mehr in der HUE Bridge sein.
    Nach langer Recherche hab ich mich für die Variante mit NodeRed entschieden.
    Ich komme zwar aus der Automatisierungstechnik Branche, habe aber mit Coding gar nichts am Hut, deshalb sollte die Umsetzung eher grafisch und intuitiv erfolgen.
    Also es läüft nun Loxberry auf einem Rasperry und darauf hab ich NodeRed installiert.
    HueMagic und Loxone hab ich als Nodes installiert.
    Prinzipiell stelle ich mir das so vor, dass ich alle relevanten Sensordaten von der HUE-Bridge im NodeRed abgreife und diese dann an den Miniserver zur weiteren Verarbeitung weiterschicke.
    Aktuell ist es mir schon gelungen, über Loxone-Schalter via control in meine Lampen an/aus anzusteuern.
    Nun möchte ich gerne von den Bewegungsmeldern den Status, sowie Helligkeit, Temperatur und co an den Miniserver übertragen.
    Für mich würde es am sinnvollsten erscheinen, dies über virtuelle Eingänge in Loxone zu erledigen.
    Über debug seh ich nun z.B. dass der Lightsensor unter msg.payload lux, lightlevel, dark, daylight und updated ausgibt.
    Wenn ich nun die Lux übertragen will, würde ich einen analogen virtuellen Eingang in Loxone anlegen und dann msg.payload.Lux auf msg.payload.xxx ändern und das dann an ein control aut schreiben..
    Wie gesagt, msg.payload.xxx
    Die Eingänge kann ich debuggen, da weiß ich, was in msg.payload drinnen steckt, aber Richtung Loxone weiß ich nicht, was ich an dein einzelnen Bausteinen übertragen muss.
    Ich hab mir das Loxone structure file auch schon ein paar Male angesehen, werde dadurch aber auch nicht schlauer.
    Hat hier jemand vll. für einen Einsteiger nützliche Tips, oder eine Art getting started für Dummies ?
    Die HowTo´s für Einrichtung habe ich schon alle durch, nur die Programmierung wird nur am Rande angesprochen.
    Wenn die Kommunikation mit der HUE-Bridge und Loxone steht, will ich als nächstes RGBW Farbsteuerung über Loxone umsetzen.
    Hier hätte ich gedacht, ich nehme die RGB Lichtszene als Baustein, oder wie würdet ihr das umsetzen?

    mfg


  • Lenardo
    MS Profi
    • 25.08.2015
    • 613

    #2
    Bin nicht besonders gut in Fragen verstehen und auch nicht schreib wütig am Tablet.

    wenn du HUE Lampen steuern willst kannst du hier mal reinschauen

    https://www.loxforum.com/forum/faqs-...rwenden/page35

    Post #512

    also am Loxone Lichtbaustein Ausgänge definieren (rgb oder dimmen oder ein/aus) und dann einfach in red Node miteinander verbinden.

    dasselbe geht auch umgekehrt, dazu musst du in Loxone virtuelle Eingänge anlegen und diese visualisieren (einfach in eine nicht verwendete Kategorie legen und unter Raum „nicht zugeordnet“ auswählen)

    diese visualisierten virtuellen Eingänge kannst du dann in red Node auswählen und mit den HUE Werten verbinden

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 8A4F6A79-0136-4122-864C-CC2206DE261D.jpeg
Ansichten: 556
Größe: 400,7 KB
ID: 301450
    Zuletzt geändert von Lenardo; 20.04.2021, 22:31.

    Kommentar

    • Hubs
      Azubi
      • 20.04.2021
      • 3

      #3
      Hallo Leonardo.
      Danke für die rasche Antwort.
      Das mit dem Lichtbaustein gefällt mir schon sehr...
      Nur der Punkt mit dem "einfach verbinden" bringt mich ans verzweifeln. Mich würde z. B. die config der blau markierten Bausteine interessieren.
      Auch wenn ich die Hue Werte auf virtuelle Eingänge lege, fehlt mir dazwischen die entsprechende konfig damit ich das Signal richtig aufbereite bevor es an loxone übermittelt wird.
      Hier fehlen mir wohl die basics, wie ich msg.payload entsprechend aufbereite.
      Wenn zb. der Lux Wert auf nen virtuellen Eingang beschallen werden soll, wie sieht dann die config aus? Unter msg.payload.lux wird der Wert von Hue bereitgestellt. Muss ich msg.payload.lux nun auf msg.payload schreiben, damit das der virtuelle Eingang korrekt erkennt? Ich hoffe, es kommt einigermaßen verständlich rüber...

      Kommentar

      • Lenardo
        MS Profi
        • 25.08.2015
        • 613

        #4
        Den blauen Teil musst du nicht bearbeiten, nur den fertigen Flow kopieren und in deine Seite reinkopieren,

        https://flows.nodered.org/flow/a2be6...a0591ab1a69e35

        dann nimmst du ein Loxone Node und wählst den Lichtbaustein aus, den Raum und die Kategorie und dann dann nimmst du den jeweiligen Controll (Lichtbaustein Ausgang ) und verbindest diesen mit den Flow (blau) und am anderen Ende mit der HUE Lampe.
        wenn du das dann speicherst, kannst du in der Loxone App eine Lichtszene auswählen/einstellen und das wird über red Node an die HUE Lampen weitergeleitet.

        Du machst also alle Farbeinstellungen in der Loxone App.und nirgends sonst, sonst wird’s kompliziert.

        den umgekehrten Weg brauchst du eigentlich nur dafür das auslösen eines bwm an Loxone zu melden oder die aussenhelligkeit oder wenn du eine HUE Fernbedienung verwendest oder einen Schalter.

        da hängst du an den HUE Node hinten einen Debug Node an und schaust was der meldet, je nachdem konfigurierst du den Eingang in Loxone.

        wenn du fragen hast stell Bilder ein was du gemacht hast und wo die Lücke ist.

        Kommentar

        • Lenardo
          MS Profi
          • 25.08.2015
          • 613

          #5
          vielleicht noch den blauen Teil alleine zum kopieren und einfügen, hoffe das klappt

          [{"id":"4cf61fda.ac36d","type":"tab","label":"Fl ow 1","disabled":false,"info":""},{"id":"3a616e31.278 c72","type":"color-convert","z":"4cf61fda.ac36d","input":"hsv","outpu t":"rgb","outputType":"array","x":545,"y":180,"wir es":[["be43242.98660d8"]]},{"id":"11576cd0.6ef553","type":"function","z":"4 cf61fda.ac36d","name":"split hsv","func":"msg.payload = msg.payload.replace("hsv(", "").replace(")", "").split(",");\nflow.set("brightness", msg.payload[2]);\nreturn msg;","outputs":1,"noerr":0,"x":390,"y":180,"wires ":[["3a616e31.278c72"]]},{"id":"be43242.98660d8","type":"function","z":"4 cf61fda.ac36d","name":"RGB > msg","func":"var brightness = flow.get("brightness");\nif (brightness == '0') {\n return { payload: { on: false } };\n}\nreturn { payload: { on: true, rgb: msg.payload, brightness: brightness } };","outputs":1,"noerr":0,"x":715,"y":180,"wires ":[[]]},{"id":"db906382.6ad04","type":"switch","z":"4cf6 1fda.ac36d","name":"hsv or temp","property":"payload","propertyType":"msg","r ules":[{"t":"cont","v":"hsv(","vt":"str"},{"t":"cont","v" :"temp(","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x": 208.5,"y":210,"wires":[["11576cd0.6ef553"],["57931310.76c26c"]]},{"id":"57931310.76c26c","type":"function","z":"4 cf61fda.ac36d","name":"spilt temp","func":"msg.payload = msg.payload.replace("temp(", "").replace(")", "").split(",");\nreturn msg;","outputs":1,"noerr":0,"x":395,"y":220,"wires ":[["8500a812.823c68"]]},{"id":"8500a812.823c68","type":"function","z":"4 cf61fda.ac36d","name":"Temp > RGB > msg","func":"var brightness = parseInt(msg.payload[0]);\nif (brightness == '0') {\n return { payload: { on: false } };\n}\n\nvar kelvin = parseFloat(msg.payload[1]);\nvar temp = kelvin / 100;\nvar red, green, blue;\n\nif (temp <= 66) { \n red = 255; \n\n green = temp;\n green = 99.4708025861 * Math.log(green) - 161.1195681661;\n\n if (temp <= 19) {\n blue = 0;\n } \n else {\n blue = temp - 10;\n blue = 138.5177312231 * Math.log(blue) - 305.0447927307;\n }\n} \nelse {\n red = temp - 60;\n red = 329.698727446 * Math.pow(red, -0.1332047592);\n\n green = temp - 60;\n green = 288.1221695283 * Math.pow(green, -0.0755148492 );\n\n blue = 255;\n\n}\n\nred = Math.round(Math.min(Math.max(red, 0), 255));\ngreen = Math.round(Math.min(Math.max(green, 0), 255));\nblue = Math.round(Math.min(Math.max(blue, 0), 255));\n\nreturn { payload: { on: true, rgb: [ red, green, blue ], brightness: brightness } };","outputs":1,"noerr":0,"x":585,"y":225,"wires ":[[]]}]

          Kommentar

          Lädt...