Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. HarlekinX

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    H
    • Profile
    • Following 0
    • Followers 0
    • Topics 3
    • Posts 7
    • Best 0
    • Groups 0

    HarlekinX

    @HarlekinX

    0
    Reputation
    28
    Profile views
    7
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    HarlekinX Follow

    Latest posts made by HarlekinX

    • RE: HM-ReGa 0.3.1 verursacht fehler

      Habe gerade auch 0.3.3 per GitHub installiert. Der Fehler ist bei mir weiterhin vorhanden:

      hm-rega-0 2016-03-06 12:20:13 error Cannot decode :Standard 100%

      Das Problem scheint wohl das % zu sein.

      Bei mir ist es der einzige Rega-State der ein Prozent-Zeichen im Value hat

      | hm-rega.0.2502 | Lichtzyklus | Lichtzyklus | Standard 100% | true | hm-rega.0 | 2016-03-06 12:27:44 | 2016-03-06 12:00:00 |

      posted in Error/Bug
      H
      HarlekinX
    • Hue-Adapter: Mehrere Werte auf einmal ändern

      Ist es möglich mit dem Hue-Adapter mehrere Werte auf einmal zu ändern, also z.B. on,bri,colormode,hue und sat ?

      Der Hintergrund:

      Ich habe an meinem Bett einen Hue Lightstripe den ich mit einem HomeMatic Taster schalte. Hierbei werden verschiedene Farbeinstellungen durchgewechselt.

      Ausgehend vom ausgeschalteten Zustand.

      1. Tastendruck:

      Dunkles Rot - wenn ich mal nachts kurz Licht brauche möchte ich zwar etwas sehen aber nicht von hellem Licht "geweckt" werden 😉

      2. Tastendruck (oder schalten des Schlafengehen-Modus mit einem anderen Taster):

      Farbe passend zum Bettlaken (echt jetzt 😄 Ich habe eine Systemvariable in der die aktuelle Farbe des Bettlakens gesetzt ist. Zu Grün passt hervorragend ein grünes Licht, zu Schwarz besser ein Lila, usw.)

      3. Tastendruck

      Weiss mit maximaler Helligkeit.

      Kurzer Tastendruck unten

      Eine Ebene zurück.

      Langer Tastendruck unten

      Sofort aus.

      Jedoch ist mir aufgefallen das, besonders wenn die Einstellung Weiss war, ich das Licht direkt ganz aus mache, und irgendwann später mit dem ersten Tastendruck das dunkle Rot einschalte, das Licht kurz "aufblitzt' und dann zum Rot abdunkelt.

      Die passiert, meiner Meinung nach, weil ich mit setState die einzelnen Werte hintereinander setze, also z.B:

      setState("xxx.on", true);

      setState("xxx.bri", 192);

      setState("xxx.hue", 65535);

      setState("xxx.sat", 254);

      Ich denke mal, bei jedem setState bekommt die Bridge einen Request gesendet und somit die Hue 4 einzelne Kommandos.

      Da die Farbe vorher ein helles Weiss war, und der erste Befehl ein ON ist (laut HUE-API können Farbwerte nur geändert werden wenn sie an ist) wird sie erst eingeschaltet (aktiviert also ihre vorherige Einstellung), dann die Helligkeit geändert, danach der Hue-Wert und dann die Saturation.

      Im Normalfall kann man der Hue aber alle Änderungen in einem einzigen Request senden. Somit würde das "Aufblitzen" vermieden.

      Ist eine solche Gruppierung auch mit dem Hue-Adapter möglich?
      305_bconrol.jpg

      posted in ioBroker Allgemein
      H
      HarlekinX
    • RE: Einbinden gemeinsam genutzter Komponenten
      var ON = true, OFF = false;
      
      var hue_id = {
        "Gang:Deckenlampe":"hue.0.Philips hue.Gang",
        "Büro:Schreibtisch":"hue.0.Philips hue.Schreibtisch",
        "Büro:Deckenlampe":"hue.0.Philips hue.Büro",
        "Büro:Leselampe":"hue.0.Philips hue.Leselampe",
        "Schlafzimmer:Bett":"hue.0.Philips hue.Schlafzimmer"
      };
      
      var hue_group = {
        "Gang":{ "bulbs":[ [hue_id['Gang:Deckenlampe'],0] ], "preset":0 },
        "Büro":{ "bulbs":[ [hue_id['Büro:Deckenlampe'],0], [hue_id['Büro:Schreibtisch'],-64] ], "preset":0 },
        "Leselampe":{ "bulbs":[ [hue_id['Büro:Leselampe'],0] ], "preset":0 },
        "Schlafzimmer":{ "bulbs":[ [hue_id['Schlafzimmer:Bett'],0] ], "preset":0 }
      };
      
      var hue_preset = {
        "72deg 100%":{"bri":254,"colormode":"hs","hue":13122,"sat":212},
        "72deg 75%":{"bri":192,"colormode":"hs","hue":13653,"sat":212},
        "Antique":{"bri":190,"colormode":"ct","ct":497},
        "Beruhigen":{"bri":145,"colormode":"ct","ct":463},
        "Fluorescent":{"bri":254,"colormode":"ct","ct":153},
        "Halogen":{"bri":254,"colormode":"ct","ct":299},
        "Konzentrieren":{"bri":254,"colormode":"ct","ct":234},
        "Lesegeschwindigkeit":{"bri":241,"colormode":"ct","ct":343},
        "Nacht 50%":{"bri":127,"colormode":"hs","hue":65535,"sat":254},
        "Nacht 75%":{"bri":192,"colormode":"hs","hue":65535,"sat":254},
        "Regenerieren":{"bri":204,"colormode":"ct","ct":153},
        "Schwarzlicht":{"bri":50,"colormode":"hs","hue":48000,"sat":254},
        "Standard 100%":{"bri":254,"colormode":"hs","hue":14922,"sat":145},
        "Standard 75%":{"bri":192,"colormode":"hs","hue":14922,"sat":145}
      };
      
      function setHuePreset(preset, group) {
      
          for (var n = 0; n < group.bulbs.length; n++) {
      
              var id_bulb = group.bulbs[n][0];
              var level = preset["bri"] + group.bulbs[n][1];
              if (level < 0) {
                  level = 0;
              }
              if (level > 254) {
                  level = 254;
              }
      
              setState(id_bulb+'.on', ON);
              setState(id_bulb+'.bri', level);
      
              switch(preset.colormode) {
                  case "hs":
                      setState(id_bulb+'.colormode', 'hs');
                      setState(id_bulb+'.hue', preset.hue);
                      setState(id_bulb+'.sat', preset.sat);
                      break;
                  case "ct":
                      setState(id_bulb+'.colormode', 'ct');
                      setState(id_bulb+'.ct', preset.ct);
                      break;
                  default:
                      setState(id_bulb+'.colormode', 'xy');
                      // TODO: Colormode from xy array
              }
          }
      }
      
      

      Dies ist der Code den ich per eval in mehrere Skripte einbinde da ich, wie vorher schon geschrieben, Geräte-/Funktionsgruppen zur besseren Übersicht voneinander trenne.

      hue_id dient nur der Vereinfachung.

      hue_group entstand eigentlich nur da ich in meinem Büro eine Deckenlampe und eine Schreibtischlampe habe und diese in der Regel gleich eingestellt werden, aber die Schreibtischlampe 25% dunkler sein muss, damit beide gleich hell wirken.

      hue_preset enthält die Werte die ich direkt von der Bridge per Paw (Mac Applikation) auslese und in einzelnen Dateien speichere. Damit kann ich Einstellungen die ich mit diversen Apps mache und mir gefallen, dauerhaft sichern. Darüber lasse ich ein Ruby Skript laufen welches alle Dateien ausliest, den kompletten Hash ausgibt und dabei nicht benötigtes weglässt.

      Es funktioniert alles so wie ich es möchte, allerdings habe ich einen kleinen Haken bei dem Hue-Adapter festgestellt. Dazu werde ich aber die Frage im passenden Adapter-Bereich des Forums stellen um nicht vom Thema abzuschweifen.

      posted in JavaScript
      H
      HarlekinX
    • Einbinden gemeinsam genutzter Komponenten

      Ich habe für die Ansteuerung meiner Hue-Birnen ein Skript geschrieben welches eine Liste von Presets in einem Hash ablegt und die Funktion SetHuePreset bereitstellt.

      Da ich meine Skripte zur besseren Übersichtlichkeit nach Geräte-/Funktionsgruppen trenne, z.B. Taster Schlafzimmer oder Anwesenheitsstatus habe ich das Preset-Skript bisher per eval in die einzelnen Skripte eingebunden.

      var fs = require('fs');
      eval(fs.readFileSync('/opt/iobroker/scripts/hue_presets.js','utf8'));
      
      

      Ist das so richtig oder gibt es einen besseren Weg?

      posted in JavaScript
      H
      HarlekinX
    • RE: On/subscribe wird nur einmal ausgeführt

      val:true funktioniert ebenfalls. Es kann ja so einfach sein 🙂

      posted in JavaScript
      H
      HarlekinX
    • RE: On/subscribe wird nur einmal ausgeführt

      Wow, danke für die schnelle Antwort.

      Gleich getestet und es funktioniert 🙂 Super!

      Was mich nur wundert, ich hatte ja vorher schon Skripte für CCU.IO genutzt um meine Hue Birnen mit den HomeMatic Tastern zu schalten.

      Dabei habe ich immer …, val:1 genutzt. Dies funktioniert bei ioBroker aber wohl nicht mehr.

      Aber egal, jetzt wird gescriptet. Ist echt nervig wenn man sich an den Komfort von echten Tastern gewöhnt hat und zwischenzeitlich wieder auf das iPhone/iPad umsteigen musste 😉
      144_20161023_193207.jpg

      posted in JavaScript
      H
      HarlekinX
    • On/subscribe wird nur einmal ausgeführt

      Hallo,

      ich bin gerade dabei ioBroker zu testen und will eigentlich direkt von CCU.IO wechseln, welches mir bisher gute Dienste geleistet hat (dickes Lob an die Entwickler).

      Aktuell experimentiere ich mit den HomeMatic und dem Javascript Adapter.

      Leider habe ich das Problem das ein on/subscribe tatsächlich nur ein einziges mal ausgeführt wird, danach gibt es keine Reaktion mehr bis ich die den JS Adapter neu starte. Danach natürlich auch wieder nur ein mal.

      Das Skript habe ich erstmal sehr einfach gehalten:

      log("SCRIPT START","info");
      on("hm-rpc.0.LEQXXXXXXX.2.PRESS_SHORT", function(obj) {
          log("EVENT ERKANNT","info");
      });
      
      

      Beim ersten Tastendruck wird der Log-Eintrag geschrieben, danach nicht mehr.

      Die States-Liste reagiert auf jeden Tastendruck und aktualisiert den Timestamp.

      Wenn ich so in das Forum schaue scheint sonst niemand das Problem zu haben.

      Ich benutze die Version 0.2.2 des JS Adapters. Das ioBroker.log zeigt keine Fehler an.

      Vielleicht in diesem Zusammenhang: Ist es richtig das ich die Adapter, trotz aktualisierter Adapter-Liste erstmal manuell per "npm install iobroker.xxx –production ..." installieren muss, damit ich in der Liste eine Instanz installieren kann? Oder habe ich bei der Installation insgesamt etwas falsch gemacht?

      Die Installation läuft auf Ubuntu 14.04.

      nodejs, npm, couchdb und redis habe ich via apt installiert.

      posted in JavaScript
      H
      HarlekinX
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo