SIGNALduino: Verzögerung, wenn mehrere Rolläden gleichzeitig gesteuert werden

Begonnen von Ralf9, 01 August 2020, 14:33:35

Vorheriges Thema - Nächstes Thema

Ralf9

Zitat von: meier81 am 30 Juli 2020, 08:42:08
Hey und guten Morgen,

hab mal ne Frage bezüglich dem SIGNALduino V4. Ich nutze zur Zeit in meinem Produktivsystem noch einen SIGNALduino mit einem Arduino nano, FW-Version V 3.3.2.1-rc9, SW-Version v3.4.4.

Ich steuere hier meine Jarolift-Rollläden über den SIGNALduino mittels Rollo-Modul und AutoShuttersControl. Jetzt ist mir aufgefallen das meine Rollläden nicht ganz in die Beschattungsstellung fahren, was sich auf die Fahrzeit zurückführen lässt. Das Rollo-Modul gibt die Anweisung zum fahren des Rollos und startet den Timer für die Fahrzeit, mein Rollladen fährt aber erst evtl. 2 Sekunden später los, was natürlich für den Stand des Rollladens schon falsch ist.

Das ASC-Modul setzt bei mir 7 Rollläden gleichzeitig auf "Beschattung", dieses gibt die Fahrbefehle an das Rollo-Modul weiter, das verarbeitet diese auch zeitgleich und gibt sie an den SIGNALduino weiter, diese kommen laut Log auch zeitgleich an:

2020.07.29 08:44:54 3: SIGNALduino: JaroLift set down 10
2020.07.29 08:44:55 3: SIGNALduino: JaroLift set down 9
2020.07.29 08:44:55 3: SIGNALduino: JaroLift set down 8
2020.07.29 08:44:55 3: SIGNALduino: JaroLift set down 5
2020.07.29 08:44:55 3: SIGNALduino: JaroLift set down 6
2020.07.29 08:44:55 3: SIGNALduino: JaroLift set down 7
2020.07.29 08:44:55 3: SIGNALduino: JaroLift set down 3


Kann das sein das der SIGNALduino da eine Schleife für die Befehle eingebaut hat, z.B. Abarbeitung alle Sekunde oder so? Oder kann das am Arduino selbst liegen das dieser so langsam ist?

Hab mir vor einiger Zeit mal einen MapleCUL zusammen gebaut mit einem Maple Mini, müsste mal die FW aktualisieren und den testen, vielleicht könnt ihr mir aber im Vorfeld schon einmal was dazu sagen.

Gruß und mercy

Markus


Zitat von: Ralf9 am 01 August 2020, 00:16:21
In der firmware wird sofort gesendet, sobald das Sendekommando komplett empfangen wurde.

Im 00_SIGNALduino Modul werden die gleichzeitigen Sendebefehle in einer  SendQueue gepuffert und nacheinander gesendet, der nächste Sendebefehl wird erst gesendet, wenn von der firmware die Rückmeldung kommt das der Sendebefehl gesendet wurde, beim offiziellen Modul von Sidey ist dabei eine Verzögerung von 0.1 Sek eingebaut.

Wie sieht es aus, wenn nur an einen Rolladen ein Befehl gesendet wird? Da dürfte es keine Verzögerung geben.

Gruß Ralf



Zitat von: meier81 am 01 August 2020, 11:10:15
Hallo Ralf,

ja bei Einzelbedienung wir sofort gesendet, ohne wirklich merkbare Verzögerung (evtl. max. 0,1 Sek. vom drücken des Buttons auf der Oberfläche bis dann wirklich der Rollladen fährt).

Ich merke aber auch wenn ich abends bzw. morgens die Rollläden eines Zimmers (2 Rolläden) über das ASC-Modul mittels roommate hoch- bzw. runterfahre das dort auch schon eine Verzögerung (werde die Zeit heute mal messen, geführt so fast ne Sekunde) vorhanden ist.

Markus
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Ralf9

Hallo Markus,

ich habe bei mir mal 2 ITv1 Steckdosen gleichzeitig geschaltet:

set IT_1527xe0fec on; set IT_F00000000F_ITV1 on


Im log bei meinem angepassten 00_SIGNALduino Modul sieht es dann so aus, müsste beim offiziellen Modul von Sidey ähnlich aussehen
2020.08.01 12:38:56.376 3 : sduino IT_set: IT_1527xe0fec on
2020.08.01 12:38:56.378 3 : sduino IT_set: IT_F00000000F_ITV1 on
die beiden Sendebefehle werden in die Sendewarteschlange geschrieben
2020.08.01 12:38:56.378 4 : sduino/set: sending via SendMsg: SR;R=10;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=...
2020.08.01 12:38:56.381 4 : sduino/set: sending via SendMsg: SR;R=6;P0=400;P1=-12400;P2=1200;P3=-400;P4=-1200;D=...

2020.08.01 12:38:56.929 4 : sduino SendrawFromQueue: msg=SR;R=10;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=...
Antwort von der Firmware, daß gesendet wurde
2020.08.01 12:38:57.281 4 : sduino/msg READ: SR;R=10;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=...
2020.08.01 12:38:57.281 4 : sduino/read sendraw answer: SR;R=10;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=...

2020.08.01 12:38:57.294 4 : sduino SendrawFromQueue: msg=SR;R=6;P0=400;P1=-12400;P2=1200;P3=-400;P4=-1200;D=...
Antwort von der Firmware, daß gesendet wurde
2020.08.01 12:38:57.631 4 : sduino/msg READ: SR;R=6;P0=400;P1=-12400;P2=1200;P3=-400;P4=-1200;D=...
2020.08.01 12:38:57.632 4 : sduino/read sendraw answer: SR;R=6;P0=400;P1=-12400;P2=1200;P3=-400;P4=-1200;D=...


Interessant wäre ein log mit verbose 4, wenn die 7 Rolläden in die Beschattung fahren.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

meier81

Hallo Ralf,

werde ich morgen mal durchführen und mich dann wieder melden. Das Umstellen auf verbose 4 mache ich global oder reicht das SIGNALduino Modul?

Hab eben bei deinem Log gesehen du hast bei dir im Log noch die Millisekunden stehen, wo kann man das denn umstellen?

Gruß

Markus
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || SIGNALduino 433MHz mit Maple mini || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices

Ralf9

unter global gibt es das Attribut "mseclog"
Wenn dieses Attribut gesetzt ist, enthalten Datums/Zeiteinträge (timestamp) in der Logdatei einen Millisekunden-Eintrag.

Das Umstellen auf verbose 4 reicht beim SIGNALduino Modul

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

meier81

Dann schon mal mercy für die Info.

Muss morgen mal schauen, kam heute leider nicht dazu.

Gruß Markus
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || SIGNALduino 433MHz mit Maple mini || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices

meier81

So, hab mal ein Log mit verbose 4 vom SIGNALduino Modul erstellt, habe wie im Log zusehen 2 Rollläden eines Raumes gleichzeitig runter- und dann hochgefahren. Kann aber nur im Millisekundenbereich einen Versatz erkennen.
Habe versucht den Versatz der Rollläden mal zu stoppen, da liege ich bei ca. 1,7 Sekunden.

Hier der Log:

2020.08.03 14:19:25.076 4: SIGNALduino: Set_sendMsg, sending : SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212121212121212121235151515151515151245124245151512424512451512451512451245151512424245124515151515151515151245151515124245151512424242451245124515151515151515151516;
2020.08.03 14:19:25.077 3: SIGNALduino: JaroLift set down 6
2020.08.03 14:19:25.157 4: SIGNALduino: Set_sendMsg, sending : SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212121212121212121232424512451245151512451245151242451245151512451242424515124242424512424515151515151515151245151515124245151512424242451245124515151515151515151516;
2020.08.03 14:19:25.158 3: SIGNALduino: JaroLift set down 7
2020.08.03 14:19:25.190 4: SIGNALduino: HandleWriteQueue, called
2020.08.03 14:19:25.191 4: SIGNALduino: SendFromQueue, called
2020.08.03 14:19:25.202 4: SIGNALduino: SendFromQueue, msg=SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212121212121212121235151515151515151245124245151512424512451512451512451245151512424245124515151515151515151245151515124245151512424242451245124515151515151515151516;
2020.08.03 14:19:25.877 4: SIGNALduino: Read, msg: SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212121212121212121235151515151515151245124245151512424512451512451512451245151512424245124515151515151515151245151515124245151512424242451245124515151515151515151516;
2020.08.03 14:19:25.878 4: SIGNALduino: CheckSendrawResponse, sendraw answer: SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212121212121212121235151515151515151245124245151512424512451512451512451245151512424245124515151515151515151245151515124245151512424242451245124515151515151515151516;
2020.08.03 14:19:27.203 4: SIGNALduino: HandleWriteQueue, called
2020.08.03 14:19:27.203 4: SIGNALduino: SendFromQueue, called
2020.08.03 14:19:27.213 4: SIGNALduino: SendFromQueue, msg=SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212121212121212121232424512451245151512451245151242451245151512451242424515124242424512424515151515151515151245151515124245151512424242451245124515151515151515151516;
2020.08.03 14:19:27.890 4: SIGNALduino: Read, msg: SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212121212121212121232424512451245151512451245151242451245151512451242424515124242424512424515151515151515151245151515124245151512424242451245124515151515151515151516;
2020.08.03 14:19:27.891 4: SIGNALduino: CheckSendrawResponse, sendraw answer: SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212121212121212121232424512451245151512451245151242451245151512451242424515124242424512424515151515151515151245151515124245151512424242451245124515151515151515151516;
2020.08.03 14:19:29.215 4: SIGNALduino: HandleWriteQueue, called
2020.08.03 14:19:29.215 4: SIGNALduino: HandleWriteQueue, nothing to send, stopping timer
2020.08.03 14:19:40.125 4: SIGNALduino: Read, msg READredu: MU;P0=-29694;P1=541;P2=-1035;P3=1348;CP=1;R=30;D=0123232121212323212321232321232121212323212321212323;e;w=0;
2020.08.03 14:19:40.127 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 8 -> TX3 Protocol matches, trying to demodulate
2020.08.03 14:19:40.128 4: SIGNALduino: Read, msg READredu: MU;P0=-29694;P1=541;P2=-1035;P3=1348;CP=1;R=30;D=0323232321232123232323232121232121232123232121212323212321232321232121212323212321212323;e;w=1;
2020.08.03 14:19:40.129 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 8 -> TX3 Protocol matches, trying to demodulate
2020.08.03 14:19:40.130 4: SIGNALduino: Read, msg READredu: MU;P0=-29694;P1=541;P2=-1035;P3=1348;CP=1;R=30;D=0323232321232123232323232121232121232123232121212323212321232321232121212323212321212323;e;
2020.08.03 14:19:40.132 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 8 -> TX3 Protocol matches, trying to demodulate
2020.08.03 14:19:40.616 4: SIGNALduino: Read, msg READredu: MU;P0=-11896;P1=1322;P2=-1063;P3=519;P4=-28570;CP=3;R=30;D=0121212123212321232323212323212323212323212321232321212121212121212321232321212123212321;O;w=0;
2020.08.03 14:19:40.617 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 8 -> TX3 Protocol matches, trying to demodulate
2020.08.03 14:19:40.618 4: SIGNALduino: Parse_MU, Decoded matched MU protocol id 8 dmsg TXAEDB58058A length 44 dispatch(1/4) RSSI = -59
2020.08.03 14:19:40.673 4: SIGNALduino: Read, msg READredu: MU;P1=1319;P2=-1060;P3=522;P4=-28570;CP=3;R=30;D=4121212123212321232323212323212323212323212321232321212121212121212321232321212123212321;e;w=1;
2020.08.03 14:19:40.674 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 8 -> TX3 Protocol matches, trying to demodulate
2020.08.03 14:19:40.675 4: SIGNALduino: Parse_MU, Decoded matched MU protocol id 8 dmsg TXAEDB58058A length 44 dispatch(1/4) RSSI = -59
2020.08.03 14:19:40.675 4: SIGNALduino: Dispatch, TXAEDB58058A, Dropped due to short time or equal msg
2020.08.03 14:19:40.676 4: SIGNALduino: Read, msg READredu: MU;P1=1319;P2=-1060;P3=522;P4=-28570;CP=3;R=30;D=4121212123212321232323212323212323212323212321232321212121212121212321232321212123212321;e;
2020.08.03 14:19:40.677 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 8 -> TX3 Protocol matches, trying to demodulate
2020.08.03 14:19:40.677 4: SIGNALduino: Parse_MU, Decoded matched MU protocol id 8 dmsg TXAEDB58058A length 44 dispatch(1/4) RSSI = -59
2020.08.03 14:19:40.678 4: SIGNALduino: Dispatch, TXAEDB58058A, Dropped due to short time or equal msg
2020.08.03 14:19:41.194 4: SIGNALduino: Read, msg READredu: MS;P0=744;P1=541;P2=-4104;P3=-1886;P4=-16044;P5=986;P6=-1023;P7=-7914;D=17121212121313131213121213131313121312121312131313131312121312131313131313131313021456565656;CP=1;SP=7;R=220;O;b=144;m0;
2020.08.03 14:19:41.614 4: SIGNALduino: Read, msg READredu: MS;P0=-16038;P1=974;P2=-1036;P3=560;P4=-7922;P5=-4115;P6=-1904;D=34353535353636363536353536363636353635353635363636363635353635363636363636363636353012121212;CP=3;SP=4;R=219;e;b=9;s=1;m0;
2020.08.03 14:19:41.616 4: SIGNALduino: Read, msg READredu: MS;P3=560;P4=-7922;P5=-4115;P6=-1904;D=34353535353636363536353536363636353635353635363636363635353635363636363636363636353;CP=3;SP=4;R=219;e;m1;
2020.08.03 14:19:47.167 4: SIGNALduino: KeepAlive, ok, retry = 0
2020.08.03 14:20:25.349 4: SIGNALduino: Set_sendMsg, sending : SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212121212121212121232424515151242451242451515124245124515151515124245124515124512451245124515151515151515151245151515124245151512424242451245151512451515151515151516;
2020.08.03 14:20:25.350 3: SIGNALduino: JaroLift set up 6
2020.08.03 14:20:25.444 4: SIGNALduino: Set_sendMsg, sending : SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212121212121212121232451515151242451512451512451512451242424512451515124515124245151512424515151515151515151245151515124245151512424242451245151512451515151515151516;
2020.08.03 14:20:25.444 3: SIGNALduino: JaroLift set up 7
2020.08.03 14:20:25.497 4: SIGNALduino: HandleWriteQueue, called
2020.08.03 14:20:25.497 4: SIGNALduino: SendFromQueue, called
2020.08.03 14:20:25.508 4: SIGNALduino: SendFromQueue, msg=SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212121212121212121232424515151242451242451515124245124515151515124245124515124512451245124515151515151515151245151515124245151512424242451245151512451515151515151516;
2020.08.03 14:20:26.192 4: SIGNALduino: Read, msg: SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212121212121212121232424515151242451242451515124245124515151515124245124515124512451245124515151515151515151245151515124245151512424242451245151512451515151515151516;
2020.08.03 14:20:26.193 4: SIGNALduino: CheckSendrawResponse, sendraw answer: SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212121212121212121232424515151242451242451515124245124515151515124245124515124512451245124515151515151515151245151515124245151512424242451245151512451515151515151516;
2020.08.03 14:20:27.509 4: SIGNALduino: HandleWriteQueue, called
2020.08.03 14:20:27.509 4: SIGNALduino: SendFromQueue, called
2020.08.03 14:20:27.520 4: SIGNALduino: SendFromQueue, msg=SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212121212121212121232451515151242451512451512451512451242424512451515124515124245151512424515151515151515151245151515124245151512424242451245151512451515151515151516;
2020.08.03 14:20:28.212 4: SIGNALduino: Read, msg: SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212121212121212121232451515151242451512451512451512451242424512451515124515124245151512424515151515151515151245151515124245151512424242451245151512451515151515151516;
2020.08.03 14:20:28.216 4: SIGNALduino: CheckSendrawResponse, sendraw answer: SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212121212121212121232451515151242451512451512451512451242424512451515124515124245151512424515151515151515151245151515124245151512424242451245151512451515151515151516;
2020.08.03 14:20:29.521 4: SIGNALduino: HandleWriteQueue, called
2020.08.03 14:20:29.521 4: SIGNALduino: HandleWriteQueue, nothing to send, stopping timer


Gruß Markus
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || SIGNALduino 433MHz mit Maple mini || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices

meier81

Hab mir eben mal noch ein doif gebaut zum Rollladen fahren, einfach um direkt dasJarolift-Modul anzusprechen:

define Test DOIF ## runterfahren\
([16:00])\
   (set JaroLift down 1, set JaroLift down 2)\
## stoppen\
DOELSEIF ([16:01])\
   (set JaroLift stop 1, set JaroLift stop 2)\
## hochfahren\
DOELSEIF ([16:02])\
   (set JaroLift up 1, set JaroLift up 2)


Die Uhrzeit steht einfach nur so drin, hab es mit "set cmd" dann angesteuert und habe sogar die Repeats zur Sendewiederholung im Jarolift-Modul von meinen 5 auf 1 runtergestellt, das macht zeitlich schon einmal keinen Unterschied. Mehrmals gefahren und probiert, ich komme auf einen Versatz von ca. 2 Sekunden.

Was natürlich funktioniert ist der Gruppenbefehl vom Jarolift-Modul, wenn ich dort sage "set Jarolift down 1,2" dann sendet er den Befehl für beide Rollladen in einer Nachricht, dem entsprechend fahren beide Rolladen synchron los. Das kann ich aber schwer benutzen, ich habe ja für jeden Rollladen ein Rollo-Device und bekomme ja für jeden einzeln den Befehl zum fahren, da hätte ich keine Idee zum zusammenbauen eines Gruppenbefehls.
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || SIGNALduino 433MHz mit Maple mini || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices

Ralf9

Das Problem ist, daß beim offiziellen 00_SIGNALduino Modul ein Workaround drin ist, dieser ist für ein Bug in der Senderoutine bei einigen firmware Versionen von Sidey die älter als die V 3.4.0 sind.
https://github.com/RFD-FHEM/RFFHEM/issues/823
#RemoveInternalTimer("HandleWriteQueue:$name");
delete($hash->{ucCmd});
#SIGNALduino_HandleWriteQueue("x:$name"); # Todo #823 on github
InternalTimer(gettimeofday() + 0.1, \&SIGNALduino_HandleWriteQueue, "HandleWriteQueue:$name") if (scalar @{$hash->{QUEUE}} > 0 && InternalVal($name,"sendworking",0) == 0);


Da die "SIGNALduino_HandleWriteQueue" nicht mehr direkt aufgerufen wird, sondern über einen InternalTimer, gibt es eine merkliche Verzögerung

2020.08.03 14:19:25.202 4: SIGNALduino: SendFromQueue, msg=SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212121212121212121...
Antwort von der Firmware, daß gesendet wurde
2020.08.03 14:19:25.877 4: SIGNALduino: Read, msg: SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=01212121212...
2020.08.03 14:19:25.878 4: SIGNALduino: CheckSendrawResponse, sendraw answer: SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=0121212121212...

2020.08.03 14:19:27.203 4: SIGNALduino: HandleWriteQueue, called
2020.08.03 14:19:27.203 4: SIGNALduino: SendFromQueue, called
2020.08.03 14:19:27.213 4: SIGNALduino: SendFromQueue, msg=SR;R=5;P0=1520;P1=-400;P2=400;P3=-4000;P4=-800;P5=800;P6=-16000;D=012121212121


Bei meinem angepasstem 00_SIGNALduino Modul gibt es ohne den Workaround keine merkliche Verzögerung
2020.08.01 12:38:56.929 4 : sduino SendrawFromQueue: msg=SR;R=10;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=...
Antwort von der Firmware, daß gesendet wurde
2020.08.01 12:38:57.281 4 : sduino/msg READ: SR;R=10;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=...
2020.08.01 12:38:57.281 4 : sduino/read sendraw answer: SR;R=10;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=...

2020.08.01 12:38:57.294 4 : sduino SendrawFromQueue: msg=SR;R=6;P0=400;P1=-12400;P2=1200;P3=-400;P4=-1200;D=...
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

RappaSan

Stimmt, die Verzögerung von ca. 1 Sekunde ist mir gestern Abend auch aufgefallen, als 3 Lampen im Wohnzimmer angeschaltet wurden. Alle mit Abstand hintereinander und nicht quasi gleichzeitig.

meier81

Guten Morgen,

Zitat von: Ralf9 am 04 August 2020, 00:29:18
Bei meinem angepasstem 00_SIGNALduino Modul gibt es ohne den Workaround keine merkliche Verzögerung
2020.08.01 12:38:56.929 4 : sduino SendrawFromQueue: msg=SR;R=10;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=...
Antwort von der Firmware, daß gesendet wurde
2020.08.01 12:38:57.281 4 : sduino/msg READ: SR;R=10;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=...
2020.08.01 12:38:57.281 4 : sduino/read sendraw answer: SR;R=10;P0=250;P1=-7750;P2=750;P3=-250;P4=-750;D=...

2020.08.01 12:38:57.294 4 : sduino SendrawFromQueue: msg=SR;R=6;P0=400;P1=-12400;P2=1200;P3=-400;P4=-1200;D=...


Ralf ich gehe davon aus du meinst dein angepasstes Modul für das aktuelle SIGNALduino - Maple Mini - Projekt (das beobachte ich auch und habe die Hardware auch schon zum testen aufgebaut, verwende aber zu meiner Schande noch das "originale" SIGNALduino-Modul)

angepasstes 00_SIGNALduino Modul installieren

