HM-LC-Dim1T-FM dimmen über 1 Taster-Kanal?

Begonnen von Grinsekatze, 08 April 2016, 09:08:13

Vorheriges Thema - Nächstes Thema

Grinsekatze

Hallo ins Rund,

zzt. realisiere ich meine Beleuchtung. Konkret den Einbau einiger Dimmer (HM-LC-Dim1T-FM). Hier benötige ich auch Hilfe:

Ich möchte den Dimmer wie folgt schalten: Bei einem kurzen Tastendruck wird der Dimmaktor ein bzw. aus geschaltet. Das ist soweit kein Problem. Bei einem langen druck soll von 0% - 100% hochgedimmt werden. Wenn 100% erreicht sind soll wieder runter gedimmt werden, bis dort 0% erreicht sind. Dann geht es wieder von vorn los (also auf 100% rauf dimmen). Das soll solange geschehen, bis der Taster losgelassen wird.
So möchte ich, eine Bedienung mit nur einem Tasterkanal realisieren.

Ich habe bereits auf verschiedenen Seiten geguckt, doch in der Regel wird dort nur die Bedienung mit 2 Kanälen beschrieben (also z.B. Taster rauf für hoch dimmen, Taster runter für runter dimmen).

Habt ihr hier Tipps oder ggf. andere Ideen, wie ich eine vernünftige Steuerung über 1 Kanal realisieren kann?

Danke

Thorsten Pferdekaemper

Hi,
schau Dir mal das hier an: http://fhem.de/Heimautomatisierung-mit-fhem.pdf, Seite 87 unteres Bild.
Gruß,
   Thorsten
FUIP

Grinsekatze

Danke Thorsten,

das sieht etwas komplexer aus, als meine bisherigen Gehversuche mit FHEM (Schaltaktoren, Heizungssteuerung). So richtig habe ich es glaub ich noch nicht verstanden - erschwerend, dass ich es zzt. nicht parallel am Aktor testen kann, da dieser noch im Versand ist.


martinp876

Das ist eigentlich Standard. Wenn du den Taster single peerst, was sowieso notwendig ist, sollte es erledigt sein.
Ansonsten poste die Register dieses peers. Da ist alles drin was möglich ist.

Grinsekatze

#4
Für mich klingt es dennoch etwas kompliziert, da ungewohnt. Das mag aber auch daran liegen, dass ich bis dato in FHEM nur einfache Schalter, Thermostate und 2-Kanal-Sender angelernt habe. In der Vergangenheit habe ich diese nur gepaired (alles mit dem HMLAN) und nicht gepeered. Das habe ich dann über notifys abgearbeitet.

Ich habe am Wochenende wenig Zeit gehabt (nur den Dimmer und Sender verbaut), daher werde ich heute Abend, sobald ich zu hause bin, mich mit dem Dimmer und seinen Registern auseinander setzen. Ich hoffe zum peeren benötige ich keinen extra angeschlossenen Taster (wie zum pairen), da ich sonst wieder die Lampe abhängen muss und den Taster anschließen muss (was beim letzten Mal etwas stressig war).

martinp876

Peeren ist ein normales Kommando wie Licht an. Du brauchst keinen Taster.

Grinsekatze

#6
Ich hatte gehofft, ich kann es auch wieder in einem Notify lösen.
Für den short press hatte ich diesen Notify verwendet: define LampentasterWohnzimmerShortNotify notify LampentasterWohnzimmer.*:Short.* set LampeWohnzimmerDecke toggle
Zunächst hab ich gehofft der Long würde entsprechend klappen - war aber nicht so ;) :define LampentasterWohnzimmerLongUpNotify notify LampentasterWohnzimmer_Taste01.*:Long.1.* set LampeWohnzimmerDecke up
define LampentasterWohnzimmerLongUpNotify notify LampentasterWohnzimmer_Taste02.*:Long.1.* set LampeWohnzimmerDecke down


Ich habe nun den Short-Notify zum ein- und ausschalten beibehalten und verwende den peer zum dimmen. Das klappt auch gut so.

Danke Martin für die Hilfe!

Edit:

