Modul-Entwicklung: Somfy RTS

Begonnen von thdankert, 12 Juli 2014, 21:04:31

Vorheriges Thema - Nächstes Thema

Mave


buennerbernd

Hallo Modul-Entwickler!

Was haltet ihr/du von dem Vorschlag vom Elektrolurch um SOMFY Fernbedienungen einfacher mit den Rollladen abzugleichen?
https://forum.fhem.de/index.php/topic,72173.msg653940.html#msg653940

Gruß, Stefan.
Modulentwickler von KLF200 und KLF200Node

Phiolin

#362
Seit ein paar Tagen haben wir eine neue Markise mit SOMFY RTS Fernbedienung.
Die Markise habe ich nun auch über ein CUL 433 erfolgreich eingebunden.

Zusätzlich kann über die Markisenfernbedienung auf dem 2. Kanal noch eine dimmbare LED-Lichtleiste an der Markise gesteuert werden. Diese habe ich zwar auch über das SOMFY Modul in FHEM einbinden können, das Verhalten ist aber "gewöhnungsbedürftig", da das Modul die Leiste wie eine Markise ansteuert.
Aktuell ist das Verhalten so:

LED-Leiste aus: "Off" schaltet die LED Leiste ein auf niedrigster Dimmstufe.
LED-Leiste an: "Off" schaltet jeweils eine Dimmstufe Heller.
LED-Leiste an: "On" schaltet jeweils eine Dimmstufe Dunkler (bis irgendwann die Leiste wieder aus ist).

Auf der Original-Fernbedienung verhält sich das etwas anders:
Kurzer Druck auf "Pfeil-hoch": Die LED Leiste wird auf maximale Helligkeit eingeschaltet.
Kurzer Druck auf "Pfeil-runter": Die LED Leiste wird ausgeschaltet.
Langer Druck auf "Pfeil hoch": Die LED Leiste wird ein- und stufenweise heller geschaltet, bis man die Taste loslässt.
Langer Druck auf "Pfeil runter": Die LED Leiste wird stufenweise dunkler und dann aus geschaltet.

Bekommen wir dieses Verhalten irgendwie in das Modul übertragen?
Praktisch würde es mir erst mal reichen, wenn ich über FHEM einfach nur "Licht maximal ein" und "Licht aus" schalten könnte. Einzelne Dimmstufen sind erst mal nicht notwendig. Man müsste das also nur so konfiguriert bekommen, dass das SOMFY Modul sich bei "on" und "off" wie ein einfacher kurzer Druck auf der Fernbedienung verhält.

RaspiLED

Hi,
Mit eventmap on off tauschen und dann mit notify das event einfach 6 mal wiederholen ;-)
Dann tippst Du einmal on und es wird 6 Stufen dunkler!
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

Kawaci

So leute! Ich kenn mich nach lesen des threads nicht mehr aus!
Ich habe somfy markise mit fhem über signalduino cc1101 gepairt!
Die handfernbedienung ist mit autocreat angelernt!

Wie geht es jetzt weiter, das ich den Status der fernbedienung in fhem übertragen wird?

Elektrolurch

Dazu gibt es einen eigene Rubrik.
https://forum.fhem.de/index.php/topic,72173.msg638129.html

Allerdings erkennt der SignalDuino die Somfy-Signale der FBs leider z.Z. noch nicht einwandfrei, so dass der Status nicht immer stimmt.
Außerdem gibt es in dem Beitrag eine modifizierte Version vom Somfy-Modul, mit der die Koppelung über ein Attribut erst möglich ist, aber nur zum Testen.

Zitat:
...ich kenn mich nicht aus....

Dann erst einmal lesen.

Elektrolurch
configDB und Windows befreite Zone!

Kawaci

danke für die Anweisung zum lesen Elektrolurch! Hab ich alles gelesen, und es ist mehr und mehr verwirrender geworden mit notify rawdevice un d dann wieder dummy dann wieder mit Positionen usw. drum habe ich gefragt!

RaspiLED

Hi,
Mapping Somfy Hand Fernbedienung auf FHEM Somfy Device ist genau dieser Post:
https://forum.fhem.de/index.php?topic=72173.msg653940#msg653940
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

andies

Ich habe ein Problem. Seit gestern bekomme ich
2017.08.02 21:38:41 1: ERROR: >Somfy RTS message format error!< returned by the SOMFY ParseFn is invalid, notify the module maintainer
2017.08.02 21:38:52 1: ERROR: >Somfy RTS checksum error!< returned by the SOMFY ParseFn is invalid, notify the module maintainer

und ich weiß jetzt nicht, was ich genau tun soll.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Elektrolurch

Schön. Benutzt Du einen SignalDuino, um die Handsender der Rolladen zu empfangen? Ein paar Infos mehr wären schön nützlich....

Elektrolurch
configDB und Windows befreite Zone!

andies

Sorry, war verpeilt:

