[Gelöst] LED RF-Controller Omax F-508 (Fischer Honsel Leuchten)

Begonnen von Verkehrsrot, 30 Juli 2021, 18:28:10

Vorheriges Thema - Nächstes Thema

Verkehrsrot

Ich habe LED-Leuchten des Herstellers Fischer & Honsel aus deren Serie "Shine Loft Modular".
https://www.lightkontor.de/img/Lightkontor-SHINE-LOFT-2.pdf
https://www.lightkontor.de/SHINE_Loft-Modular_2_No_70465_Deckenleuchte-Grundgestell_Weiss_RGBW_CCT.html

Darin verbaut ist ein RF Dimming Controller mit der Bezeichnung OMAX F-508. Eine entsprechende Fernbedienung wird mitgeliefert:
https://www.wofi.de/leuchtmittel-zubehoer/zubehoer-ersatzteile/5951/fernbedienung-incl-batterie

Mit dem RfxMgr habe ich die Codes der Fernbedienung analysiert, und kann sie mit FHEM lesen. Protokoll PT2262 Lightning 4, Puls 304µs. Der Empfang und die Dekodierung mit FHEM funktionieren somit - schonmal gut.

Nun würde ich auch gern senden wollen. Mit dem RfxMgr gelingt es, wenn ich dort bei Lightning 4 Puls auf Werte 270-290µs einstelle. Ich kann die Leuchte dann schalten. Jedoch funktioniert es von FHEM aus nicht. "Save settings" im RfxMgr habe ich gemacht.

Woran kann es liegen, dass das schalten mit RfxMgr funktioniert, aber aus FHEM heraus nicht? Kann / muss ich in FHEM bei TRX_Light Treiber den Puls verstellen?

Verkehrsrot

Vom Hersteller des rfxtrx Transceivers habe ich folgende Info bekommen, wie sich beim senden mit Lightning4 ein Wert für das pulse timing übergeben lässt. Meine Frage ist nun, ob TRX_LIGHT das untersützt, und falls nicht, wie man das eventuell dort reinprogrammiert bekommt.


This is the format of the Lighting4 packet:

struct {
                BYTE      packetlength;
                BYTE      packettype;
                BYTE      subtype;
                BYTE      seqnbr;
                BYTE      cmd1;
                BYTE      cmd2;
                BYTE      cmd3;
                BYTE      pulseHigh;
                BYTE      pulseLow;
                BYTE      filler : 4;
                BYTE      rssi : 4;
} LIGHTING4;

packetlength:
Packet length (this byte not included) = 0x09

packettype:
0x13 = lighting4

subtype:
0x00 = PT2262, EV1527 (433.92MHz)

seqnbr:
Sequence number. This field contains a sequence number from 0x00 to 0xFF.

cmd1, cmd2, cmd3:
24 bits for PT2262, EV1527 and compatibles

pulseHigh, pulseLow:
Pulse timing / 4.
This value is mostly 1400 / 4 = 350 (usec.)

rssi: (is 0x0 for transmitter command)

Verkehrsrot

#2
Inzwischen kann ich es mir nach Studium des Quellcodes selbst beantworten:
46_TRX_LIGHT.pm sendet Lightning4 mit einer festen Pulsweite von 350µs, das ist hardcoded in der Progammzeile 445:

Zitat$hex_command = sprintf "00%02x%s015E00", $seqnr, $hexdata;

0x015E = 350µs.

Habe das jetzt mal geändert auf 0x03E8 = 250µs, denn mit 250µs reagiert die Lampe, wenn ich den Steuerbefehl mit dem RfxMgr direkt sende.
Leider klappt es aber auch mit dieser Änderung aus FHEM heraus nicht. :-(

Ich suche weiter.

Verkehrsrot

#3
Und gelöst:  ;D

Mit einem Wert 0x0FA0 klappt es. Das sind 250µs * 4 * 4. Scheinbar ist irgendwo ein zusätzlicher Faktor 4 im Spiel, oder die von rfxcom.com erhaltene Dokumentation stimmt nicht.

Vermutung: Der Originalwert in 46_TRX_LIGHT.pm 0x015E ist falsch. Er muss 0x15E0 betragen, für 350µs.

Wo kann ich diese Änderung einreichen (als "Pull Request") ?