FHEM Forum

FHEM - Hardware => FRITZ!Box => Thema gestartet von: amenomade am 20 Juni 2020, 22:04:14

Titel: [patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: amenomade am 20 Juni 2020, 22:04:14
Hallo Rudi

Da der TE keine weitere (insb. negative) Rückmeldung schreibt, und es bei mir mit einer Telekom Magenta E27 LED Lampe seit 2 Wochen zuverlässig funktioniert, anbei das Patch aus dem Thread https://forum.fhem.de/index.php/topic,111667.msg1064374.html#msg1064374


Mit der bitte um Kontrolle und ggf. Einchecken.
Vielen Dank im Voraus.
VG
Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: rudolfkoenig am 20 Juni 2020, 22:29:47
Habs ueberflogen, und mir faellt auf, dass beim set etliche Readings gesetzt/Events generiert werden, das ist aber nicht im Sinne des Erfinders :) Warum ist das in set noetig?
Und wofuer wird "use Color" benoetigt?
Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: amenomade am 20 Juni 2020, 22:46:06
Vielen Dank für die Rückmeldung!

Laut Doku im wiki ist Color nötig, damit das Widget colorpicker in
    $cmd{"colortemperature"} = "colorpicker,CT,2700,100,6500";
    $cmd{"hue"} = "colorpicker,HUE,0,1,359";
benutzt werden kann.

Das Setzen von Readings ist mMn bei set nötig, weil die 3 Parameter saturation, hue und colormode immer im Zusammenhang arbeiten: eine Änderung von hue führt z.B. auch zu eine Änderung von saturation, weil die Fritzbox nur bestimmte Kombinationen von beiden akzeptiert.
Wenn ich die Readings nicht setze, kriege ich erst nach polling Interval die Änderung. Wenn inzwischen ein neues set gemacht wird überschreiben sich die Sachen.

Deine Meinung, oder Ideen wie man es anders machen könnte?


Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: amenomade am 21 Juni 2020, 01:05:26
Veilleicht könnte ich FBAHAHTTP_Poll($hash->{IODev}) aufrufen, um sofort eine Aktualisierung der betroffenen Readings zu bekommen? Wäre das besser?

EDIT: OK, ich habe vielleicht eine andere Idee. Ich muss aber implementieren, und testen.
Und ich habe auch beim Überlegen einen Fehler in das ParseHttp von meinen Readings entdeckt.

Ich melde mich :)
Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: amenomade am 21 Juni 2020, 22:02:21
So jetzt:
- tatsächlich scheint colorpicker ohne "use Color;" zu funktionieren => habe ich entfernt.
- mein Problem mit Abhängigkeiten habe ich über $hash->{helper} gelöst. Damit wird kein Reading mehr in "set" gesetzt, sondern erst in parseHttp beim nächsten FBAHAHTTP_Poll. Hoffe, das ist jetzt so mehr "im Sinne des Erfinders" ;)


Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: rudolfkoenig am 23 Juni 2020, 12:26:00
Habe dein Patch uebernommen und eingecheckt.

Da ich es Maintainen muss, habe ich es relativ stark ueberarbeitet:
- Einrueckung/Zeilenlaenge angepasst.
- {helper} entfernt, ich wuesste nicht, welchen Nutzen sie hat
- temperature in colortemperature geaendert, um Missverstaendnisse zu vermeiden.
- da mein Hirn mit // nicht zurechtkommt, es umgebaut.
- %colordefaults verkuerzt.

Ich hoffe dabei nichts kaputtgemacht zu haben, da ich es aber nicht testen kann, bitte ich Dich die Aenderungen zu pruefen, und Feedback zu geben.
Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: amenomade am 23 Juni 2020, 13:54:40
Kein Thema, der Maintainer herrscht auf seinem Modul ;) Danke auf jeden Fall für deine Mühe :)

Ich teste weiter heute Abend, aber in erster Linie scheint das Setzen von saturation umgekehrt zu funktionieren. satindex dagegen ok, aber die funktionieren nw. in gegenseitige Richtung: je höher satindex, desto kleiner die Sättigung. Das finde ich auch komisch, aber so ist es in der AHA Doku beschrieben. Fakt ist aber im Moment mit der jetzige Implementierung, dass wenn man set saturation höher macht, die Sättigung an der Lampe reduziert wird.

Der Rest sonst perfekt.
Ich analysiere das heute Abend und sage Dir Bescheid.
Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: amenomade am 23 Juni 2020, 14:18:06
Es reicht wahrscheinlich in FBDECT_getDiscreteSat ein
  @discreteSat = sort { $a <=> $b } @discreteSat;

direkt nach
  my @discreteSat = (@{$colordefaults{$color}{sat}}, 9999);

weil Du sonst in @discreteSat für z.B. red folgendes kriegst:
$VAR1 = 180;
$VAR2 = 112;
$VAR3 = 54;
$VAR4 = 9999;
was natürlich die Intervalsuche vom kleinsten zum grössten verzerrt
aber, wie gesagt, ich gucke heute Abend genauer an und teste ggf mit dieser Änderung.
Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: rudolfkoenig am 23 Juni 2020, 14:31:37
Danke fuer die Suche, ich habe reverse dazugepackt.
Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: amenomade am 23 Juni 2020, 18:27:22
Jepp, mit reverse scheint alles wieder wie gedacht zu funktionieren.

Frage: hast Du Interesse an einen neuen Patch von mir für die restliche neue Kommandos / Readings, die neulich in der Doku von AVM aufgetaucht sind, oder machst Du es lieber selbst? Das sollte einfacher als diese bl... Farbe / Sättigung Kombinationen von den Lichter sein.

Das wurde z.B. hier https://forum.fhem.de/index.php/topic,103621.msg1066443.html#msg1066443 gestern noch erwähnt.
ZitatWenn ich es richtig verstehe, kann man nun folgende Werte manipulieren:

    sethkrwindowopen
    sethkrboost


Und folgende Werte auslesen:

    <boostactive>
    <boostactiveendtime>
    <windowopenactive>
    <windowopenactiveendtime>
    <holidayactive>
    <summeractive>


Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: rudolfkoenig am 23 Juni 2020, 21:37:52
Zitathast Du Interesse an einen neuen Patch von mir für die restliche neue Kommandos / Readings
Ja, gerne, dann hat das naemlich jemand einmal getestet :)
Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: amenomade am 24 Juni 2020, 19:13:24
Hier der Patch

Getestet bis zu Fritzbox: ich habe leider nur Fritz/Comet DECT 300 (nicht 301), die den Boost Modus nicht unterstützen. Die Kommandos werden bis zum Fritzbox weitergeleitet, die Antwort von der Fritzbox entspricht die AHA Doku, aber was dann die Fritzbox mit den Geräte machen würde, kann ich nicht testen. Die Werte werden aber richtig gesetzt, da die Readings beim nächsten Poll stimmen

Ich weiss nicht, wie man den Benutzern klar machen könnte, dass das Setzen von einem boost oder windowopen Modus erst beim nächsten Wecken vom entspr. "Batterie-gesteuerten" Device mitberücksichtigt wird. Eigentlich haben hier die Befehle nur Sinn, wenn man die Dauer gross genug setzt, und ggf. manuell bei Bedarf mit Dauer 0 cancelt. Na gut... das ist (leider) wie die Fritz!DECT Geräte funktionieren (keine Push Funktion)


Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: rudolfkoenig am 25 Juni 2020, 10:40:58
Danke fuer den Patch, habs eingecheckt.

Zitatdas Setzen von einem boost oder windowopen Modus erst beim nächsten Wecken vom entspr. "Batterie-gesteuerten" Device mitberücksichtigt wird.
Ist das gesichert? Ich meine was Anderes gelesen zu haben, weiss aber nicht mehr wo. Wie auch immer: das ist kein FHEM-Problem, sondern Eigenschaft der entsprechenden AVM-Produkte.

Anders ist das beim Knopf-Druecken: Bei FritzBox-Verknuepfungen funktioniert es, FHEM haengt nur wegen der "neuen" API hinterher, und das ist fuer den Benutzer nicht transparent.
Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: kptkip am 01 Juli 2020, 17:24:01
Aloa,

ich hab gerade ein update all gemacht und mir die "specific help" eines der Fritzdect 301 Devices angeschaut. Dort steht munter die neue boost- und windowopen-Beschreibung drin. Also dachte ich: Alles paletti!

Habs nun ausprobiert:
set [DEVICENAME] boost 500

und erhalte folgende Fehlermeldung:
Unknown argument boost, choose one of closed desired-temp open raw attrTemplate:

Im set Dropdown-Feld sehe ich auch keine Befehle für boost und windowopen.

Hab ich was übersehen?

Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: amenomade am 01 Juli 2020, 18:03:01
Bitte ein "list" vom Device.
Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: kptkip am 01 Juli 2020, 19:04:23
Voilà:
Internals:
   DEF        FritzDECT:09995_0049294 actuator,tempSensor
   FUUID      5c4f9cf5-f33f-57e4-3069-76fbffbdf3f06e47
   FritzDECT_MSGCNT 24
   FritzDECT_TIME 2020-07-01 18:59:36
   IODev      FritzDECT
   LASTInputDev FritzDECT
   MSGCNT     24
   NAME       Heizung_Schlafen
   NR         23
   STATE      desired-temp: 18.0 C
   STILLDONETIME 0
   TYPE       FBDECT
   id         09995_0049294
   props      actuator,tempSensor
   webCmd     desired-temp
   Helper:
     DBLOG:
       temperature:
         DBLogging:
           TIME       1593618576.49452
           VALUE      22.0
   READINGS:
     2020-07-01 18:59:36   AIN             09995 0049294
     2020-07-01 18:59:36   FBNAME          Schlafzimmer
     2020-07-01 18:59:36   FBPROP          actuator,tempSensor
     2020-07-01 18:59:36   FBTYPE          FRITZ!DECT 301
     2020-07-01 18:59:36   ID              21
     2020-07-01 18:59:36   battery         100 %
     2020-07-01 18:59:36   batteryPercent  100
     2020-07-01 18:59:36   batteryState    ok
     2020-07-01 18:59:36   batterylow      0
     2020-07-01 18:59:36   boostactive     no
     2020-07-01 18:59:36   boostactiveendtime N/A
     2020-07-01 18:59:36   day-temp        18.0 C
     2020-07-01 18:59:36   desired-temp    18.0 C
     2020-07-01 18:59:36   devicelock      no
     2020-07-01 18:59:36   errorcode       noError (0)
     2020-07-01 18:59:36   fwversion       04.94
     2020-07-01 18:59:36   holidayactive   no
     2020-07-01 18:59:36   locked          no
     2020-07-01 18:59:36   nextPeriodStart 2020-07-01 22:00:00
     2020-07-01 18:59:36   nextPeriodTemp  18.0 C
     2020-07-01 18:59:36   night-temp      18.0 C
     2020-07-01 18:59:36   present         yes
     2020-07-01 18:59:36   state           desired-temp: 18.0 C
     2020-07-01 18:59:36   summeractive    no
     2020-07-01 18:59:36   tempadjust      -4.0 C
     2020-07-01 18:59:36   temperature     22.0 C (measured)
     2020-07-01 18:59:36   windowopenactiv no
     2020-07-01 18:59:36   windowopenactiveendtime N/A
Attributes:
   DbLogExclude .*
   DbLogInclude desired-temp,temperature
   IODev      FritzDECT
   alias      Heizung Schlafzimmer
   event-min-interval power:120
   event-on-change-reading state,temperature,desired-temp
   group      Geräte für Heizung
   homebridgeMapping TargetTemperature=desired-temp::desired-temp,minValue=5,maxValue=35,minStep=0.5,nocache=1 CurrentTemperature=temperature,nocache=1
   icon       hm-cc-rt-dn
   room       Obergeschoss->Schlafzimmer
Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: amenomade am 01 Juli 2020, 19:34:03
Ok, mein Schuld. Als ich die Änderungen in die inzwischen von Rudi wieder modifizierte Version übertragen habe, habe ich eine Zeile vergessen.

Ich bereite den Patch vor.
Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: amenomade am 01 Juli 2020, 19:45:42
Und hier der Patch
Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: rudolfkoenig am 02 Juli 2020, 10:57:48
Danke, habs eingecheckt.
Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: kptkip am 09 Juli 2020, 08:30:47
Aloa,

Ich hab die neuen Funktionen getestet mit meinen Fritz!DECT 301 Heizungsthermostaten.

Kurze Rückmeldung: Es klappt!

Was hier allerdings das Problem ist - und dafür könnt Ihr als FHEM-Entwickler nunmal nix - ist die lange Latenz beim Synch zwischen Fritzbox und Thermostat.

Ich mach mal ein Beispiel:
- Es ist 10:00 Uhr und schicke den Befehl set DEVICENAME boost 300 (vulgo: Booste für 5 Minuten)
- Der ,,timestamp" im FHEM-Device steht also auf 10:05, um wieder abzuschalten.
- Der wird auch an die Fritzbox gesendet
- Dann dauert es - bei mir so rund 2-5 Minuten, bis das Thermostat auch reagiert. Kann offiziell bis zu 15 Minuten dauern.
- Die Konsequenz ist, dass das Thermostat u.U. Erst um 10:04 Uhr boostet und um 10:05 wieder abschaltet.

Ob das - gerade beim windowopen - so zielführende ist, darf bezweifelt werden. Selbst wenn er nicht den absoluten timestamp sondern die Dauer übermitteln würde, wäre das m.E. nicht optimal, weil der Zeitversatz immer noch drin wäre.

Aber wie gesagt, das ist ein Problem in der Kommunikationsstrategie von AVM.

Soweit mein Erfahrungsbericht.

Ob ich das ernsthaft einsetzen werde, bin ich mir noch nicht sicher. Trotzdem vielen Dank an @amenomade und @rudolfkönig.

Gruß
Alex
Titel: Antw:[patch] 10_FBDECT: Unterstützung von LED HAN-FUN Lampen und FritZ!DECT 500
Beitrag von: amenomade am 09 Juli 2020, 18:52:08
Danke für die Rückmeldung