NEWS
Denkanstoß Hue Birne dimmen mit HmIP-BDT
-
Hallo zusammen,
ich brauche mal einen kleinen Denkanstoß. Möchte gerne eine Hue Birne mit dem HmIP-DT bei langem Tastendruck auf/ab dimmen.Aktuell sieht es so aus aber irgendwo hab ich einen Logik Fehler wegen den >10, da es dann sofort umspringt.
Kann ich das auch eleganter lösen ausser einer zweiten if Abfrage?Vielleicht hat ja jemand schon etwas ähnliches oder genau so was programmiert.
on({id: /^hm-rpc.1.0008DA498xxxxx\..+\.PRESS_LONG$/}, function(dp) { if(getState('hue.0.Philips_hue.Licht_Küche.level'/*Philips hue Licht Küche level*/).val > 10){ setState('hue.0.Philips_hue.Licht_Küche.level'/*Philips hue Licht Küche level*/, getState('hue.0.Philips_hue.Licht_Küche.level'/*Philips hue Licht Küche level*/).val - 10); log("Nach unten"); } else { setState('hue.0.Philips_hue.Licht_Küche.level'/*Philips hue Licht Küche level*/, getState('hue.0.Philips_hue.Licht_Küche.level'/*Philips hue Licht Küche level*/).val + 10); log("Nach oben"); } });
Bin offen für Ideen
LG Michael
-
@CyberMicha
PRESS_LONG ist zum Dimmen wenig geeignet, da es erst beim Loslassen der Taste aktualisiert wird. Besser ist PRESS_CONT geeignet, das alle 250 ms aktualisiert wird, solange die Taste gedrückt ist.
Soll mit mehreren Tasten des gleichen Gerätes gedimmt werden (RegExp) ? -
Den PRESS_CONT habe ich nicht.
PRESS_LONG wird ständig gesendet / aktualisiert bei dem Schalter soweit ich das nachvollziehen kann. Das Log ist auf jedenfall voll gespamt wenn ich gedrückt halte.20:14:21.836 info javascript.0 script.js.Licht.Küche: Nach unten 20:14:22.060 info javascript.0 script.js.Licht.Küche: Nach unten 20:14:22.406 info javascript.0 script.js.Licht.Küche: Nach unten 20:14:22.562 info javascript.0 script.js.Licht.Küche: Nach unten 20:14:22.809 info javascript.0 script.js.Licht.Küche: Nach unten 20:14:23.063 info javascript.0 script.js.Licht.Küche: Nach unten 20:14:23.308 info javascript.0 script.js.Licht.Küche: Nach unten 20:14:23.570 info javascript.0 script.js.Licht.Küche: Nach unten 20:14:23.817 info javascript.0 script.js.Licht.Küche: Nach unten
Ja genau, ich möchte entweder auf oder ab dimmen unabhängig ob oben oder unten gedrückt wird.
Bei SHORT funktioniert das auch wunderbar aber da schalte ich halt nur an bzw aus je nach Status.on({id: /^hm-rpc.1.0008DA498xxxxx\..+\.PRESS_SHORT$/}, function(dp) { if(getState('hue.0.Philips_hue.Licht_Küche.on'/*Philips hue Licht Küche on*/).val){ setState('hue.0.Philips_hue.Licht_Küche.on'/*Philips hue Licht Küche on*/, false); log("Short aus"); }else{ setState('hue.0.Philips_hue.Licht_Küche.on'/*Philips hue Licht Küche on*/, true); log("Short an"); } });
-
@CyberMicha sagte:
PRESS_LONG wird ständig gesendet / aktualisiert
Dann verhält sich bei deinen Tasten (HmIP) PRESS_LONG so wie bei meinen (HM) PRESS_CONT.
Vorschlag:var delta = 5; var level = getState('hue.0.Philips_hue.Licht_Küche.level'/*Philips hue Licht Küche level*/).val; on({id: /^hm-rpc.1.0008DA498xxxxx\..+\.PRESS_LONG$/}, function() { if (level < 5) delta = 5; else if (level > 95) delta = -5; level = level + delta; setState('hue.0.Philips_hue.Licht_Küche.level'/*Philips hue Licht Küche level*/, level); });
-
Cool danke, dann werde ich das mal testen. Erweiterung wäre dann noch Dimmen bis los lassen und dann aufhellen. Also ein Wechselspiel quasi aber dazu wäre dann wohl noch eine globale Variable nötig, die den letzten Status speichert wenn ich richtig denke.
Edit: Was mir noch etwas Sorgen macht ist die Geschwindigkeit aber das ist wohl nicht zu ändern. Gefühlt sieht man die Steps und es ist nicht flüssig. Was aber dann wohl an der Kommunikation Homematic->ioBroker->Hue zu schulden ist. Sind halt lange Wege.
Ich glaube ich denke einfach zu kompliziert.
Nen Kumpel hat alles ( Heizung Rolläden Licht ) über Alexa gelöst und 0 Plan von Programmieren. Denke da ist jeder Ansatz anders.
Bei mir ist es Homematic, Alexa, ioBroker und Hue.
Aber anderes ThemaLG Micha
-
Huhu.
Funktioniert leider nicht, weil die Signale vom Schalter zu schnell kommen und ioBroker sie nicht so schnell an Hue weiterleiten kann bzw hue zu träge ist.
Also wohl doch ne normale Birne. -
@paul53 oder hast du noch ein Idee?
-
@CyberMicha sagte:
hast du noch ein Idee?
@CyberMicha sagte in Denkanstoß Hue Birne dimmen mit HmIP-BDT:
hue zu träge ist.
Da ich Hue nicht kenne: Gibt es die Möglichkeit eine Dimmrampe einzustellen und dann das Dimmen zu starten und zu stoppen ?
-
@paul53 sagte in Denkanstoß Hue Birne dimmen mit HmIP-BDT:
Dimmrampe einzustellen und dann das Dimmen zu starten und zu stoppen ?
In Hue meinst du? Hmm nicht das ich wüsste.
-
@CyberMicha
Wenn auch etwas spät - aber vielleicht interessiert sich doch noch jemand dafür.
Ich habe das bei mir so gelöst, dass ich nur jeden 4. Impuls vom Schalter an die Dimmen-Funktion weitergebe. Damit kommt die Hue klar...var count=0; var level=0; on({id: 'hm-rpc.1.XXXXXX.1.PRESS_LONG', val: true}, function() { count=count+1; if (count>=4) { count=0; dim(); } }); function dim() { if (getState("hue.0.Esszimmer.on").val=true) { level= getState("hue.0.Esszimmer.level").val; if (getState("0_userdata.0.dim_esszimmer").val=="up") { if (level<100) { level=level+10; setState("hue.0.Esszimmer.level", level); console.log(level); } else { setState("0_userdata.0.dim_esszimmer", "down"); } } else { if (level>=10) { level=level-10; setState("hue.0.Esszimmer.level", level); console.log(level); } else { setState("0_userdata.0.dim_esszimmer", "up"); } } } };
Bei Fragen gerne melden.