Gelöst - SOMFY Modul - Abweichendes Verhalten mit SOMFY Steuerung an Markilux Markise

Begonnen von fhemplayer, 26 Juli 2015, 19:04:37

Vorheriges Thema - Nächstes Thema

fhemplayer

Hallo zusammen!

Ich habe eine Markilux Markise, die mit unbekannten Motoren, aber einer SOMFY Fernbedienung RS-F4-433 und dem passenden SOMFY Windwächter ausgeliefert wurde. Anscheinend verhält sich meine Markilux Markise in bezug auf den EncKey aber deutlich anders, als es im bisherigen SOMFY Modul hinterlegt ist:

Um die Markise zu steuern habe ich das aktuelle SOMFY Modul und einen CUL433 nur für die Markise im rfmode=SlowRF im Einsatz.
Der CUL433 ist gemäß der SOMFY Anleitung als ZWEITE Fernbedienung neben der mitgelieferten Funkfernbedienung RS-F4-433 angelernt worden.
Die Steuerung per FHEM mit CUL433 und mit der Funkfernbedienung laufen problemlos parallel.
Meine FHEM Installation halte ich immer recht aktuell. Der letzte UpdateCheck heute am 26.07. lieferte keine Updates.

Konkret:
Durch einfaches Durchklicken "Set Markise Mitte" im Device (offizielle Bezeichnung "Go-My") zeigt sich, das die Markise sich IMMER bei "EncKey=A5" bewegt und NUR bei "EncKey=A5"!
Der dazu passende RollingCode steht dann beispielsweise auf "102C5". Und die Markise bewegt sich!
Für den nächsten erfolgreichen Test dann wieder "EncKey=A4" und "RollingCode=102D4" gesetzt, da der Modul-Aufruf wohl jeweils um 1 inkrementiert - UND: Sie bewegt sich wie geplant!!!!

Anscheinend rolliert meine Steuerung den EncCode nicht, sondern steht fest auf A5 - oder wurde irgend wie auf A5 eingestellt...
Im nächsten Test den RollingCode=102D4 BEIBEHALTEN, um zu sehen, ob er tatsächlich von der Steuerung mitrolliert wird... EncKey=A4 wie gehabt und die Markise bewegt sich NICHT.
Nun wieder EncKey=A4 dafür aber RollingCode=102E4 um 16h inkrementiert und nochmal auslösen...
UND es funktioniert!!!

Meine Folgerung: Anscheinend rolliert meine Markise NUR den Rolling Code durch und behält den EncKey (bier mir aktuell A5) immer bei.

Allerdings: Wann und wie der EncKey auf "A5" als einzig funktionierende Variante festgelegt wurde, kann ich nicht mehr nachvollziehen.

Eine weitere Ungereimtheit:
Anscheinend führt dieses unterschiedliche Verhalten gegenüber den bisher beschriebenen Rollos usw. AUCH dazu, das meine FHEM Installation wegen des aktiven "autocreate" mit mittlerweile 16 zusätzlichen, automatisch angelegten SOMFY Devices SOMFY_000000 bis SOMFY_F00000 "aufgeblasen" wurde. Die "echte" funktionierende Markise habe ich aus dem ersten angelegten SOMFY-Device zu "Markise" umbenannt. 
Anscheinend wurden die Antworten meiner "abweichenden" SOMFY Steuerung jeweils als neues Device gedeutet und in FHEM entsprechend als neue Devices angelegt.
-> Das wäre mir noch egal, dann verschiebe ich diese Devices eben in den "hiddenroom". Schöner wäre es natürlich ohne diese Phantom-Devices. Nach diesen 16 Stück war wohl Schluß. Mehr Phantom-Devices wurden bisher nicht erkannt. 

Kann bitte einer der Modul-Kundigen einen Blick in die nachfolgenden Outputs werfen, um der Sache auf den Grund zu gehen?
Vielleicht gibt es auch andere Betroffene, die ihre Markilux mit dem SOMFY Modul auch nicht in den Griff bekommen haben?

Idealerweise wünsche ich mir natürlich eine erweiterte Modul-Version, bei der man das Modul mittels zusätzlichem "attr" auf das hier gezeigte Verhalten angepassen kann.

27.07.2015:
Ich arbeitet mich jetzt langsam durch die Details des Protokolls durch und habe gleich eine Frage:
Der RollingCode besteht laut Beschreibung aus 2 Bytes = 4 Nibbles.
Damit meine Markise läuft, muss ich aber eine Wert aus 5 Nibble an geben - derzeit 103A4h. Wie kann denn das sein?
Ich darf weder das erste noch das letzte Nibble weglassen. Er müssen fünf Nibble sein. 
Gelernt habe ich inzwischen, das der EncKey wohl (fast) beliebig ist, Hauptsache das erste Nibble ist ein Ah.  Ich verwende jetzt immer A0h.


Vielen Dank vorab!

Fhemplayer

Ausgabe von "version":

# $Id: fhem.pl 8952 2015-07-13 12:30:26Z rudolfkoenig $
# $Id: 00_CUL.pm 8726 2015-06-10 10:06:12Z rudolfkoenig $
# $Id: 15_CUL_EM.pm 6825 2014-10-28 09:25:24Z arnoaugustin $
# $Id: 10_CUL_HM.pm 8944 2015-07-12 11:12:11Z martinp876 $
# $Id: 57_Calendar.pm 8687 2015-06-04 13:29:42Z borisneubert $
# $Id: 95_Dashboard.pm 8969 2015-07-14 16:29:35Z talkabout $
# $Id: 70_ENIGMA2.pm 8297 2015-03-27 14:31:15Z loredo $
# $Id: 72_FB_CALLLIST.pm 8900 2015-07-05 18:54:17Z markusbloch $
# $Id: 72_FB_CALLMONITOR.pm 8791 2015-06-21 11:23:23Z markusbloch $
# $Id: 01_FHEMWEB.pm 8965 2015-07-14 13:56:38Z rudolfkoenig $
# $Id: 10_FS20.pm 7070 2014-11-27 12:45:34Z rudolfkoenig $
# $Id: 92_FileLog.pm 8927 2015-07-09 07:12:52Z rudolfkoenig $
# $Id: 98_HMinfo.pm 8847 2015-06-27 18:34:45Z martinp876 $
# $Id: 49_IPCAM.pm 2626 2013-02-01 19:19:15Z mfr69bs $
# $Id: 36_JeeLink.pm 8599 2015-05-18 16:56:10Z justme1968 $
# $Id: 36_PCA301.pm 8443 2015-04-16 09:12:08Z justme1968 $
# $Id: 73_PRESENCE.pm 8638 2015-05-26 19:34:04Z markusbloch $
# $Id: 10_SOMFY.pm 8926 2015-07-09 06:16:59Z thomyd $
# $Id: 99_SUNRISE_EL.pm 6765 2014-10-14 18:24:29Z rudolfkoenig $
# $Id: 98_SVG.pm 8965 2015-07-14 13:56:38Z rudolfkoenig $
# $Id: 59_Twilight.pm 8743 2015-06-14 12:14:57Z dietmar63 $
# $Id: 99_Utils.pm 7914 2015-02-08 11:14:10Z rudolfkoenig $
# $Id: 59_Weather.pm 8937 2015-07-11 12:56:21Z borisneubert $
# $Id: 90_at.pm 8326 2015-03-29 13:30:57Z rudolfkoenig $
# $Id: 98_autocreate.pm 8758 2015-06-16 17:12:39Z rudolfkoenig $
# $Id: 98_dummy.pm 8809 2015-06-23 18:02:33Z rudolfkoenig $
# $Id: 91_eventTypes.pm 8725 2015-06-10 09:50:06Z rudolfkoenig $
# $Id: 98_fheminfo.pm 7346 2014-12-29 08:38:52Z rudolfkoenig $
# $Id: 98_help.pm 8148 2015-03-04 11:32:36Z betateilchen $
# $Id: 95_holiday.pm 8723 2015-06-10 09:09:01Z rudolfkoenig $
# $Id: 91_notify.pm 8953 2015-07-13 15:13:06Z rudolfkoenig $
# $Id: 33_readingsGroup.pm 8792 2015-06-21 12:39:22Z justme1968 $
# $Id: 98_telnet.pm 8952 2015-07-13 12:30:26Z rudolfkoenig $
# $Id: 98_update.pm 8574 2015-05-14 07:59:32Z rudolfkoenig $
# $Id: 91_watchdog.pm 7108 2014-12-01 08:11:34Z rudolfkoenig $
# $Id: 98_weblink.pm 5608 2014-04-23 10:57:16Z rudolfkoenig $
   

Ausgabe von "list CUL_Somfy_RTS" - dem nur für die Markise genutzten CUL433:
Internals:
   CMDS       BbCFiAZNkGMKUYRTVWXefmLltux
   CUL_Somfy_RTS_MSGCNT 50
   CUL_Somfy_RTS_TIME Initialized
   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:CUL_RFR::CUL_TCM97001:
   DEF        /dev/ttyACM1@9600 1134
   DeviceName /dev/ttyACM1@9600
   FD         14
   FHTID      1134
   NAME       CUL_Somfy_RTS
   NR         296
   PARTIAL
   RAWMSG     YsA4191030000040
   STATE      Initialized
   TYPE       CUL
   VERSION    V 1.65 CUL433
   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]+
   Readings:
     2015-06-27 10:07:39   ccconf          freq:868.300MHz bWidth:325KHz rAmpl:42dB sens:4dB
     2015-07-26 11:52:18   cmds             B b C F i A Z N k G M K U Y R T V W X e f m L l t u x
     2015-07-26 14:20:09   state           Initialized
     2015-06-20 10:47:39   uptime          6 15:21:51
     2015-06-27 14:16:16   version         V 1.61 CUL868
Attributes:
   icon       cul_cul
   rfmode     SlowRF
   room       Empfänger


Ausgabe von "list Markise" - dem FHEM Device der eigentlichen Markise:
Internals:
   ADDRESS    000001
   DEF        000001
   IODev      CUL_Somfy_RTS
   NAME       Markise
   NR         955
   STATE      open
   TYPE       SOMFY
   exact      0
   move       stop
   position   0
   Code:
     1          000001
   Readings:
     2015-07-26 14:20:08   enc_key         A5
     2015-07-26 14:20:08   exact           0
     2015-07-26 14:20:08   position        0
     2015-07-26 14:20:08   rolling_code    10305
     2015-07-26 14:20:08   state           open
Attributes:
   IODev      CUL_Somfy_RTS
   alias      gh_Markise
   comment    EncKey=A5, einstellen auf A5-1=A4, Rolling Code vorletztes Nibble inkrementieren, letztes Nibble=5-1=4
   devStateIcon Rauf:fts_garage_door_10:Runter  Runter:fts_garage_door_100:Rauf
   drive-down-time-to-100 37
   drive-down-time-to-close 37
   drive-up-time-to-100 1
   drive-up-time-to-open 40
   eventMap   on:Runter stop:Mitte off:Rauf
   icon       fts_sunblind
   room       Garten
   verbose    5
   webCmd     Runter:Mitte:Rauf


Definition der Devices "Markise" und der per "autocreate" fehlerhaft angelegten Phantom-Devices SOMFY_x00000 aus der fhem.cfg:

# ######################################################################
# Steuerung der Markise 
# Über die ID 000001 als weitere "virtuelle" Fernbedienung angelernt
# Die ID nicht mutwillig verändern, da der Moter nur x Devices unterscheiden kann.
# ######################################################################

define Markise SOMFY 000001
attr Markise IODev CUL_Somfy_RTS
attr Markise alias gh_Markise
attr Markise devStateIcon Rauf:fts_garage_door_10:Runter  Runter:fts_garage_door_100:Rauf
attr Markise drive-down-time-to-100 37
attr Markise drive-down-time-to-close 37
attr Markise drive-up-time-to-100 1
attr Markise drive-up-time-to-open 40
attr Markise eventMap on:Runter stop:Mitte off:Rauf
attr Markise icon fts_sunblind
attr Markise room Garten
attr Markise verbose 5
attr Markise webCmd Runter:Mitte:Rauf

# ######################################################################
# Fehlerhaft angelegte SOMFY Phantom-Devices
# ######################################################################

define SOMFY_300000 SOMFY 300000
attr SOMFY_300000 IODev CUL_Somfy_RTS
attr SOMFY_300000 room SOMFY
define FileLog_SOMFY_300000 FileLog ./log/SOMFY_300000-%Y-%m.log SOMFY_300000
attr FileLog_SOMFY_300000 logtype text
attr FileLog_SOMFY_300000 room SOMFY
define SOMFY_400000 SOMFY 400000
attr SOMFY_400000 IODev CUL_Somfy_RTS
attr SOMFY_400000 room SOMFY
define FileLog_SOMFY_400000 FileLog ./log/SOMFY_400000-%Y-%m.log SOMFY_400000
attr FileLog_SOMFY_400000 logtype text
attr FileLog_SOMFY_400000 room SOMFY
define SOMFY_500000 SOMFY 500000
attr SOMFY_500000 IODev CUL_Somfy_RTS
attr SOMFY_500000 room SOMFY
define FileLog_SOMFY_500000 FileLog ./log/SOMFY_500000-%Y-%m.log SOMFY_500000
attr FileLog_SOMFY_500000 logtype text
attr FileLog_SOMFY_500000 room SOMFY
define SOMFY_600000 SOMFY 600000
attr SOMFY_600000 IODev CUL_Somfy_RTS
attr SOMFY_600000 room SOMFY
define FileLog_SOMFY_600000 FileLog ./log/SOMFY_600000-%Y-%m.log SOMFY_600000
attr FileLog_SOMFY_600000 logtype text
attr FileLog_SOMFY_600000 room SOMFY
define SOMFY_700000 SOMFY 700000
attr SOMFY_700000 IODev CUL_Somfy_RTS
attr SOMFY_700000 room SOMFY
define FileLog_SOMFY_700000 FileLog ./log/SOMFY_700000-%Y-%m.log SOMFY_700000
attr FileLog_SOMFY_700000 logtype text
attr FileLog_SOMFY_700000 room SOMFY
define SOMFY_800000 SOMFY 800000
attr SOMFY_800000 IODev CUL_Somfy_RTS
attr SOMFY_800000 room SOMFY
define FileLog_SOMFY_800000 FileLog ./log/SOMFY_800000-%Y-%m.log SOMFY_800000
attr FileLog_SOMFY_800000 logtype text
attr FileLog_SOMFY_800000 room SOMFY
define SOMFY_900000 SOMFY 900000
attr SOMFY_900000 IODev CUL_Somfy_RTS
attr SOMFY_900000 room SOMFY
define FileLog_SOMFY_900000 FileLog ./log/SOMFY_900000-%Y-%m.log SOMFY_900000
attr FileLog_SOMFY_900000 logtype text
attr FileLog_SOMFY_900000 room SOMFY
define SOMFY_A00000 SOMFY A00000
attr SOMFY_A00000 IODev CUL_Somfy_RTS
attr SOMFY_A00000 room SOMFY
define FileLog_SOMFY_A00000 FileLog ./log/SOMFY_A00000-%Y-%m.log SOMFY_A00000
attr FileLog_SOMFY_A00000 logtype text
attr FileLog_SOMFY_A00000 room SOMFY
define SOMFY_B00000 SOMFY B00000
attr SOMFY_B00000 IODev CUL_Somfy_RTS
attr SOMFY_B00000 room SOMFY
define FileLog_SOMFY_B00000 FileLog ./log/SOMFY_B00000-%Y-%m.log SOMFY_B00000
attr FileLog_SOMFY_B00000 logtype text
attr FileLog_SOMFY_B00000 room SOMFY
define SOMFY_C00000 SOMFY C00000
attr SOMFY_C00000 IODev CUL_Somfy_RTS
attr SOMFY_C00000 room SOMFY
define FileLog_SOMFY_C00000 FileLog ./log/SOMFY_C00000-%Y-%m.log SOMFY_C00000
attr FileLog_SOMFY_C00000 logtype text
attr FileLog_SOMFY_C00000 room SOMFY
define SOMFY_D00000 SOMFY D00000
attr SOMFY_D00000 IODev CUL_Somfy_RTS
attr SOMFY_D00000 room SOMFY
define FileLog_SOMFY_D00000 FileLog ./log/SOMFY_D00000-%Y-%m.log SOMFY_D00000
attr FileLog_SOMFY_D00000 logtype text
attr FileLog_SOMFY_D00000 room SOMFY
define SOMFY_E00000 SOMFY E00000
attr SOMFY_E00000 IODev CUL_Somfy_RTS
attr SOMFY_E00000 room SOMFY
define FileLog_SOMFY_E00000 FileLog ./log/SOMFY_E00000-%Y-%m.log SOMFY_E00000
attr FileLog_SOMFY_E00000 logtype text
attr FileLog_SOMFY_E00000 room SOMFY
define SOMFY_F00000 SOMFY F00000
attr SOMFY_F00000 IODev CUL_Somfy_RTS
attr SOMFY_F00000 room SOMFY
define FileLog_SOMFY_F00000 FileLog ./log/SOMFY_F00000-%Y-%m.log SOMFY_F00000
attr FileLog_SOMFY_F00000 logtype text
attr FileLog_SOMFY_F00000 room SOMFY
define SOMFY_000000 SOMFY 000000
attr SOMFY_000000 IODev CUL_Somfy_RTS
attr SOMFY_000000 room SOMFY
define FileLog_SOMFY_000000 FileLog ./log/SOMFY_000000-%Y-%m.log SOMFY_000000
attr FileLog_SOMFY_000000 logtype text
attr FileLog_SOMFY_000000 room SOMFY
define SOMFY_100000 SOMFY 100000
attr SOMFY_100000 IODev CUL_Somfy_RTS
attr SOMFY_100000 room SOMFY
define FileLog_SOMFY_100000 FileLog ./log/SOMFY_100000-%Y-%m.log SOMFY_100000
attr FileLog_SOMFY_100000 logtype text
attr FileLog_SOMFY_100000 room SOMFY
define SOMFY_200000 SOMFY 200000
attr SOMFY_200000 IODev CUL_Somfy_RTS
attr SOMFY_200000 room SOMFY
define FileLog_SOMFY_200000 FileLog ./log/SOMFY_200000-%Y-%m.log SOMFY_200000
attr FileLog_SOMFY_200000 logtype text
attr FileLog_SOMFY_200000 room SOMFY
Raspberry Pi Bplus + CUL868v3-Homematic + CUL868v3-FS20 + JeeLink-PCA301 + CUL433-SOMFY_RTS + CUL_HM_HM_WDS10_TH_O + HM-SEC-SCo + HM-SEC-SC-2 + HM-CC-RT-DN + EM1000GZ - FHEM_5.6_Linux_Update_26.07.15

viegener

Hallo fhemplayer,
habe diesen Thread jetzt nur durch Zufall gefunden...

Wie Du richtig erkannt hast, ist Dein Rollingcode zu gross. Da es sich hierbei im Protokoll um eine 16bit-Zahl handelt (max. FFFF), muss Dein rollingcode interessante Seiteneffekte haben. Ich vermute erstmal, Deine Phantomdevices kommen genau von diesem Überlauf, denn dadurch wird auch die Adresse verschoben und es kommen neue Adressen an.

Und ich muss zugeben, dass dafür keine Überprüfung im Code ist und die Zahlen mit String-Operationen zusammengehängt werden ???

Erster Vorschlag, lösche die jetzige FB aus der Markise und lege eine neue FB mit einem ganz kleinen rollingcode und anderer Adresse neu an. Lerne diese dann an der Markise an. Momentan ist eine weitere Diagnose nicht möglich, da möglicherweise an der Markise gar nicht die Adresse 000000 angelernt ist, sondern eine der Adressen 100000 bis F00000.

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

fhemplayer

UPDATE:

Kurzfassung: Klappt jetzt! - nach Löschen und Neuanlage des SOMFY Devices

Im Einzelnen:
Fehlerhaftes SOMFY Device per Fernbedienung von der Markise entkoppelt.
SOMFY Device und Phantom-Devices und Logs komplett gelöscht, Config gesichert, FHEM Restart.
SOMFY mit anderer ID neu angelegt gemäß FHEM Commandreference mit definiertem EncKey und RollingCode - Klappt!

Warum, wann und wie aber meine ursprüngliche Installation an den problematischen fünfstelligen RollingCode gekommen ist, kann ich nicht nachstellen.
Deshalb habe ich EncKey und RollingCode nach dem Vorschlag von viegener "festgenagelt".

# define <name> SOMFY <address> [<encryption-key>] [<rolling-code>]
define Markise SOMFY 5A5A5A A0 0001
attr Markise IODev CUL_Somfy_RTS
attr Markise alias gh_Markise
attr Markise icon fts_sunblind
attr Markise room Garten
attr Markise verbose 5

@viegener: Vielen Dank für Deine Hilfestellung!

Übrigens: In welchem Abschnitt des Forums oder in welchem Thread hätte ich denn mein Problem besser ablegen sollen?

Fröhliches FHEMen an alle!

Roger
Raspberry Pi Bplus + CUL868v3-Homematic + CUL868v3-FS20 + JeeLink-PCA301 + CUL433-SOMFY_RTS + CUL_HM_HM_WDS10_TH_O + HM-SEC-SCo + HM-SEC-SC-2 + HM-CC-RT-DN + EM1000GZ - FHEM_5.6_Linux_Update_26.07.15

viegener

Zitat von: fhemplayer am 09 August 2015, 16:54:47
UPDATE:

Kurzfassung: Klappt jetzt! - nach Löschen und Neuanlage des SOMFY Devices

@viegener: Vielen Dank für Deine Hilfestellung!

Übrigens: In welchem Abschnitt des Forums oder in welchem Thread hätte ich denn mein Problem besser ablegen sollen?


Hallo Roger,
gern geschehen und klasse das es geht!

Eigentlich sollte es nicht heissen, dass Dein Post an der falschen Stelle stand, sondern nur, dass ich es erst spät gefunden habe...
Das mit dem richtigen Forum/Thread finde ich nicht so einfach, ich schaue halt gelegentlich über Anfängerfragen, da ich dort am Anfang auf Hilfe gewartet habe für eine Frage. Ansonsten ist gibt es zu Somfy einen Modulthread, den ich regelmässig anschaue.

Gruss,
Johannes
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können