Falls ja kann ich das auch mit meinem bestehenden Aufbau, also beim SIGNALduino mit dem Arduino nano verwenden?

Ich muss halt doch mal meinen neuen Maple Mini "produktiv" schalten  :)

Gruß Markus
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || SIGNALduino 433MHz mit Maple mini || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices

Ralf9

ZitatFalls ja kann ich das auch mit meinem bestehenden Aufbau, also beim SIGNALduino mit dem Arduino nano verwenden?
ja, mein angepasstes 00_SIGNALduino Modul funktioniert mit allen meinen firmware Versionen und müsste auch mit Einschränkungen mit der firmware von Sidey funktionieren.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

meier81

Hallo Ralf,

hab's eben mal installiert und gleich mal getestet, die Verzögerung ist deutlich weniger geworden, würde sagen liegt jetzt so im 0,2 - 0,3 Sekundenbereich (halt schlecht zu messen).

Danke dir auf jeden Fall mal für den Tipp, werde heute Mittag mal den Maple Mini in Betrieb nehmen und schauen ob ich da noch etwas "Performance" rausholen kann.

Gruß Markus
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || SIGNALduino 433MHz mit Maple mini || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices

Ralf9

Zitatund schauen ob ich da noch etwas "Performance" rausholen kann.
Mehr als ca 50-100 ms wird sich da wahrscheinlich nicht "rausholen" lassen.

Anstatt meinem angepassten 00_SIGNALduino Modul müsste es auch mit einem gepatchtem 00_SIGNALduino Modul vom normalen fhem update funktionieren

Dazu müssen bei diesen Zeilen bei 2 Zeilen das "#" am Anfang entfernt werden und die letzte Zeile durch ein "#" am Anfang auskommentiert werden
#RemoveInternalTimer("HandleWriteQueue:$name");
delete($hash->{ucCmd});
#SIGNALduino_HandleWriteQueue("x:$name"); # Todo #823 on github
InternalTimer(gettimeofday() + 0.1, \&SIGNALduino_HandleWriteQueue, "HandleWriteQueue:$name") if (scalar @{$hash->{QUEUE}} > 0 && InternalVal($name,"sendworking",0) == 0);


es müsste dann ungefähr so aussehen;
RemoveInternalTimer("HandleWriteQueue:$name");
delete($hash->{ucCmd});
SIGNALduino_HandleWriteQueue("x:$name"); # Todo #823 on github
#InternalTimer(gettimeofday() + 0.1, \&SIGNALduino_HandleWriteQueue, "HandleWriteQueue:$name") if (scalar @{$hash->{QUEUE}} > 0 && InternalVal($name,"sendworking",0) == 0);
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

andies

Ich lese hier mal mit, weil ich eine Frage habe.

Zuerst: ich habe momentan nicht die Zeit, auf Mapleduino umzusteigen, will das aber perspektivisch tun. Meine Sorge ist momentan nur, die rolling codes zu verlieren (hatte ich mal nach einem Absturz) und das dauerte ewig, bis ich die Rolladen wieder bedienen konnte.

Nun meine Frage. Ich schalte mehrere Rolladen hintereinander. An manchen Tagen (öfter morgens?!) wird dann, und zwar unabhängig davon ob ich das händisch mache oder per cmdalias-Befehl für alle auf einmal, der erste Rolladen nicht bewegt. Es ist immer der erste ,,angesprochene", unabhängig davon welcher der fünf Rolladen das nun ist. Sende ich danach noch einmal den Befehl an diesen Rolladen, bewegt sich der sich.

Ich bilde mir ein, dass es daran liegt, dass irgendwie der rolling code nicht richtig weitergegeben wird. Gestern abend stand er bei 006E, war aber offensichtlich nicht bewegt worden. Ich löse aus und lese 0070. Muss das nicht 006F sein?

Hat jemand eine Idee, woran das liegen könnte und wo ich weitermachen kann? Ausserdem könnten wir doch mal die Entwicklungen hier im Thread auch im Wiki zumindest beschreiben. Leider fehlt mir da momentan so etwas wie eine Kurzzusammenfassung, welche Probleme auch gelöst wurden und welche Risiken bestehen: Elektrolurch zB sagte nur kurz, seine RTS Motoren gehen jetzt nicht mehr - das sind die, die ich habe. Da klingeln bei mir natürlich alle Alarmglocken...
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

Ralf9

Ist dies an dem sduino den Du über WLAN und ESP-link angebunden hast?
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7