Peer Fernbedienung mit Dimmer im Single-Mode

Begonnen von HUtsch, 28 September 2013, 02:12:58

Vorheriges Thema - Nächstes Thema

HUtsch

Hallo,

ich versuche eine Fernbedienung (HM-RC-4-2) mit einem Dimmer (HM-LC-Dim1TPBU-FM) im Single-Mode zu peeren:

set sHen1_Btn_01 peerChan 0 aDim_EZ_Sw single set

Das scheint auch zu funktionieren, denn in der peerList vom Dimmer-Kanal taucht sHen1_Btn_01 auf und wenn ich den Knop 1 gedrückt halte, dann dimmt die Lampe abwechselnd hoch und runter.

Was allerdings nicht funktioniert, ist dass die Lampe bei einem kurzen Tastendruck ein- bzw. ausgeschaltet wird. Es passiert bei einem kurzen Tastendruck rein gar nichts, auch nicht bei mehreren Tastendrücken.

Außerdem leuchtet die LED an der Fernbedienung auch nach dem erfolgreichen Dimmen nicht grün auf.

Was mache ich falsch?

p.s.: Ist es normal, dass bei der HM-RC-4-2 nicht der oberste Knopf "Button_01" ist, sondern der zweite von oben und der unterste Knopf ist "Button_03"?

betateilchen

Zitat von: HUtsch schrieb am Sa, 28 September 2013 02:12Ist es normal, dass bei der HM-RC-4-2 nicht der oberste Knopf "Button_01" ist, sondern der zweite von oben und der unterste Knopf ist "Button_03"?

Ja.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

martinp876

a) wenn du das Kommando peerchan abgesetzt hast wird zum einen der RC im dimmer eingetragen (hat funktioniert) und der dimmer im RC.
Der RC empfängt aber nicht "einfach so" sondern schaltere seinen empfänger immer ab. Du musst ihn in den empfangsmode bringen. Dazu kurz den config-button drücken.
FHEM queued die messages solange, bis der RC sich entsprechend meldet. Wenn du fhemzwischendurch neu startest ist die queue allerdings wieder leer. dann kannst du den teil der remote nochmals ausführen - nur für den RC

set sHen1_Btn_01 peerChan 0 aDim_EZ_Sw single set remote

jetzt anlernen(config) 'kurz' drücken.

Im RC-device (in fhem) kannst du die variablen "prot..." sehen. da sollten nach dem kommando "pending" stehen, also kommandos warten. nach dem config sollte "done" stehen

b) was der dimmer ausführt steht im dimmer (nicht in der remote). Schaue einmal die Register des dimmer durch,die dem sHen1_Btn_01 zugeordnet sind. und dannnatürlich die"sh", also short

Gruss Martin

HUtsch

Hallo,

vielen Dank für die Hilfe.

Es funktioniert jetzt tatsächlich, obwohl mich das überrascht, denn ich hatte auch bei meinen bisherigen Versuchen immer die Anlerntaste an der Fernbedienung gedrückt.

Ich hatte das peerChan-Kommando allerdings noch nie mit Parameter "Remote" ausgeführt und ich hatte auch immer zuerst die Fernbedienung und den Dimmer in den Konfigurations-/Anlernmodus gebracht und dann das peerChan-Kommando abgesetzt.

Diesmal habe ich das Kommando aus dem Posting abgesetzt und dann die Anlerntaste gedrückt und abgewartet und jetzt funktioniert auch der kurze Tastendruck und die LED bestätigt die Kommandos auch in grün.

Nochmal vielen Dank

martinp876

default ist 'both', da ist remote also dabei.

Das Problem dürfte gewesen sein, dass du erst Anlernen und dann das Kommando ausgeführt hast. beim HM direkt anlernen bekommt man es zwar so beigebracht - aber mit FHEM brauche ich es anders herum. der stack wartet darauf, dass sich das Device meldet, und das ist NUR beim start des Anlernen.
kommandos die getriggert werden während anlernen schon läuft wird fhem nicht senden.

also erst Kommandos "in den stack", dann anlernen triggern! (bei Config devices)

hat ja jetzt funktioniert

HUtsch

Hallo,

Danke noch mal für die Klarstellung.

Ich hätte da noch eine Verständnisfrage.

Zuvor war also die Fernbedienung nicht gepeert, sondern nur der Dimmer. Trotzdem konnte ich mit der Fernbedienung bei einem langen Tastendruck dimmen.

In den Registern des Dimmerkanals stand für die Fernbedienung lgActionTypeDim = toggelDim bzw. shActionTypeDim = jmpToTarget.

Was ist bei der Jumptable anders, dass sie nicht einseitig gepeert funktioniert?

Besten Gruß

Hendrik

martinp876

peering ist immer einseitig. Ein Aktor lauscht immer, ob ein peer (den er kennt) eine nachricht an broadcast sendet. dann reagiert er.

Beim langen tastendruck sendet eine remote
trig_long to Broadcast (alle .4sec)
wenn du los lasst werden die Peers (die der remote bekannt sind) befragt
trig_long to peer1 - await ack
trig_long to peer2 - await ack
....

wenn eine remote garnicht gepeert ist werden alle trigger an broadcast gesendet. dann hören alle Aktoren mit und schalten, falls sie diese remote als peer vermerkt haben.

Gruss Martin