Na klar, irgendwas ist ja immer. Im Esszimmer habe ich es mit einem dual set gemacht (da ich ein Kanal für heller und einen für dunkler zur Verfügung habe. Jedoch dimmt der 1. kanal runter und der 2. hoch. Das ist aber verkehrt. Kann man das irgendwie  umdrehen? Wenn ich den peer mit Kanal 2 anlege, dann geht der 1. Kanal garnicht mehr - das ist also nicht die Lösung.

martinp876

Prima.
Warum du aber den short nicht auch direkt nimmst ist mir schleierhaft. Wenn dun ihn aber nicht nimmst schalte ihn wenigstens ab. Du hast gepeert, der aktor reagiert. Du musst jetzt sagen: keine Aktion bei short. Sonst läuft das gepeerten und das notify ab. Macht keinen Sinn, koennte aber Probleme machen.

Grinsekatze

Ich habe die Notifys nun mal rausgenommen. Doch das Fehlverhalten bleibt: Wenn ich im 2. Zimmer den Taster hoch drücke, dimmt er runter. Wenn ich runter drücke, dimmt der Dimmer ab. Kann man dieses Verhalten irgendwie umdrehen?

martinp876

Logisch. Setze alle Register des peers anders rum.
Man kann mit regcopy arbeiten, aus hminfo. Oder einfach ein archConfig in hminfo. Die peerzeilen des self01 und self02 einspielen. Natürlich die peerangaben tauschen.

Grinsekatze

#10
Hallo Martin,

ich werde heute Abend, wenn ich wieder im Haus bin, mal deinen Vorschlag (An/Aus Funktion auf HM 4DIS-Schalter vertauschen ?: https://forum.fhem.de/index.php/topic,23369.msg166825.html#msg166825) umsetzen.

Mit dem archConfig konnte ich offenbar die Register auslesen, jedoch habe ich dort nirgends self-Angaben gefunden. Vielmehr glich die Ausgabe jedoch der Ausgabe aus dem oben verlinkten Thread.

Edit:
set LampeEsszimmerDecke regBulk RegL_03:LampentasterEsszimmer.Taste02 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:44 0C:54 0D:64 0E:20 0F:00 10:14 11:C8 12:0A 13:05 14:05 15:00 16:C8 17:0A 18:0A 19:04 1A:04 81:00 82:00 83:00 84:32 85:64 86:00 87:0A 88:00 89:FF 8A:A5 8B:44 8C:54 8D:64 8E:20 8F:00 90:14 91:C8 92:0A 93:05 94:05 95:00 96:C8 97:0A 98:0A 99:04 9A:04 00:00 #2016-04-11 21:23:31

set LampeEsszimmerDecke regBulk RegL_03:LampentasterEsszimmer.Taste01 01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:12 0C:22 0D:23 0E:20 0F:00 10:14 11:C8 12:0A 13:05 14:05 15:00 16:C8 17:0A 18:0A 19:04 1A:04 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:24 8B:12 8C:22 8D:23 8E:20 8F:00 90:14 91:C8 92:0A 93:05 94:05 95:00 96:C8 97:0A 98:0A 99:04 9A:04 00:00 #2016-04-11 21:23:32


Das hat leider nichts gebracht.

martinp876

Du musst die internen peers sichtbar schalten. Set regset intkeysvisib visib (Tippfehler selbst korrigieren).
Dann ein getconfig oder warten. Du solltest jetzt die Register der eingebauten Schalter finden. Dann geht's los.

Grinsekatze

#12
Ähm, ich hab jetzt folgendes ausgeführt:
set LampeEsszimmerDecke regSet intKeysVisib visib
set LampeEsszimmerDecke getConfig


Aber die Register sind mittels ArchCopy weitrhin wie vor den Befehlen:
Zitat#======== store device data:LampeEsszimmerDecke === from: 2016-04-15 22:57:36
#---      entity:LampeEsszimmerDecke
setreading LampeEsszimmerDecke D-firmware 2.6
setreading LampeEsszimmerDecke D-serialNr MEQ1494259
setreading LampeEsszimmerDecke .D-devInfo 110100
setreading LampeEsszimmerDecke .D-stc 20
# Peer Names:LampentasterEsszimmer.Taste01,LampentasterEsszimmer.Taste02,
set LampeEsszimmerDecke peerBulk 00000000,38CAB701,38CAB702,#2016-04-15 22:56:32
set LampeEsszimmerDecke regBulk RegL_00:   02:01 0A:2C 0B:D6 0C:D0 15:05 16:00 00:00 #2016-04-15 22:56:31
set LampeEsszimmerDecke regBulk RegL_01:   30:06 32:50 33:64 34:4B 35:50 56:00 57:24 00:00 #2016-04-15 22:56:32
set LampeEsszimmerDecke regBulk RegL_03:LampentasterEsszimmer.Taste01  01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:44 0C:54 0D:64 0E:20 0F:00 10:14 11:C8 12:0A 13:05 14:05 15:00 16:C8 17:0A 18:0A 19:04 1A:04 81:00 82:00 83:00 84:32 85:64 86:00 87:0A 88:00 89:FF 8A:A5 8B:44 8C:54 8D:64 8E:20 8F:00 90:14 91:C8 92:0A 93:05 94:05 95:00 96:C8 97:0A 98:0A 99:04 9A:04 00:00 #2016-04-15 22:56:34
set LampeEsszimmerDecke regBulk RegL_03:LampentasterEsszimmer.Taste02  01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:12 0C:22 0D:23 0E:20 0F:00 10:14 11:C8 12:0A 13:05 14:05 15:00 16:C8 17:0A 18:0A 19:04 1A:04 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:24 8B:12 8C:22 8D:23 8E:20 8F:00 90:14 91:C8 92:0A 93:05 94:05 95:00 96:C8 97:0A 98:0A 99:04 9A:04 00:00 #2016-04-15 22:56:35
#     timestamp of the readings for reference
#        LampentasterEsszimmer.Taste01,LampentasterEsszimmer.Taste02, :peerList
#        2016-04-15 22:56:31 :RegL_00:
#        2016-04-15 22:56:32 :RegL_01:
#        2016-04-15 22:56:34 :RegL_03:LampentasterEsszimmer.Taste01
#        2016-04-15 22:56:35 :RegL_03:LampentasterEsszimmer.Taste02
======= finished ===

Irgendwie komm ich da nicht weiter.

martinp876

Das Register ist nicht gesetzt. Was zeigen die readings an? Stelle expert auf 251, dann siehst du es.
Versuche das setzen noch einmal. Es wäre der erste aktor der nicht so funktioniert.
Ansonsten Logge das setzen und lesen der config

Grinsekatze

Hm, da ist mir wohl ein Fehler unterlaufen, muss es doch "intKeyVisib " heißen.

Nun sehen meine Register wie folgt aus:
Zitat#======== store device data:LampeEsszimmerDecke === from: 2016-04-16 11:06:10
#---      entity:LampeEsszimmerDecke
setreading LampeEsszimmerDecke D-firmware 2.6
setreading LampeEsszimmerDecke D-serialNr MEQ1494259
setreading LampeEsszimmerDecke .D-devInfo 110100
setreading LampeEsszimmerDecke .D-stc 20
# Peer Names:LampentasterEsszimmer.Taste01,LampentasterEsszimmer.Taste02,self01,
set LampeEsszimmerDecke peerBulk 00000000,38CAB701,38CAB702,4087C601,#2016-04-16 11:04:51
set LampeEsszimmerDecke regBulk RegL_00:   02:81 0A:2C 0B:D6 0C:D0 15:05 16:00 00:00 #2016-04-16 11:04:48
set LampeEsszimmerDecke regBulk RegL_01:   30:06 32:50 33:64 34:4B 35:50 56:00 57:24 00:00 #2016-04-16 11:04:51
set LampeEsszimmerDecke regBulk RegL_03:LampentasterEsszimmer.Taste01  01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:44 0C:54 0D:64 0E:20 0F:00 10:14 11:C8 12:0A 13:05 14:05 15:00 16:C8 17:0A 18:0A 19:04 1A:04 81:00 82:00 83:00 84:32 85:64 86:00 87:0A 88:00 89:FF 8A:A5 8B:44 8C:54 8D:64 8E:20 8F:00 90:14 91:C8 92:0A 93:05 94:05 95:00 96:C8 97:0A 98:0A 99:04 9A:04 00:00 #2016-04-16 11:04:53
set LampeEsszimmerDecke regBulk RegL_03:LampentasterEsszimmer.Taste02  01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:12 0C:22 0D:23 0E:20 0F:00 10:14 11:C8 12:0A 13:05 14:05 15:00 16:C8 17:0A 18:0A 19:04 1A:04 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:24 8B:12 8C:22 8D:23 8E:20 8F:00 90:14 91:C8 92:0A 93:05 94:05 95:00 96:C8 97:0A 98:0A 99:04 9A:04 00:00 #2016-04-16 11:04:56
set LampeEsszimmerDecke regBulk RegL_03:self01  01:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:14 0C:52 0D:63 0E:20 0F:00 10:14 11:C8 12:0A 13:05 14:05 15:00 16:C8 17:0A 18:0A 19:04 1A:04 81:00 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:26 8B:14 8C:52 8D:63 8E:20 8F:00 90:14 91:C8 92:0A 93:05 94:05 95:00 96:C8 97:0A 98:0A 99:04 9A:04 00:00 #2016-04-16 11:04:57
#     timestamp of the readings for reference
#        LampentasterEsszimmer.Taste01,LampentasterEsszimmer.Taste02,self01, :peerList
#        2016-04-16 11:04:48 :RegL_00:
#        2016-04-16 11:04:51 :RegL_01:
#        2016-04-16 11:04:53 :RegL_03:LampentasterEsszimmer.Taste01
#        2016-04-16 11:04:56 :RegL_03:LampentasterEsszimmer.Taste02
#        2016-04-16 11:04:57 :RegL_03:self01
======= finished ===
Leider fehlt hier jedoch der 2. self-Eintrag. Daher kann ich sie nicht austauchen.