[fast gelöst] Problem mit structure/SOMFY (mit sleep ging es)

Begonnen von andies, 06 Mai 2017, 10:30:31

Vorheriges Thema - Nächstes Thema

andies

Ich habe ein Problem mit structure und SOMFY. Bisher habe ich drei Rolladen mit sleep geschaltet und wollte das nun auf structure umstellen.  Dabei schaltet eine der drei Rolladen gar nicht, die anderen beiden tun, was sie sollen. Wieso meldet sich RolladenTerasse nicht?

Zuerst die structure
defmod Alle structure Rolladen_Struktur RolladenArbeitsz2 RolladenTerasse RolladenWohnz1
attr Alle alias AlleRolladen
attr Alle async_delay 0.4  <==== HIER IST DAS PROBLEM, siehe unten
attr Alle eventMap off:oeffnen on:schliessen
attr Alle verbose 5


Jetzt die Rolladen, alle drei hintereinander:
defmod RolladenArbeitsz2 SOMFY 000005
attr RolladenArbeitsz2 userattr Rolladen_Struktur Rolladen_Struktur_map structexclude
attr RolladenArbeitsz2 IODev sduino
attr RolladenArbeitsz2 Rolladen_Struktur Alle
attr RolladenArbeitsz2 eventMap off:oeffnen on:schliessen
attr RolladenArbeitsz2 verbose 5

defmod RolladenTerasse SOMFY 000002
attr RolladenTerasse userattr Rolladen_Struktur Rolladen_Struktur_map structexclude
attr RolladenTerasse IODev sduino
attr RolladenTerasse Rolladen_Struktur Alle
attr RolladenTerasse eventMap off:oeffnen on:schliessen
attr RolladenTerasse verbose 5

defmod RolladenWohnz1 SOMFY 000004
attr RolladenWohnz1 userattr Rolladen_Struktur Rolladen_Struktur_map structexclude
attr RolladenWohnz1 IODev sduino
attr RolladenWohnz1 Rolladen_Struktur Alle
attr RolladenWohnz1 eventMap off:oeffnen on:schliessen
attr RolladenWohnz1 verbose 5


Nun die Log, mit msec:
2017.05.06 10:18:20.340 4: SOMFY_set: RolladenArbeitsz2 -> entering with mode :send: cmd :on:  arg1 ::  pos :0:
2017.05.06 10:18:20.340 4: SOMFY_set: handled command on --> move :on:  newState :closed:
2017.05.06 10:18:20.340 5: SOMFY_set: handled for drive/udpate:  updateState ::  drivet :0: updatet :0:
2017.05.06 10:18:20.342 4: SOMFY_sendCommand: RolladenArbeitsz2 -> cmd :on:
2017.05.06 10:18:20.745 4: SOMFY_set: RolladenTerasse -> entering with mode :send: cmd :on:  arg1 ::  pos :0:
2017.05.06 10:18:20.746 4: SOMFY_set: handled command on --> move :on:  newState :closed:
2017.05.06 10:18:20.746 5: SOMFY_set: handled for drive/udpate:  updateState ::  drivet :0: updatet :0:
2017.05.06 10:18:20.747 4: SOMFY_sendCommand: RolladenTerasse -> cmd :on:
2017.05.06 10:18:21.151 4: SOMFY_set: RolladenWohnz1 -> entering with mode :send: cmd :on:  arg1 ::  pos :0:
2017.05.06 10:18:21.151 4: SOMFY_set: handled command on --> move :on:  newState :closed:
2017.05.06 10:18:21.151 5: SOMFY_set: handled for drive/udpate:  updateState ::  drivet :0: updatet :0:
2017.05.06 10:18:21.152 4: SOMFY_sendCommand: RolladenWohnz1 -> cmd :on:
2017.05.06 10:18:40.070 4: SOMFY_set: RolladenArbeitsz2 -> entering with mode :send: cmd :off:  arg1 ::  pos :200:
2017.05.06 10:18:40.071 4: SOMFY_set: handled command off --> move :off:  newState :open:
2017.05.06 10:18:40.071 5: SOMFY_set: handled for drive/udpate:  updateState ::  drivet :0: updatet :0:
2017.05.06 10:18:40.072 4: SOMFY_sendCommand: RolladenArbeitsz2 -> cmd :off:
2017.05.06 10:18:40.476 4: SOMFY_set: RolladenTerasse -> entering with mode :send: cmd :off:  arg1 ::  pos :200:
2017.05.06 10:18:40.476 4: SOMFY_set: handled command off --> move :off:  newState :open:
2017.05.06 10:18:40.476 5: SOMFY_set: handled for drive/udpate:  updateState ::  drivet :0: updatet :0:
2017.05.06 10:18:40.478 4: SOMFY_sendCommand: RolladenTerasse -> cmd :off:
2017.05.06 10:18:40.881 4: SOMFY_set: RolladenWohnz1 -> entering with mode :send: cmd :off:  arg1 ::  pos :200:
2017.05.06 10:18:40.881 4: SOMFY_set: handled command off --> move :off:  newState :open:
2017.05.06 10:18:40.882 5: SOMFY_set: handled for drive/udpate:  updateState ::  drivet :0: updatet :0:
2017.05.06 10:18:40.883 4: SOMFY_sendCommand: RolladenWohnz1 -> cmd :off:

Ich sehe da nichts?!

<EDIT> Wenn man async-delay auf 1s statt 0.4s setzt, heben sich alle drei an. OK, dann ist es (wie leider schon oft hier bemerkt) ein Problem des Senders, der sich durch die asynchrone Behandlung anscheinend selbst in die Quere kommt.
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
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

rudolfkoenig

Bei einem einzigen System/Protokoll sollte das zustaendige FHEM-Modul dafuer sorgen, dass man mehrere Befehle ohne Probleme hintereinander senden kann. Z.Bsp hat FS20/CUL, oder ZWave/ZWDongle jeweils Warteschlagen (kein sleep), die in einem bestimmten Rythmus abgearbeitet werden.

Bei unterschiedlichen Systemen muesste ein FHEM-Framework helfen, das gibt es aber (noch?) nicht. Ist auch nicht trivial, da manche Systeme sich gegenseitig stoeren, andere wiederum nicht. asyncDelay in structure ist eine "billige" Notloesung.

andies

Zitat von: rudolfkoenig am 06 Mai 2017, 11:31:38
Bei einem einzigen System/Protokoll sollte das zustaendige FHEM-Modul dafuer sorgen, dass man mehrere Befehle ohne Probleme hintereinander senden kann.
Das hieße aber dann, dass es ein Fehler/Problem im Somfy-Modul ist?
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
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

rudolfkoenig


Sidey

Was für ein IO Gerät verwendet Du?

Gesendet von meinem Nexus 5 mit Tapatalk

Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

andies

Arduino, CC1101, Selbstbau. Ansonsten

Internals:
   Clients    :IT:CUL_TCM97001:SIGNALduino_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:SIGNALduino_un:SD_WS_Maverick:Came:FS10:SIGNALduino_un:
   DEF        /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A104WS3F-if00-port0
   DMSG       u63BEED6EED55EBD5ADDAD6FD5D7574
   DevState   initialized
   DeviceName /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A104WS3F-if00-port0@57600
   FD         11
   ITClock    250
   MSGCNT     313
   NAME       sduino
   NR         27
   NR_CMD_LAST_H 1
   PARTIAL
   RAWMSG     MU;P0=-32001;P1=1926;P2=-1976;P3=-3940;P4=3872;D=012134313131312131312131212131213131213131213121212121213131312121313131212121312121312131312131212131212131213131313131212121313121213131212121313121;CP=1;R=13;
   RSSI       -67.5
   STATE      opened
   TIME       1494267478
   TYPE       SIGNALduino
   unknownmessages
   version    V 3.3.1-dev SIGNALduino cc1101 - compiled at Mar 10 2017 22:54:50
   Matchlist:
     10:SD_WS07 ^P7#[A-Fa-f0-9]{6}F[A-Fa-f0-9]{2}
     11:SD_WS09 ^P9#[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   ^YsA[0-9A-F]+
     16:SD_WS_Maverick ^P47#[A-Fa-f0-9]+
     1:IT       ^i......
     21:FS10    ^P61#[A-F0-9]+
     2:CUL_TCM97001 ^s[A-Fa-f0-9]+
     4:OREGON   ^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*
     5:CUL_TX   ^TX..........
     7:Hideki   ^P12#75[A-F0-9]+
     83:Came    ^u83#[A-Fa-f0-9]+
     X:SIGNALduino_un ^[uP]\d+#.*
   QUEUE:
   Readings:
     2017-03-18 11:23:13   ccconf          freq:433.920MHz bWidth:650KHz rAmpl:42dB sens:4dB  (DataRate:5603.79Baud)
     2017-03-03 22:11:32   ccreg           C3E = 00 84 00 00 00 00 00 00
     2017-03-03 22:37:25   config          MS=1;MU=1;MC=1
     2017-05-08 14:59:58   ping            OK
     2017-03-13 21:47:29   raw             ccFactoryReset done
     2017-05-08 20:17:58   state           opened
     2017-05-08 16:43:30   version         V 3.3.1-dev SIGNALduino cc1101 - compiled at Mar 10 2017 22:54:50
   XMIT_TIME:
     1494263571
   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
     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
     8
     83
     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
FHEM 6.3 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
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