Hallo Forum,
Ich habe heute meine 4-fach Tasterschnittstelle in Betrieb genommen. Und hatte geplant meine Milight damit zu schalten. Die Milight die ich schalten möchte ist mit dem Wifilight.pm Modul im Betrieb. Da ja die Tasterschnittstelle die Befehle shortXX und longXX sendet, hatte ich gedacht,bei short das Milight Device zu toggeln und bei long zu dimmen. Nun kommt schon das Problem, das ich das Milight Device nicht toggeln kann.
Hätte jemand eine Idee das Problem zu lösen?
Ein weg, der mir zwar direkt einfallen würde, aber aus dem Grund des Fehlenden Colorpickers bei Webphone nicht in Frage kommt, ist das milight-modul.
Hi,
das milight-modul basiert direkt auf einer etwas älteren wifilight version - allerdings kann es wenigstens mal toggeln. :)
Ich bau das toggel aber gern ein (bisher hab ich das nie vermisst). Wie wolltest Du denn den Schalter belegen ? Für dimup und dimdown brauchst Du doch sowieso zwei buttons oder planst Du das anders ?
vg
jörg
Hallo herrmannj, vielen Dank für deine Antwort
Edit: Sorry Tapatalk auf dem Handy hat wohl den Rest verschluckt ;D???
Also hab toggeln bei dem Modul bis zum heutigen Tag auch nicht vermisst.
Also ich habe bloß einen Button belegt. Mit dem short Befehl wollte ich halt das Licht an/aus toggeln und mit dem long Befehl runter dimmen. Da bei längeren drücken long 1,long 2 usw gesendet wird könnte man da doch per notify runter dimmen. Und falls ich mich richtig erinnere kann man doch für on einen festen Wert z.B 100% einstellen, oder?
Zitat von: 8PABenny am 05 Januar 2015, 16:42:46
Also hab toggeln bei dem Modul bis zum heutigen Tag auch nicht vermisst.
Also ich habe bloß einen Button belegt. Mit dem short Befehl wollte ich halt das Licht an/aus toggeln und mit dem long Befehl runter dimmen. Da bei längeren drücken long 1,long 2 usw gesendet wird könnte man da doch per notify runter dimmen. Und falls ich mich richtig erinnere kann man doch für on einen festen Wert z.B 100% einstellen, oder?
Ja verstehe - die anderen buttons sind verplant.
ja, für "on" per default color. Da kommen wir aber schon an einen der Punkte warum ich das "toggle" nicht ganz so mag: was passiert bei toggle-wieder-an ? Farbe von vorher - oder "on" ? Das müsste man jetzt weiter per attrib konfigurieren (kannst drauf wetten, der eine mags so -der nächste anders :) )
Machs Dir doch einfach: Du musst ja sowieso über ein notify gehen, da kannst Du doch recht fix mit perl das individuell gestalten: (code schnipsel)
my $cmd = (Value('LED') eq 'on')?'off':'on')
set LED $cmd
... oder eben set RGB oder was Du eben magst.
Ich steh immer so ein wenig auf dem Standpunkt das sich so schneller (und individueller) arbeiten lässt als wenn man sich erstmal xtausend Attribute und metasprachen verinnerlichen darf.
Aber wie gesagt, kann gerne auch toggle einbauen.
vg
jörg
Tut mir leid, aber bin wirklich noch Anfänger und kann wenig mit dem Codeschnipsel anfangen. Das Problem was du mit toggeln hast versteh ich jetzt auch und muss ehrlich sagen, soweit habe ich nicht gedacht.
Zitat von: 8PABenny am 05 Januar 2015, 17:14:01
Tut mir leid, aber bin wirklich noch Anfänger und kann wenig mit dem Codeschnipsel anfangen.
Kein Problem. Du musst den Schalter ja über ein notify mit der Lampe verbinden. Dafür wirst Du vmtl zwei notify verwenden, eines was auf long reagiert (zum runterdimmen) und eins was auf short reagiert (zum Schalten).
Bereite doch mal die beiden notify soweit vor das sie auf den HM reagieren, dimdown wirst Du mit dem Einsteiger pdf direkt umsetzen können. Den short mit seinem toggle nehmen wir uns dann gemeinsam vor :)
vg
jörg
Den Notify fürs dimmen würde ich so schreiben
define LichtBadnotify1 notify LichtBad:long.* set Milight dimdown
den Notify für short
define LichtBadnotify2 notify Lichtbad:short.* set Milight toggle
perfekt. Ich kenne mich mit dem syntax der HM Schalter nicht aus - das kannst Du ja mit dimdown prüfen ob das geht.
Diesen code:
{fhem "set Milight ".((Value('Milight') eq 'on')?'off':'on') }
kannst Du in Das fhem Eingabefeld kopieren, der toggelt die Lampe. Der code ist perlcode, wenn Du tiefer einsteigen möchtest findest Du ein web voller tutorials zu perl.
Das notify komplett ist dann so:
define LichtBadnotify2 notify Lichtbad:short.* {fhem "set Milight ".((Value('Milight') eq 'on')?'off':'on') }
vg
jörg
Der reine Code zum toggeln funktioniert.
{fhem "set Milight ".((Value('Milight') eq 'on')?'off':'on') }
Wenn ich dann diesen Code in einen Notify verpacke nicht mehr, der andere Notify auch nicht.
Habe dann nach einen Fehler gesucht und festgestellt das short=Short heißt und long=Long, aber es funktioniert nach Änderung trotzdem noch nicht.
Im Logfile wird nichts angezeigt.
Im Eventmonitor dieses
2015-01-05 19:15:35 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 battery: ok
2015-01-05 19:15:35 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 LichtBad Short (to broadcast)
2015-01-05 19:15:42 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 battery: ok
2015-01-05 19:15:42 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 LichtBad Long 1-8440- (to broadcast)
2015-01-05 19:15:42 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 battery: ok
2015-01-05 19:15:42 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 LichtBad Long 2-8440- (to broadcast)
2015-01-05 19:15:42 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 battery: ok
2015-01-05 19:15:42 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 LichtBad Long 3-8440- (to broadcast)
2015-01-05 19:15:43 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 battery: ok
2015-01-05 19:15:43 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 LichtBad Long 4-8440- (to broadcast)
2015-01-05 19:15:43 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 battery: ok
2015-01-05 19:15:43 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 LichtBad Long 5-8440- (to broadcast)
.. und "bad" heißt "Bad" ... ;)
vg
jörg
Das ist jetzt peinlich ::) muss ich nachher mal gucken.
Hallo,
ich möchte mich auch mal einklinken...
dimup... es kommt bei den hm Geräte immer nen long trigger.
Um wieviel % dimmst du dann pro Event hoch oder runter?
Ich habs so gemacht... so kann ich die dimmgeschwindigkeit ein wenig steuern...
KU_BTN_6:Long.* {
my $countup = (ReadingsVal("WW_Controller_Kueche", "BRIGHTNESS", "40"));
$countup = ($countup+10);
fhem("set WW_Controller_Kueche dim $countup 0 ");
}
Hi,
wenn es ein WifiLight device ist geht das einfacher.
Die kennen dimup und dimdown sowie ein Attribut dimstep (oder so). Den könntest Du auf 10 stellen und hättest genau Dein setup.
Das notify von 8PABenny passt (bis auf case) ganz gut.
vg
jörg
Hab das Mi-Light modul...
Ist total super!!
Das dimmen funktioniert mit dem notifiy auch super. Etwas zeitverzögert, aber das hat mein Kopf relativ flott hinbekommen.
Ich hab nen 6 fach Taster von HM.
So, hab die Schreibweise überprüft. Und stimmt auch. Also heißt "LichtBad". Ich habe irgendwie die Vermutung, nachdem ich jetzt nochmal die Ausgabe des Eventmonitors angucke das ja nur der Button LichtBad heißt aber die Ausgabe ja CUL_HM_PBI_4_FM_29B374 LichtBad heißt. Werde es mal morgen probieren so in einen Notify einzufügen.
Also ich habe es weiter probiert, komme aber zu keinem funktionierendem Ergebnis. Hat jemand Erfahrung mit der Homematic 4-fach Tasterschnittstelle?
Mein Fehler wird mit der HM Syntax zu tun haben,da
{fhem "set Milight ".((Value('Milight') eq 'on')?'off':'on') }
funktioniert, aber mein Notify nicht
LichtBad Short.* {fhem "set Milight ".((Value('Milight') eq 'on')?'off':'on') }
Es spielt auch keine Rolle ob ich es CUL_HM_HM_PBI_4_FM_29B374 LichtBad
nenne.
Ich hänge an einem ähnlichen Problem, jedoch bekomme ich das Ganze mittels Aufputztaster (HM-PB-2-WM55-2) eingeschaltet (mit der zuletzt gewählten Farbe) - aber nicht mehr aus. Auf die andere Wippe den Befehl zum Ausschalten legen würde bestimmt funktionieren, möchte ich aber nicht, da ich 2 verschiedene Milights mit diesem Taster separat bedienen möchte.
define LEDLeander notify LED_Taster_Leander_1.* { if(ReadingsVal("LeandersBett","state","on") eq "on") {fhem("set LeandersBett off") } else { fhem("set LeandersBett on") } }
Wenn ich meinen Code mit
?'off':'on') }
abschließe, funktioniert weder ein- noch ausschalten.
Vielleicht möchtest du mit meinem Code mal weiter experimentieren? Namen/Geräte solltest du natürlich durch deine ersetzen, Benny. Mit ein bisschen Glück helfen wir uns gegenseitig - ich bin auch noch Anfänger.
Hi,
wenn Du WifiLight benutzt funktioniert genau das in der fhem cmd-line:
{fhem "set LeandersBett ".((Value('LeandersBett') eq 'on')?'off':'on') }
Entspricht im übrigen auch Deinem code, das ist eine verkürzte Schreibweise ...
vg
jörg
Ich habe mich heute mal wieder ein wenig mit der Tasterschnittstelle beschäftigt und bin nun einen kleinen Schritt weiter. DEF vom Notify
CUL_HM_HM_PBI_4_FM_29B374:LichtBad|Short.* {fhem "set Milight ".((Value('Milight') eq 'on')?'off':'on') }
schaltet nun bei kurzem Tastendruck die Lampe ein und aus, aber ohne das ich einen Notify für einen langen Tasten druck habe, schaltet die Lampe bei längeren druck... an, aus, an, aus usw..... anscheinend bekomme ich wohl nie für die Tasterschnittstelle die richtige Syntax hin. Ich würde mich freuen, wenn mir wer meine fehler aufzeigen kann.
MFG Benny
Seit längeren mal wieder Zeit gehabt mich mit Fhem zu beschäftigen. Bin heute auch mit diesen Thema ein Stück weiter gekommen. Jedoch noch nicht so optimal wie ich es mir wünsche.
LichtBad|Short {fhem "set Milight ".((Value('Milight') eq 'on')?'off':'on') }
Das ist mein erster Notify um bei kurzen Tastendruck das Licht an und aus zu schalten
LichtBad|Long set Milight dimdown
Das der 2. um zu dimmen
Nun das Problem, die Befehle mit Long kommen zu schnell hinter einander
2015-09-05 21:28:21 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 battery: ok
2015-09-05 21:28:21 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 LichtBad Long
2015-09-05 21:28:22 WifiLight Milight hue: 0
2015-09-05 21:28:22 WifiLight Milight saturation: 0
2015-09-05 21:28:22 WifiLight Milight brightness: 0
2015-09-05 21:28:22 WifiLight Milight RGB: 000000
2015-09-05 21:28:22 WifiLight Milight off
2015-09-05 21:28:22 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 battery: ok
2015-09-05 21:28:22 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 LichtBad Long
2015-09-05 21:28:22 WifiLight Milight hue: 0
2015-09-05 21:28:22 WifiLight Milight saturation: 0
2015-09-05 21:28:22 WifiLight Milight brightness: 0
2015-09-05 21:28:22 WifiLight Milight RGB: 000000
2015-09-05 21:28:22 WifiLight Milight off
2015-09-05 21:28:22 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 battery: ok
2015-09-05 21:28:22 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 LichtBad Long
2015-09-05 21:28:22 WifiLight Milight hue: 0
2015-09-05 21:28:22 WifiLight Milight saturation: 0
2015-09-05 21:28:22 WifiLight Milight brightness: 0
2015-09-05 21:28:22 WifiLight Milight RGB: 000000
2015-09-05 21:28:22 WifiLight Milight off
2015-09-05 21:28:22 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 battery: ok
2015-09-05 21:28:22 CUL_HM CUL_HM_HM_PBI_4_FM_29B374 LichtBad Long
dadurch dimmt es verzögert und unkontrollierbar runter.
Hat jemand eine Idee wie man dieses Problem noch sauber löst?
Öh mit einem | (das ist eigentlich ein ODER) habe ich Device und Event noch nie getrennt.
Ich benutze dafür immer :
Trenne ich es mit einem : bleibt es bei Short oder Long ohne Funktion.
Wie auch in meinem angepinnten Beitrag angesprochen:
Schau in den EventMonitor - FHEM kann nur auf das reagieren was geliefert wird.
Ein ODER ist KEIN Trenner zwischen Device:Event
Ausgabe vom Eventmonitor bei langen Tastendruck. CUL_HM_HM_PBI_4_FM_29B374 LichtBad Long
Hatte es auch einfach mal mit LichtBad Long probiert, aber genauso erfolglos.
Ein
LichtBad:Long.*
klappt bei mir einwandfrei.
Zwar nicht mit deinem Devicenamen aber ich verwende bei mir so diverse HM-Sensoren.
Wenn es bei dir nicht geht solltest du auch mal ins Logfile schauen.
Bei mir ohne Funktion und kein Eintrag ins Logfile.