Slider wackelt - Lösung mit Dummy und Verzögerung

Begonnen von basti2s, 05 Oktober 2018, 18:02:35

Vorheriges Thema - Nächstes Thema

basti2s

Hallo zusammen,

ich hatte hier schon mal eine Frage diesbezüglich gestellt, jedoch hat sich jetzt meine Fragestellung etwas geändert.
Ich habe Folgendes Problem:

Ich verwende IKEA Tradfri lampen, welche ich in FHEM per Slider dimmen kann. Leider ändern die IKEA lampen beim dimmen ihren Wert nicht schlagartig, sondern werden langsam heller oder dunkler. Dies hat zur Folge, dass der Slider in FHEM unschön hin und her springt.
Das äußert sich wiefolgt: Sollwert wird gesetzt, gleichzeitig wird aber der Istwert mit dem Slider visualisiert, da der Dimmwert auch über meine Alexa geändert werden kann, und bei einer änderung über Alexa der Sliderwert ja dann nicht mehr dem aktuellen Dimmwert entsprechen würde.
Wenn man nun den Slider auf 80% stellt, springt dieser zunächst auf 80% und dann, da die lampen langsam heller werden erst auf 20, 80, 40, 80,  60, 80%
Um das Problem zu beheben habe ich mir Folgendes gedacht:

Ich verwende einen Dummy.
1. Dummywert wird geändert
2. Notify erkennt dies und schreibt den Dummywert direkt in das Dimvalue für die Lampen (Dimmerwert)
3. Ein weiteres Notify erkennt die Änderung von Dimvalue (Dimmerwert) und schreibt den Wert verzögert in den Dummy zurück.

Was haltet ihr von meinem Lösungsansatz?

Ich bekomme es momentan nur leider nicht hin, den State des Dummy in den Dimmerwert zu schreiben.
Kann mir da jemand weiterhelfen?

basti2s

Hat niemand ne Idee?
Oder woran liegt es dass niemand antwortet?
Zu unverständlich?

Wernieman

Dein Problem ist einfach umschrieben:
Du hast "Ist" und "Sollwert". Dein Problem ist, das manchmal, z.B. schalten über Alexa, der Istwert = Sollwert sein soll.

Ich würde es Grundsätzlich Lösen, d.h. über Alexa den Sollwert Ändern lassen, nicht den Istwert.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

basti2s

Hallo,

danke für deine Antwort.
leider komme ich  mit der nicht ganz zurecht.

Ich habe von den Lampen zwei Variablen, über die ich diese dimmen kann. PCT und dimvalue. Welche davon soll nun Soll und welche dem Ist-Wert entsprechen?
Wenn ich den Slider in FHEM bewege wackelt dieser, obwohl dieser ja nur den Wert von dimvalue wiedergibt, und nicht eine Mischung aus Soll und Ist-Wert.
Oder habe ich da etwas falsch verstanden?

Wernieman

Ich kenne Deine Implementierung nicht, aber Du änderst einen Wert, der die Zukünftige Helligkeit sein soll? Diese wird dann aber geändert, da sie "überschrieben" wird mit der aktuellen Helligkeit, die sich dank automatischen Dimmen laufend ändert. Ich würde versuchen, diese beiden Sachen zu trennen.

Wie das geht ... mangels IKEA Tradfri lampen kann ich es Dir nicht sagen
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Beta-User