Internals:
   Clients    :IT:CUL_TCM97001:SD_RSL:OREGON:CUL_TX:SD_AS:Hideki:SD_WS07:SD_WS09: :SD_WS:RFXX10REC:Dooya:SOMFY:SD_UT:SD_WS_Maverick:FLAMINGO:CUL_WS:Revolt:FS10:SIGNALduino_un:
   DEF        /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A104WS3F-if00-port0
   DMSG       u63DF5BBB5AB5BAB55DAD6EF76EAE8
   DevState   initialized
   DeviceName /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A104WS3F-if00-port0@57600
   FD         11
   LASTDMSG   u63DF5BBB5AB5BAB55DAD6EF76EAE8
   MSGCNT     3453
   NAME       sduino
   NR         22
   NR_CMD_LAST_H 1
   PARTIAL
   RAWMSG     MU;P0=-28324;P1=644;P2=1942;P3=-3919;P4=-1950;D=0102324232323232424232423232423232423242423242424232424232423232424242324242424232324232424232424232423232423232324232324232423232424242323242;CP=2;R=24;
   RSSI       -62
   STATE      opened
   TIME       1501747675
   TYPE       SIGNALduino
   sendworking 0
   unknownmessages
   version    V 3.3.1-dev SIGNALduino cc1101 - compiled at Mar 10 2017 22:54:50
   DoubleMsgIDs:
   MatchList:
     10:SD_WS07 ^P7#[A-Fa-f0-9]{6}F[A-Fa-f0-9]{2}(#R[A-F0-9][A-F0-9]){0,1}$
     11:SD_WS09 ^P9#F[A-Fa-f0-9]+
     12:SD_WS   ^W\d+x{0,1}#.*
     13:RFXX10REC ^(20|29)[A-Fa-f0-9]+
     14:Dooya   ^P16#[A-Fa-f0-9]+
     15:SOMFY   ^Ys[0-9A-F]+
     16:SD_WS_Maverick ^P47#[A-Fa-f0-9]+
     17:SD_UT   ^u30#.*
     18:FLAMINGO ^P13#[A-Fa-f0-9]+
     19:CUL_WS  ^K[A-Fa-f0-9]{5,}
     1:IT       ^i......
     20:Revolt  ^r[A-Fa-f0-9]{22}
     21:FS10    ^P61#[A-F0-9]+
     2:CUL_TCM97001 ^s[A-Fa-f0-9]+
     3:SD_RSL   ^P1#[A-Fa-f0-9]{8}
     4:OREGON   ^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*
     5:CUL_TX   ^TX..........
     6:SD_AS    ^P2#[A-Fa-f0-9]{7,8}
     7:Hideki   ^P12#75[A-F0-9]+
     X:SIGNALduino_un ^[u]\d+#.*
   QUEUE:
   READINGS:
     2017-06-26 16:33:12   ITParms         Unsupported command
     2017-08-01 11:12:44   ccconf          freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB  (DataRate:5603.79Baud)
     2017-08-01 11:12:51   ccpatable       C3E = 00 C0 00 00 00 00 00 00  => 10_dBm
     2017-06-26 16:53:00   ccreg           C3E = 00 84 00 00 00 00 00 00
     2017-06-26 16:33:08   config          MS=1;MU=1;MC=1
     2017-08-03 02:34:57   ping            OK
     2017-08-01 11:11:22   raw             ccFactoryReset done
     2017-08-01 10:17:22   state           opened
     2017-08-01 10:17:22   version         V 3.3.1-dev SIGNALduino cc1101 - compiled at Mar 10 2017 22:54:50
   XMIT_TIME:
     1501707660
   getcmd:
   keepalive:
     ok         0
     retry      0
   mcIdList:
     10
     11
     12
     18
     43
     47
     52
     57
     58
   msIdList:
     0
     1
     13
     14
     15
     17
     2
     22
     23
     25
     3
     32
     33
     35
     38
     4
     41
     51
     55
     6
     68
     7
   muIdList:
     13.1
     16
     20
     21
     24
     26
     27
     28
     29
     30
     31
     34
     36
     37
     39
     40
     44
     44.1
     45
     46
     48
     49
     5
     50
     56
     59
     60
     61
     62
     63
     64
     65
     66
     67
     8
     9
Attributes:
   alias      SIGNALduino
   devStateIcon Initialized:cul_usb@green:Open Open:cul_usb@red:Initialized
   flashCommand avrdude -c arduino -b 57600 -P [PORT] -p atmega328p -vv -U flash:w:[HEXFILE] 2>[LOGFILE]
   group      Haus
   hardware   nanoCC1101
   verbose    2

und angelegt wurde zum Beispiel
Internals:
   ADDRESS    467FA4
   CFGFN
   DEF        467FA4 A2 0168
   IODev      miniCUL
   LASTInputDev sduino
   MSGCNT     3
   NAME       SOMFY_467FA4
   NR         3925
   STATE      ???
   TYPE       SOMFY
   move       stop
   sduino_DMSG YsA6B6B7D97D0244
   sduino_MSGCNT 3
   sduino_RAWMSG MC;LL=-1313;LH=1252;SL=-674;SH=612;D=A6B6B7D97D0244;C=641;L=55;R=236;
   sduino_RSSI -84
   sduino_TIME 2017-08-02 22:03:11
   CODE:
     1          467FA4
   READINGS:
     1970-01-01 01:00:00   enc_key         A2
     2017-08-02 22:03:11   parsestate      stop
     1970-01-01 01:00:00   rolling_code    0168
Attributes:
   IODev      miniCUL

wobei miniCUL falsch ist, denn der empfängt auf 868:
Internals:
   CMDS
   Clients    :FS20:FHT.*:KS300:USF1000:BS:HMS: :CUL_EM:CUL_WS:CUL_FHTTK:CUL_HOERMANN: :ESA2000:CUL_IR:CUL_TX:Revolt:IT:UNIRoll:SOMFY: :STACKABLE_CC:TSSTACKED:STACKABLE:CUL_RFR::CUL_TCM97001:CUL_REDIRECT:
   DEF        192.168.2.3:23 0000
   DeviceName 192.168.2.3:23
   FHTID      0000
   NAME       miniCUL
   NR         69
   PARTIAL
   STATE      opened
   TYPE       CUL
   initString X21
   MatchList:
     1:USF1000  ^81..(04|0c)..0101a001a5ceaa00....
     2:BS       ^81..(04|0c)..0101a001a5cf
     3:FS20     ^81..(04|0c)..0101a001
     4:FHT      ^81..(04|09|0d)..(0909a001|83098301|c409c401)..
     5:KS300    ^810d04..4027a001
     6:CUL_WS   ^K.....
     7:CUL_EM   ^E0.................$
     8:HMS      ^810e04....(1|5|9).a001
     9:CUL_FHTTK ^T[A-F0-9]{8}
     A:CUL_RFR  ^[0-9A-F]{4}U.
     B:CUL_HOERMANN ^R..........
     C:ESA2000  ^S................................$
     D:CUL_IR   ^I............
     E:CUL_TX   ^TX[A-F0-9]{10}
     F:Revolt   ^r......................$
     G:IT       ^i......
     H:STACKABLE_CC ^\*
     I:UNIRoll  ^[0-9A-F]{5}(B|D|E)
     J:SOMFY    ^Y[r|t|s]:?[A-F0-9]+
     K:CUL_TCM97001 ^s[A-F0-9]+
     L:CUL_REDIRECT ^o+
     M:TSSTACKED ^\*
     N:STACKABLE ^\*
   READINGS:
     2017-08-01 10:57:17   raw             No answer
     2017-08-01 10:56:34   state           opened
Attributes:
   group      Haus
   verbose    0

FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Elektrolurch

Das Listing bringt jetzt wenig, da immer noch nicht klar ist, was Du seitens Somfy mit dem SignalDuino empfangen möchtest. Aber soweit  als Info:
Die SignalDuino firmware hat Probleme mit dem empfang von Somfy-Signalen. Offensichtlich gehen da bits schon mal verloren, dann kommen diese Fehlermeldungen zu Stande oder es werden jede Menge neue Somfy-Devices angelegt.
Außerdem kann man nicht alle Handsender von Somfy mit dem eingecheckten Somfy-Modul empfangen, da ist die Abfrage auf das Format des Signals so restriktiv, dass da einige Handsender gar nicht erkannt werden.
Ich habe das Modul lokal bei mir diesbezüglich angepasst, konnte aber dem Empfangsproblem noch nicht auf den Grund gehen...

Elektrolurch
configDB und Windows befreite Zone!

andies

Ich verstehe (hoffentlich), danke. Ich will gar nicht Somfy empfangen, sondern wirklich nur ansteuern. Ich kenne das Problem mit dem rolling code und habe die entsprechenden autodevices einfach auf "hidden" gestellt. Und versuche, mit einem neu erstellten device auch zu arbeiten.

Insofern ignoriere ich die autodevices. Inwiefern kann dann aber das Modul die Signale nicht verarbeiten? Das ist ja etwas anderes, da scheinen unverständliche Nachrichten anzukommen.

Ich habe automatische Rollos von Somfy, die ich normalerweise nur rauf oder runter setze. Ganz unspektakulär. Ich will das nur auch von außerhalb machen lassen, deshalb nutze ich FHEM.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Elektrolurch

Zitat:
Inwiefern kann dann aber das Modul die Signale nicht verarbeiten? Das ist ja etwas anderes, da scheinen unverständliche Nachrichten anzukommen.

1. SignalDuino empfängt Signal, z.B. vom Wandsender
2. Er stellt fest, dass ist ein Somfy
3. Er ruft Somfy_ParseFN auf.
4. Das Modul kann das Signal nicht korrekt decodieren -> Fehler im log -> fertig
5. Das Modul kann das Signal verarbeiten und stellt fest, dass das device noch nicht vorhanden ist: Es wird autocreate aufgerufen
6. Es kennt das device, dann wird der state gesetzt und fhem über notify informiert.

Wenn man die ständigen Meldungen / neuen devices verhindern will und sein System ja eh fertig ist:

attr autocreate disable 1

Elektrolurch
configDB und Windows befreite Zone!

andies

OK, dann mache ich das. Aber besteht hier nicht ein Fehler im Somfy-Modul, das der Entwickler beheben kann/soll und wir sollen ihm dabei helfen? So hatte ich den Logeintrag verstanden.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann