NEWS
Adapter: milight
-
so, hab mich den diversen Problemen gewidmet.
- readme link ist korrigiert `
Bedankt! Funktioniert.
- hab noch eine Checkbox für ON ohne weiß und volle Helligkeit im admin eingefügt `
Wo? habe 0.1.1 aus Git Installiert. Sehe nur
beim Einschalten volle Helligkeit und weiß setzen?
- colorRGB scheint in der Abfrage keine Funktion zu sein und somit geht die Vorgabe für level.rgb nicht, hab ich mal zusätzlich eingebaut, bevor das unknown command kommt. `
Welcher Abfrage? Das Gerät kannst Du ja nicht meinen, da es hier sowas nicht gibt.
Ich habe bisher mit Level.hue gearbeitet und da funktioniert die Farbumstellung sehr gut. `
Auch hier: Wo? Alles was ich sehe ist das hier:
PS. innerhalb einer Zone kann man die Lampen nicht einzeln steuern. allOff, allOn ist eher irreführend, diese Datenpunkte hat Bluefox neu dazugefügt und ich lasse sie mal so drin, bis sich doch deren Überflüssigkeit herausstellt. ` Siehe Bild oben. Ich sehe ein Zone4 All On/Off. Das ist doch richtig. Innerhalb einer Zone können x Lampen alle Ein/Ausgeschaltet werden.
Fitti
- readme link ist korrigiert `
-
obiges Bild zeigt die Einstellungen
Unterste Zeile zeigt die Checkbox für die Auswahl, ob beim Zuschalten auf 100& weiß geschaltet wird. Setzt man einen Haken ist das ein JA und dann ist es mit dem Zuschalten auch weiß auf 100%.
Lässt man den Haken weg, ist es NEIN und es gibt nur ein Einbefehl an die Lampe und deren intern gemerkter Wert wird benutzt.
Außerdem sind hier die Lampen in allen Zonen auf RGBW vorgewählt, also eine dimmbare Lampe die sowohl Farbe als auch in einem konstanten Weiß leuchten kann.
Gruß
Klaus
-
wenn man die RGBW Lampe ausgewählt hat, kommen auch die Einstellungen für hue und rgb zum Vorschein.
allOff/allOn und off/on stehen drin, für das Aus/Einschalten der Lampen in der Zone habe ich bisher den state benutzt.
Wird hier getoggelt, schaltet die Lampe ein und aus.
nightMode wird von RGBW Lampen nicht unterstützt.
colorMode wechselt zwischen weiß/farbig. 0=weiß, 1=farbig bzw. bei der Verwendung des mitgelieferten widgets ct/hs.
effectMode und effectSpeed steuert die lustigen Blinkfunktionen, die auch auf der Fernbedinung anwählbar sind.
brightness/brightness(2) steuern die Helligkeit 0…100%
Gruß
Klaus
-
- colorRGB scheint in der Abfrage keine Funktion zu sein und somit geht die Vorgabe für level.rgb nicht, hab ich mal zusätzlich eingebaut, bevor das unknown command kommt.
Welcher Abfrage? Das Gerät kannst Du ja nicht meinen, da es hier sowas nicht gibt.
Diese Bemerkung betraf eher den Code an sich. Soll heißen, das jetzt die Vorgabe rgb auch ausgewertet wird und an die box geschickt wird.
Gruß
Klaus
- colorRGB scheint in der Abfrage keine Funktion zu sein und somit geht die Vorgabe für level.rgb nicht, hab ich mal zusätzlich eingebaut, bevor das unknown command kommt.
-
Danke!
Vergleich mal mein Bild mit Deinem in den Objecten. Schon erstaunlich, wie unterschiedlich das ist. Ich habe 0.1.1 drauf. seltsam…
-
Danke!
Vergleich mal mein Bild mit Deinem in den Objecten. Schon erstaunlich, wie unterschiedlich das ist. Ich habe 0.1.1 drauf. seltsam… `
ist aus meiner Sicht nicht seltsam
ich habe RGBW und deine Datenpunkte kommen über RGBWW/Dimmer
-
ist hier noch jemand von euch mit Alexa / Amazon Echo unterwegs?
Hab gerade den Raspi nochmals neu installiert (hatte vorher eine andere linux distri drauf laufen)
Alles nach anleitung installiert samt aller reboots..
neu installiert
und wieder.. wenn ich Dimmer (egal ob normal oder den erweiterten) mit on/off verbinde, dann kombiniert er immer beides.
Wenn ich den in Cloud definierten off wert verwende, ignoriert er die Unterschreitung der Schwelle ebenso.
Wenn das bei euch also nicht auftritt, muss es wohl ein Alexa ding sein mit Cloud.
Würde mich nur interessieren ob das sonst noch bei jemanden passiert.
Danke!
PS:
Alexa kann nur Ein + Aus & Dimmen
Man kann aber "Alexa, Partymodus einschalten" sagen und eine Gruppe mit Partymodus erstellen die dann z.B. die Mode Taste drückt
-
ist hier noch jemand von euch mit Alexa / Amazon Echo unterwegs? `
Leider nein und ich mag iobroker, weil er zu Hause in seiner eigenen Cloud läuft.
Klaus
-
du, ich hab grad versucht einen workaround zu bauen und bin auf ein merkwürdigen fehler gestoßen
bei
} else if (dp === 'brightness2' || dp === 'brightness') {
checkst du ob val unter 0 oder über 100 ist
z.B. hier:
if (val < 0) val = 0; if (val > 100) val = 100; adapter.log.debug('Send to zone ' + zone + ' "' + dp + '": ' + state.val);
jedenfalls war ich 1. verwundert warum ich nicht immer was im log finde und warum meine if bedingung nicht funktioniert.
ich hab mir dann deshalb diesen debug selbst geschrieben:
adapter.log.debug('Angekommen ist Zone: ' + zone + ' Kommando ' + dp + ' Val: ' + val + " State Val " + state.val);
val ist undefined und state.val beinhaltet den wert
du solltest meiner meinung nach state.val auf unter 0 und über 100 checken.
stattdessen würde ich aber gleichzeitig vorschlagen vorher noch auf val === 0 zu prüfen und in diesem fall den vorgang abzubrechen bzw. den lights out befehl nochmals schicken.
denn das ist ja momentan mein problem..
Ich sag ausschalten und Cloud setzt mir zusätzlich den Adapter auf 0
0 kann ja damit ruhig als aus interpretiert werden
` > milight.0 2017-02-05 01:09:59.995 debug inMem message milight.0.* milight.0.zone2.brightness
milight.0 2017-02-05 01:09:59.887 debug inMem message milight.0.* milight.0.zone2.state
cloud.0 2017-02-05 01:09:59.756 debug cloud.0 Set "milight.0.zone2.brightness" to 0
cloud.0 2017-02-05 01:09:59.755 debug cloud.0 Set "milight.0.zone2.state" to false
cloud.0 2017-02-05 01:09:59.755 debug cloud.0 ALEXA OFF: Wand
das Problem ist, dass Milight allerdings auf minimum und nicht auf "0" / aus dimmt
ich bin zu wenig script kiddy als das ichs hinbekäme.
irgendwo hab ich nen fehler bzw weiss ich nicht wie ich state.val sauber prüfe int, str? != oder !== ?
Help
EDIT
HAH! ES GEHT
Ich hab ja doch so paar Basics drauf
Ab Zeile 238 folgende if state.val abfrage eingebaut, dann ignoriert er die kack schleife vom cloud bei state.val 0.
if (state.val !== 0) { light.sendCommands(zones[zone].on(zone), zones[zone][dp](state.val)).then(function () { adapter.setForeignState(id, state.val, true); }, function (err) { adapter.log.error('Cannot control: ' + err); }); } ```` `
-
ich habe RGBW und deine Datenpunkte kommen über RGBWW/Dimmer `
1.) Aha… und was bedeuten dann die Unterschiedlichen Funktionen genau => Basis, RGBW und RGBW/Dimmer?
Ich habe "mit Dimmer" ausgewählt, da die Geräte ja Dimmen können. Anscheinend ist aber da ja was anders gemeint.
Wobei ich nun Deinen zuvor geschriebenen Text besser verstehe.
2.) Du schriebst was von "mitgeliefertten Widget". Welches meinst Du? Wo sollte das sein? Ein .vis Widget? Da finde ich nichts mit milight, light. Oder meinst Du ein allgemeines Handy Widget
Fitti
-
1.) Aha… und was bedeuten dann die Unterschiedlichen Funktionen genau => Basis, RGBW und RGBW/Dimmer?
Ich habe "mit Dimmer" ausgewählt, da die Geräte ja Dimmen können. Anscheinend ist aber da ja was anders gemeint.
Wobei ich nun Deinen zuvor geschriebenen Text besser verstehe.
2.) Du schriebst was von "mitgeliefertten Widget". Welches meinst Du? Wo sollte das sein? Ein .vis Widget? Da finde ich nichts mit milight, light. Oder meinst Du ein allgemeines Handy Widget `
zu 1)
die Auswahl Basis, RGBW und RGBW/Dimmer muß zu deinem Lampentyp passen.
Grundsätzlich kann jeder dieser 3 Typen gedimmt werden.
zu2)
wenn du mal in vis nachschaust, wird es ein in der widget Auswahl eine Kategorie "milight" geben. Darin befindet sich genau ein widget, welches auf den RGBW Typ passt. Da das widget von jqui-mfd abhängt, muß auch jqui-mfd-widgets installiert sein.
Ansonsten kann man auch mit Buttons/slider etc. selbst das Interface in vis zusammenbasteln.
Klaus
-
du, ich hab grad versucht einen workaround zu bauen und bin auf ein merkwürdigen fehler gestoßen
bei
} else if (dp === 'brightness2' || dp === 'brightness') {
checkst du ob val unter 0 oder über 100 ist
z.B. hier:
if (val < 0) val = 0; if (val > 100) val = 100; adapter.log.debug('Send to zone ' + zone + ' "' + dp + '": ' + state.val);
jedenfalls war ich 1. verwundert warum ich nicht immer was im log finde und warum meine if bedingung nicht funktioniert.
ich hab mir dann deshalb diesen debug selbst geschrieben:
adapter.log.debug('Angekommen ist Zone: ' + zone + ' Kommando ' + dp + ' Val: ' + val + " State Val " + state.val);
val ist undefined und state.val beinhaltet den wert
du solltest meiner meinung nach state.val auf unter 0 und über 100 checken.
stattdessen würde ich aber gleichzeitig vorschlagen vorher noch auf val === 0 zu prüfen und in diesem fall den vorgang abzubrechen bzw. den lights out befehl nochmals schicken.
….
HAH! ES GEHT
Ich hab ja doch so paar Basics drauf
Ab Zeile 238 folgende if state.val abfrage eingebaut, dann ignoriert er die kack schleife vom cloud bei state.val 0.
if (state.val !== 0) { light.sendCommands(zones[zone].on(zone), zones[zone][dp](state.val)).then(function () { adapter.setForeignState(id, state.val, true); }, function (err) { adapter.log.error('Cannot control: ' + err); }); } ```` `
Das ist ja schön, das das Problem mit Alexa jetzt gefixt ist.
Hab den pull request angenommen.
Ich glaube an diesem kurzen Programmstück wo geprüft wird, ob der Datenpunktname eine Funktion ist, muß noch gefeilt werden.
Da der Code von Bluefox stammt, hab ich es übernommen. Mir sind ja auch nicht alle Konstrukte und Abläufe in den Adaptern klar und auf Grund der wesentlich größeren Erfahrung und der best Practice, lass ich mich gern belehren.
Da der Adapter nach ein paar Testläufen und val->state.val auch mit der Lampe funktionierte, habe ich ihn nicht weiter untersucht. Es hat mich auch gewundert warum val<0 oder >100 abgefragt wird, hat mich aber auch nicht beunruhigt.
Gestern ist mir noch das Stück mit rgb-Aufruf aufgefallen und ich habs korrigiert.
Ich denke man muß aufpassen, das es state als Datenpunktnamen gibt und alle Datenpunkte sind außerdem vom Typ "state".
Gruß
Klaus
-
…
zu2)
wenn du mal in vis nachschaust, wird es ein in der widget Auswahl eine Kategorie "milight" geben. Darin befindet sich genau ein widget, welches auf den RGBW Typ passt. Da das widget von jqui-mfd abhängt, muß auch jqui-mfd-widgets installiert sein. `
jqui-mfd ist installiert, aktuell und wird auch kräftig benutzt. Philips Hue gibt's, aber milight nicht. Weder als Kategorie noch sonstwie.
Habe die milight Version 0.1.1 drauf.
-
Hallo Fitti,
wenn die Widgets in der neuesten Version drin waren müsstest du ggf. noch .vis neustarten
Gruß
Rainer
-
so muß es aussehen:
-
http://forum.iobroker.net/viewtopic.php … 701#p51701
hab das problem in cloud gefunden.
anyhow der fix den ich auf git commited hab, ist ein workaround/fix dafür und auch ein fix für wenn jemand 0% setzt um auszuschalten.
Wollte dich nur wissen lassen, dass es nicht am milight adapter liegt - denke ich jedenfalls!
Lg
-
Hallo Fitti,
wenn die Widgets in der neuesten Version drin waren müsstest du ggf. noch .vis neustarten
Gruß
Rainer `
Habe ich gemacht - brachte nix. Nur zur Sicherheit, das hier habe ich installiert:
Aber in VIS sieht es so aus:
-
<u>Andere Frage:</u>
Die Milights kann man per TCP und UDP steuern. Kann es sein, dass diese Auswahl noch im Adapter fehlt? Oder macht er es automatisch richtig?
Habe einen nagelneuen WiFi Controller. Der nutzt wohl weiterhin nur V5, da Port 8899.
Ich nutze jetzt Milight 3.0 App auf'm Handy.
Und: Man kann nun weiße und bunte LEDs gleichzeitig leuchten lassen!
Ich bekomme diese aber nicht mit diesem milight Adapter gesteuert.
<u>Verständnisfrage:</u> wenn ich bei den Objekten per Hand ein TRUE unter Zonex oder ZoneAll auf AllOff setze, dann müsste es ausgehen? Respektive AN mit AllOn?
Per HandyApp steuer ich das Ganze. Per Default ist dieser Controller auf TCP gesetzt.
Fitti
-
Wo hast du den Controller bestellt!? Ich suche nämlich auch was für meine Stripes
Gruß
Adrian
Gesendet von iPhone mit Tapatalk Pro
-
> Habe ich gemacht - brachte nix. Nur zur Sicherheit, das hier habe ich installiert:
Sehr komisch.
Kannst du mal im edit-modus den tab im browser neu laden und dabei die Konsole beobachten.
Dort sollte ggf. eine Fehlermeldung erscheinen, oder es steht milight-widgets 0.0.1 geladen.
Gruß
Klaus