Dazu kommt, dass es für Tradfri-Geräte mind. 4 Varianten gibt, wie sie angesteuert werden können (Tradfri-Modul, Hue-Device, Xiaomi-MQTT-Device oder MQTT2-Device (letztere beiden mit zigbee2mqtt).

Ohne lists der beteiligten Devices ist das ein ziemliches Ratespiel. Aber an sich ist mir schon nicht klar, für was man da einen Dummy benötigt, das sieht für mich eher wie ein Teil des Problems aus.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

basti2s

Zitat von: Wernieman am 08 Oktober 2018, 13:50:40
[...] Du änderst einen Wert, der die Zukünftige Helligkeit sein soll? Diese wird dann aber geändert, da sie "überschrieben" wird mit der aktuellen Helligkeit, die sich dank automatischen Dimmen laufend ändert.
genau so ist es.

Zitat von: Wernieman am 08 Oktober 2018, 13:50:40
Ich würde versuchen, diese beiden Sachen zu trennen.
Wie das geht ... mangels IKEA Tradfri lampen kann ich es Dir nicht sagen
Das versuche ich ja über den Umweg mit dem Dummy. Quasi wie eine Entprellung

Zitat von: Beta-User am 08 Oktober 2018, 13:54:08
Dazu kommt, dass es für Tradfri-Geräte mind. 4 Varianten gibt, wie sie angesteuert werden können (Tradfri-Modul, Hue-Device, Xiaomi-MQTT-Device oder MQTT2-Device (letztere beiden mit zigbee2mqtt).

Ohne lists der beteiligten Devices ist das ein ziemliches Ratespiel. Aber an sich ist mir schon nicht klar, für was man da einen Dummy benötigt, das sieht für mich eher wie ein Teil des Problems aus.

Ich steuere die Lampen über das IKEA Gateway mit dem Trafidfri Modul von Elektronik Kappelt an.

Hier die Lists:
Internals:
   DEF        131073
   IODev      TradfriGW
   LASTInputDev TradfriGW
   MSGCNT     611
   NAME       Deckenlicht
   NR         268
   STATE      on
   TYPE       TradfriGroup
   TradfriGW_MSGCNT 611
   TradfriGW_TIME 2018-10-08 19:25:49
   address    131073
   name       Deckenlicht
   READINGS:
     2018-03-27 21:15:55   createdAt       Sun, 18 Feb 2018 16:42:15 GMT
     2018-10-08 12:44:49   dimvalue        100
     2018-10-08 19:25:49   members         [
   {
      "deviceid" : 65536,
      "name" : "TRADFRI remote control"
   },
   {
      "deviceid" : 65539,
      "name" : "TRADFRI bulb GU10 W 400lm"
   },
   {
      "deviceid" : 65541,
      "name" : "TRADFRI bulb GU10 W 400lm 3"
   },
   {
      "deviceid" : 65540,
      "name" : "TRADFRI bulb GU10 W 400lm 2"
   },
   {
      "name" : "TRADFRI bulb GU10 W 400lm 5",
      "deviceid" : 65543
   },
   {
      "deviceid" : 65542,
      "name" : "TRADFRI bulb GU10 W 400lm 4"
   }
]
2018-10-05 16:14:43   moods           [
   {
      "name" : "EVERYDAY",
      "groupid" : 131073,
      "moodid" : 196608
   },
   {
      "groupid" : 131073,
      "moodid" : 196609,
      "name" : "RELAX"
   },
   {
      "moodid" : 196610,
      "groupid" : 131073,
      "name" : "FOCUS"
   }
]

     2018-03-27 21:15:55   name            deckenlicht
     2018-10-08 19:25:48   onoff           on
     2018-10-08 19:25:48   pct             100
     2018-10-08 19:25:48   state           on
   helper:
     moods:
       EVERYDAY:
         groupid    131073
         moodid     196608
         name       EVERYDAY
       FOCUS:
         groupid    131073
         moodid     196610
         name       FOCUS
       RELAX:
         groupid    131073
         moodid     196609
         name       RELAX
Attributes:
   genericDeviceType light
   room       Bastian,Bastians Zimmer,alexa
   usePercentDimming 1
   userattr   lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0
   webCmd     dimvalue


Und noch das List vom Gateway:

Internals:
   DEF        192.168.0.192 ********************
   DeviceName localhost:1505
   FD         150
   NAME       TradfriGW
   NR         267
   PARTIAL   
   STATE      opened
   TYPE       TradfriGateway
   gatewayAddress 192.168.0.192
   gatewaySecret **************
   name       TradfriGW
   READINGS:
     2018-07-19 18:36:18   devices         [{"name":"TRADFRI remote control","deviceid":65536},{"name":"TRADFRI bulb GU10 W 400lm 4","deviceid":65542},{"name":"TRADFRI bulb GU10 W 400lm","deviceid":65539},{"name":"TRADFRI bulb GU10 W 400lm 2","deviceid":65540},{"name":"TRADFRI bulb GU10 W 400lm 5","deviceid":65543},{"name":"TRADFRI bulb GU10 W 400lm 3","deviceid":65541}]
     2018-03-27 21:12:43   groups          [{"groupid":131073,"name":"deckenlicht"}]
     2018-10-05 16:14:42   state           opened
Attributes:


Beta-User

Hmm, ich kenne jetzt das Modul nicht, würde aber mal behaupten, dass das Problem eigentlich auf Modulebene gelöst werden sollte. Ds könnte ähnlich sein wie bei HM, da ist der STATE auch erst mal set_<Ziellevel>, bis das angesprochene Device wirklich zurückmeldet: "ich bin da angekommen, wo du wolltest". Erst dann geht auch STATE auf <Ziellevel> (dazwischen wird keine Änderung an irgendeinem Schieberegler oä. vorgenommen).

So scheint du dir eine Schleife gebaut zu haben, die sich selbst abbricht. Könnte man nur abfangen, wenn man das Ziellevel noch woanders hinschreibt und dann jedesmal einen eigenen Vergleich macht, der den Prozess weitertreibt...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

basti2s

Also ich brauch jetzt nicht die sauberste Lösung.
Funktioniert denn meine Idee mit dem Dummy nicht?

basti2s


Byte09

Zitat von: basti2s am 12 Oktober 2018, 08:57:05
hat keiner eine Idee?

schaltest du diese lampe ausschliesslich über fhem ?

gruss Byte09

basti2s


basti2s

keiner eine Idee? Bin so langsam echt am verzweifeln. :'(