NEWS
Farbe bei Yahka(HomeKit) mit Yeelight
-
@loverz
es ist einfache Mathematik.im "toHomekit" Skript ist value der Wert der vom ioBroker kommt, also bei Dir 2700 - 6500, Mathematisch wird daraus:
bei value = 0: 500
bei value = 2700 : 354.4
bei value - 6500: 140im "toIobroker" Skript ist value der Wert von HomeKit, also 500-140
Die Formel kannst du dann selber ausrechnen.
Um auf 2700 - 6500 zu kommen, nicht 0 - 6500 kannst du einfach den Wert "650" durch "380" ersetzen.
Zur Sicherheit würde ich wie folgt arbeiten:
toHomekitreturn Math.max(Math.min(140+(6500-value) * 36/380, 500),140)toIoBroker
return Math.max(Math.min(6500-(value-140)*380/36, 6500),2700)A.
@Asgothian sagte in Farbe bei Yahka(HomeKit) mit Yeelight:
return Math.max(Math.min(6500-(value-140)*380/36, 6500),2700)
WOW, Mega! Das funktioniert.
Ich danke dir vielmals!!
Schönen Abend noch. -
@loverz
es ist einfache Mathematik.im "toHomekit" Skript ist value der Wert der vom ioBroker kommt, also bei Dir 2700 - 6500, Mathematisch wird daraus:
bei value = 0: 500
bei value = 2700 : 354.4
bei value - 6500: 140im "toIobroker" Skript ist value der Wert von HomeKit, also 500-140
Die Formel kannst du dann selber ausrechnen.
Um auf 2700 - 6500 zu kommen, nicht 0 - 6500 kannst du einfach den Wert "650" durch "380" ersetzen.
Zur Sicherheit würde ich wie folgt arbeiten:
toHomekitreturn Math.max(Math.min(140+(6500-value) * 36/380, 500),140)toIoBroker
return Math.max(Math.min(6500-(value-140)*380/36, 6500),2700)A.
@Asgothian sagte in Farbe bei Yahka(HomeKit) mit Yeelight:
return Math.max(Math.min(6500-(value-140)*380/36, 6500),2700)
WOW, Mega! Das funktioniert.
Ich danke dir vielmals!!
Schönen Abend noch.jetzt muss ich doch nochmal nachhaken, da ich an einer anderen Stelle (KNX) einen Wert in Prozenz (0-100) brauche.Nun muss ich die 2700-6500 Kelvin in die Prozent umrechnen.
Wie bist du oben auf die 354,4 gekommen?
Ich bin in Mathematik leider nicht so ein Genie, und weiß daher nicht wirklich, wie ich vorgehen muss :(
-
@Asgothian sagte in Farbe bei Yahka(HomeKit) mit Yeelight:
return Math.max(Math.min(6500-(value-140)*380/36, 6500),2700)
WOW, Mega! Das funktioniert.
Ich danke dir vielmals!!
Schönen Abend noch.jetzt muss ich doch nochmal nachhaken, da ich an einer anderen Stelle (KNX) einen Wert in Prozenz (0-100) brauche.Nun muss ich die 2700-6500 Kelvin in die Prozent umrechnen.
Wie bist du oben auf die 354,4 gekommen?
Ich bin in Mathematik leider nicht so ein Genie, und weiß daher nicht wirklich, wie ich vorgehen muss :(
-
Du willst von 2700-6500 auf 0 bis 100 umrechnen, oder von 2700-6500 auf 100-0 umrechnen ?
@Asgothian 2700-6500 von 0-100%, aber hab was gefunden, was mir geholfen hat:
https://www.gutefrage.net/frage/prozentwert-aus-einem-wertebereich-ermitteln-formel -
@loverz
es ist einfache Mathematik.im "toHomekit" Skript ist value der Wert der vom ioBroker kommt, also bei Dir 2700 - 6500, Mathematisch wird daraus:
bei value = 0: 500
bei value = 2700 : 354.4
bei value - 6500: 140im "toIobroker" Skript ist value der Wert von HomeKit, also 500-140
Die Formel kannst du dann selber ausrechnen.
Um auf 2700 - 6500 zu kommen, nicht 0 - 6500 kannst du einfach den Wert "650" durch "380" ersetzen.
Zur Sicherheit würde ich wie folgt arbeiten:
toHomekitreturn Math.max(Math.min(140+(6500-value) * 36/380, 500),140)toIoBroker
return Math.max(Math.min(6500-(value-140)*380/36, 6500),2700)A.
@asgothian Könntest du bitte deine Berechnung für das Skript genauer erläutern?
Ich müsste sie für meine Anwendung anpassenMeine Werte liegen für Ikea Lampen min 2203 und max 4000
Philips Hue Lampen min 2203 und max 6494 -
@Asgothian Es geht hauptsächlich um die Farbtemperatur, die Farbe konnte ich nun bereits selbst herausfinden.
Dort erwartet der Yeelight-Adapter diese Kelvinwerte zwischen 0 und 6500
Homekit erwartet dort Werte zwischen 140 und 500, die so wie ich es nachgelesen habe auch noch invertiert sind.
Heißt: 6500 Kelvin sind gleich 140 bei Homekit.Bin da leider ein völliger Newbie habe gestern erst angefangen. Und dachte, dass jemand bestimmt schon auf das Problem gestoßen ist und eine einfache Anleitung geben könnte.
-
Meine Yeelight hat 1700k - 6500k.
Habe das Script von @asgothian so abgeändert. Bei mir schmiert der Yeelight 2.0 Adapter immer ab.toHomekit
return Math.max(Math.min(140+(6500-value) * 36/380, 500),140)
toIoBroker
return Math.max(Math.min(6500-(value-140)*380/36, 6500),1700)
-
- du von Hand den Farbwert schnell innerhalb des gültigen Ranges veränderst
- du ggf. eine Fliesskommazahl einträgst (also 3000.5 - was bei der Berechnung passieren kann)
Wo genau kann man das alles machen ?
Ich muss gestehen, ich weiß nicht genau was du meinst, aber ich versuche es mal zu beschreiben, falls das hilft.
An Hand der Bilder.Auf dem ersten Bild kann ich die Farben einfach wechseln. Orange, Lila, Weiß. Hier passiert nichts, alles gut.
Auf dem zweiten Bild, bleibe ich innerhalb des markierten Kreises passiert auch nichts, wenn ich aber außerhalb, die stelle mit X markiert, wähle, stürzt der Yeelight 2.0 Adapter ab und startet neu und die Lampe freezt bzw ist erst mal in Homekit nicht mehr steuerbar.

-
Mir war schon klar was gemeint ist. Du musst folgendes testen:
- im Objektbaum, in den Datenpunkt der die Farbe steuert eine Zahl mit Nachkommastelle eingeben - stürzt der Yeelight Adapter dann ab ?
- an gleicher Stelle schnell, sprich 2 mal pro Sekunde jeweils einen anderen gültigen Wert eingeben. Stürzt der Yeelight Adapter dann ab ?
- an gleicher Stelle einen Wert ausserhalb der von Dir vorgegebenen Grenzen eingeben. Stürzt der Yeelight Adapter dann ab ?
- an gleicher Stelle Text eingeben. Stürzt der Yeelight Adapter dann ab ?
A.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden