[gelöst mit anderem Aktor] HM-LC-Dim1T-FM verschiedene Dimmwerte je Tageszeit

Begonnen von BlueGe, 18 September 2019, 21:50:31

Vorheriges Thema - Nächstes Thema

martinp876

Self01/2 sind schon  gepeert.
Physisch ist immer das Resultat aus den Verknüpfungen der 3 Kanäle.  Wie schon gesagt ich bin fast sicher das die klammerung so geht
((Virt2 operVirt2 virt1) operVirt1 chan1) operChan1 ??? = phys.
OperChan1 verstehe ich nicht, vermute dass es einfach übrig ist um alle 3 intern identisch zu haben.
??? Wäre dann 1

Also virt1 ist der zeitabhängige default. Tagsüber auf 100%. Nachts und/oder in der Dämmerung kleiner.

Wenn du also nachts auf 100% dimmen willst muss virt2 hoch gehen. Mehr als 100% kann aus virt2 oper virt1 nicht entstehen.

Bei selfx Short wird virt2 IMMER auf 0 gesetzt. Dann ist die  Rückstellung Problem gelöst.

Der Dimmer ( also die beiden longs) müssen auch auf Chan1 wirken.  Sonst kannst du tagsüber nicht abregeln.

Das eq3 Konzept kann sehr viel. Allerdings muss man sich damit befassen und spielen. Und sich darauf einlassen.

Noch unklar ist mir, wie stark die regellinaerität beeinflusst wird da beim dimmen nachts virt2 und chan1 gleichzeitig dimmen.
Die Geschwindigkeit kann man ja einstellen.

BlueGe

Hallo Pfriemler,
nun ist der Dimmer auch bei mir endlich angekommen und ich habe es geschafft diesen in FHEM zu integrieren.
Nun bin ich etwas verwirrt über die Anzahl der angelegten Geräte und bei welchem diese nun die RegTable angepasst werden muss.
Ich habe ein Hauptgeräte BA_DIMHM_Licht vom Typ CUL_HM welches drei Kanäle hat:

channel_01           BA_DIMHM_Licht_Dim
channel_02           BA_DIMHM_Licht_Dim_V_01
channel_03           BA_DIMHM_Licht_Dim_V_02


Über FHEM kann ich nur mit Channel_01 den Aktor schalten bei den anderen beiden passiert nichts.
1) Bei welchen der Channels muss die Einstellung gemacht werden?
2) Was machen die anderen Channels?
3) Dann wäre noch die Frage welche Firmware ihr auf euren Culs benutzt culfw oder a-culfw? Ich frage mich bevor ich mehr Geräte anlerne ob es Sinn macht auf die a-culfw umzustellen.

Das hm.js habe ich nun am laufen, damit sollte dann die Umstellung der Register nur ein paar Klicks sein. Großen dank an "papa"  dem Entwickler

Könntet ihr mir zum besseren Verständnis erklären was dort in den Registern nun genau angepasst wird?

Im Vorfeld schon danke für eure Unterstützung und Zeit.

martinp876

Nun das sind die 3 Kanäle von  denen ich sprach.
Erst einmal rate ich dir mit chan1 anzufangen. Die beiden anderen sind passiv so lange du deren Register logic Kombination diese nicht aktiviert.
Im device solltest du nun intKeysVisib auf visib setzen und noch ein getconfig machen.  Nun siehst du den aktuellen stand.
Die Funktion der Register ist im Einsteiger doc beschrieben. Damit solltest du anfangen wenn du es verstehen willst. Dimmer ist ein sehr schönes device um hm fast komplett zu verstehen.
Suchst du aber nur ein fertiges Setting musst du noch klären was es nun werde  soll.

Pfriemler

#18
yep, wie Martin schon sagte, bezieht sich mein Zweitastentoggle-Setup auf den ersten Kanal.
Erst für die von Martin erdachte Zeitsteuerung über FHEM benötigst Du die beiden virtuellen (_V_)-Kanäle.

Ich nutze für meine Ausprobierereien ein "Bausetup": Eine Glühlampe mit Fassung und ein altes Netzkabel direkt am Dimmer und das ganze in der Nähe von FHEM. Das vereinfacht die Funktionskontrolle und das Debugging allgemein und so könntest Du das Setup auch der Frau vorführen und abchecken lassen. Berührungsschutz sicherstellen!

Vielleicht finde ich heute endlich mal Muße, das Setup mit den virtuellen Kanälen auszuprobieren. Ich kann ja auch nur dabei dazulernen.

Zitat von: BlueGe am 28 September 2019, 22:08:07
3) Dann wäre noch die Frage welche Firmware ihr auf euren Culs benutzt culfw oder a-culfw? Ich frage mich bevor ich mehr Geräte anlerne ob es Sinn macht auf die a-culfw umzustellen.
...
Könntet ihr mir zum besseren Verständnis erklären was dort in den Registern nun genau angepasst wird?

culfw oder a-culfw nehmen sich nichts, sie sind halt nicht besonders gut für Homematic geeignet. Besser wäre die optimierte TS-CUL-Firmware oder noch besser ein "echtes" Homematic-Interface. Aber starte ruhig mit der vorhandenen Firmware - wenn es funktioniert, musst Du keine Kopfstände machen.

Was für das Setup genau einzustellen ist, hatte ich oben eigentlich schon erläutert.
set <CHANNEL> regSet shDimJtDlyOn  rampOn self01
wäre der auf der Kommandozeile abzusetzende Befehl - mit der hm.js-Erweiterung rufst Du eben die Einstellungen für "self01" auf und änderst entsprechend "shDimJtDlyOn" auf "rampOn" usw...

edit: erweitert
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Pfriemler

So, hier ist das Ergebnis meiner Umprogrammierversuche für eine Starthelligkeitsvorgabe von FHEM über den virtuellen Kanal 1 (=Gerätekanal 2) und Übersteuerbarkeit der Vorgabe mittels virtuellem Kanal 2 (=Gerätekanal 3).

Die Programmierung geht von einem zurückgesetzten Aktor aus (Werkszustand).
Aber angelernt muss er natürlich sein.
Tipp: Nach dem Zurücksetzen via "reset" aus FHEM heraus unbedingt den Dimmer einmal von Hand ein- und wieder ausschalten.
Erst danach hmPairForSec in vccu setzen und Konfigurationsknopf drücken.
Ohne das vorherige Einschalten habe ich direkt nach dem Reset kein Pairing hinbekommen!

Die folgenden Änderungen gehen von der Nutzung von hm.js aus!

Nach jeder Änderung mittels "Apply"-Button unmittelbar ein "getConfig" auslösen! Dies hält die Daten in FHEM auf dem aktuellen Stand und verbessert die Fehlersuche.

Stufe 0: Sichtbarmachen der internen Buttons
--------------------------------------------
im Gerät, Register für "Device"
- intKeyVisib visib (default: "invisib")   


Stufe 1: Virtueller Kanal 1 als Helligkeitsmaske
------------------------------------------------
- logicCombination mul (default "inactive")

Hinweis: Die Tasten self01 und self02 sind auch hier gepeert, aber inaktiv gesetzt: alle shActionTypeDim und lgActionTypeDim sind "off"!
Bleibt so!

Nach dieser Änderung muss die maximale Helligkeit über den virtuellen Kanal 1 von FHEM vorgegeben werden. Der Dimmer lässt sich lokal normal bedienen, wird jedoch maximal so hell wie die Vorgabe lautet.


Stufe 2: Virtueller Kanal 2 als zusätzliche Dimmstufe
-----------------------------------------------------
Auch hier sind die Buttons bereits gepeert und inaktiv, aber hier müssen sie wieder wie nachfolgend beschrieben freigeschaltet werden.

Register für "Device"
- logicCombination plus (default "inactive")   --> Dimmerwert des Kanals wird zum Gesamtergebnis hinzuaddiert.

Register für "self01"
- lgActionTypeDim downdim (default "off")       --> Herunter-Dimmen aktivieren:
- lgMultiExec on (default "off")  --> längeres Drücken für Dimmen aktivieren
- shActionTypeDim jmpToTarget (default "off)  --> Aktion für kurzen Tastendruck aktivieren

in "self02"
- lgActionTypeDim updim (default "off")         # Aufwärts-Dimmen aktivieren
- lgMultiExec on (default "off")                # längeres Drücken für Dimmen aktivieren
- shActionTypeDim jmpToTarget (default "off)    # Aktion für kurzen Tastendruck aktivieren

Ab jetzt würde ein kurzes Drücken der oberen Taste den Kanal immer einschalten. Das ist aber unerwünscht, vor allem weil die Vorgabe von FHEM so immer auf 100% überschrieben würde. Also werden die Aktionen der "Ausschalttaste" auf diese Taste "kopiert:
- shDimJtOff dlyOff (default "dlyOn")
- shDimJtOn dlyOff (default "rampOn")
- shDimJtRampOff off (default "rampOn")
- shDimJtRampOn dlyOff (default "on")
Mit diesen Einstellungen wird der virtuelle Kanal 2 auf jeden kurzen Tastendruck "zurückgesetzt" auf 0. Das Zurücksetzen beim Ausschalten ist erforderlich, damit der Dimmer nicht auf einer Resthelligkeit "stehenbleibt" - das Zurücksetzen auf der oberen Taste ermöglicht so eine Rückkehr auf den Defaultwert der FHEM-Vorgabe.
Alternativ könnten die letzten vier Werte auf "no" gesetzt werden, dann entfällt die Rückkehr auf den Vorgabewert.
Bei einem langen Tastendruck auf unten oder oben wird jetzt zusätzlich zum Dimmwert in Kanal 1 auch der in Kanal 3 geändert. Theoretisch könnte der Dimmerlevel nun auch auf maximal 200% steigen - wird aber intern auf 100% begrenzt. Das bedeutet aber auch, dass die parallele Dimmung sogar in Abhängigkeit von der FHEM-Starthelligkeit unterschiedlich schnell verläuft. Das kann verwirrend sein!

So oder so, hiermit ergibt sich letztendlich folgendes Verhalten:
- kurzer Tastendruck oben schaltet den Dimmer auf die maximale Helligkeit, die im virtuellen Kanal 1 von FHEM vorgegeben wurde.
- längeres Drücken auf unten dimmt herunter
- längeres Drücken oben dimmt herauf bis 100%
- kurzer Tastendruck unten schaltet den Dimmer aus.

Die gewünschte Starthelligkeit muss nun über ein at, DOIF etc. aus FHEM in den virtuellen Kanal 1 vorgegeben werden.

Es gibt eine wesentliche Nebenwirkung dieses gesamten Verfahrens:
Wird ein manuell heraufgedimmter Dimmer von FHEM im Gerätekanal 1 ausgeschaltet, so bleibt der Dimmer jedoch auf der noch in Kanal 3 (=virtuell 2) über das Dimmen eingestellten Helligkeit stehen. Daher muss beim Schalten aus FHEM immer auch Kanal 3 auf 0 gesetzt werden!
Ähnliches passiert, wenn man einen zweiten Wandtaster oder eine Fernbedienung nur mit dem ersten Kanal peert: Die Helligkeit lässt sich nicht mehr nach oben übersteuern, ebenso kann man den Dimmer eventuell nicht ganz ausschalten. Daher müsste die Fernbedienung ebenso mit dem Kanal 3 gepeert und die Register analog zu den internen Tastern angepasst werden.

Anmerkungen?



"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

BlueGe

#20
Hallo Pfriemler,

du machst deinem Namen alle Ehre. Danke für deine Mühe.
Ich habe es nun heute geschafft meinen Testaufbau mit deinen Einstellungen umzustellen. Mit der hm.js war dieses super einfach. Ich weiß zwar nicht was die verschiedenen Parameter (DimJtDlyOn , ...) nun genau bedeuten und machen aber es funktioniert.
Am meisten habe ich mich dann am Einbau des HM-LC-Dim1TPBU-FM abgequält. Zum Glück passte dieser auch in eine 40iger Hohlwanddose. Bei mir sind es zwei Schalter übereinander und nun passen die Wippen nicht mehr ganz genau, was das Tasten unten leider nicht so gut wie oben funktioniert. Dadurch ist es etwas schwierig den 30% Zustand zu aktivieren. Mal schauen ob das meine Frau so auf Dauer akzeptiert. Auf jeden Fall, ist das so für mich die bessere Lösung, da sich der Taster - wenn er dann funktioniert - immer gleich verhält. Ich glaube würde je nach Uhrzeit etwas anderes passieren würde dieses von der Familie nicht akzeptiert werden.

Somit setzte ich das Thema als gelöst.
Ich habe das Thema nun in "[gelöst mit anderem Aktor] HM-LC-Dim1T-FM verschiedene Dimmwerte je Tageszeit " geändert ist das Verständlich oder habt ihr einen besseren Vorschlag?

Mal schauen ob ich später auch noch mal die andere Variante Teste, wenn ich mal alleine zu Hause bin ;-).

Pfriemler

Zitat von: BlueGe am 29 September 2019, 22:25:59
... Testaufbau mit deinen Einstellungen umzustellen. Mit der hm.js war dieses super einfach.
Mein Reden. Schade, dass das noch nicht fest integriert werden konnte.

ZitatIch weiß zwar nicht was die verschiedenen Parameter (DimJtDlyOn , ...) nun genau bedeuten und machen aber es funktioniert.
Die Register sind weitgehend logisch benannt. Dim=Register eines Dimmers (Schalter Sw), Jt ist die jump table (lege fest was passiert wenn im Zustand X) und DlyOn wäre dann eine gerade aktive Einschaltverzögerung (die jedoch default immer 0 ist und nur für Spezialfälle benutzt wird) ...
Stichworte Homematic-Anhang des berühmten "Einsteiger-Doc" und darin die "state machine". Einmal kapiert, verstehst Du jedes Register.

Zitat... mich die bessere Lösung, da sich der Taster - wenn er dann funktioniert - immer gleich verhält. Ich glaube würde je nach Uhrzeit etwas anderes passieren würde dieses von der Familie nicht akzeptiert werden. ... Mal schauen ob ich später auch noch mal die andere Variante Teste, wenn ich mal alleine zu Hause bin ;-).
Die einen lieben es so, die anderen so.

Und wenn nicht: Eine vergleichbare Doku des alten "Licht je nach Tageszeit"-Problems habe ich bisher noch nicht gesehen und ich hoffe, dass der eine oder andere andere Interessent auch später noch über
SuFu hierher stolpert.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

BlueGe

Hallo zusammen,
da die Familie leider doch nicht so leicht um zu gewöhnen war und immer das gedimmte Licht angeschaltet hat, egal ob es oben oder unten auf dem Taster lag.
Teste ich nun, dass ich Tagsüber beide Taster auf 100% schalte und per Doif Nachts den einen Taster auf 30% ändere.

([22:00-05:00])
    (set <CHANNEL> regSet shOnLevel 30 self02)
DOELSE   
    (set <CHANNEL> regSet shOnLevel 100 self02)


Ihr hattet geschrieben, dass dadurch der Flashspeicher belastet wird. Hat schon jemand Erfahrung damit gesammelt, wenn täglich zwei Mal von FHEM der Flashspeicher geändert wird, ob dadurch eine kürzere Lebensdauer erkennbar ist/war?

Pfriemler

Ich glaube, hier liegt noch ein generelles Haptikproblem vor. Die Schaltrichtung von älteren Lichtinstallationen ist andersrum, also meist unten an (wie auch bei Tastern eigentlich immer) und oben aus. Das ist der erste gewöhnungsbedürftige Umstand, denn im Gegensatz dazu ist heller/lauter oben und dunkler/leiser unten intuitiv.

Eine Doppeltaster-macht-oben-und-unten-alles-gleich-Lösung ist dann nur ein Kompromiss.

regSet wirst Du einige Jahre ohne Einbuße steuern können. Aber die von Martin und mir entwickelte Lösung mit den virtuellen Kanälen umgeht genau das Problem, wenngleich in der Einrichtung auch ungleich komplizierter.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."