Autor Thema: SIGNALduino: Verzögerung, wenn mehrere Rolläden gleichzeitig gesteuert werden  (Gelesen 380 mal)

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3254
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


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



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

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3254
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

Online meier81

  • Full Member
  • ***
  • Beiträge: 154
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 FHEM, debmatic und Grafana

FHEM Module: alexa, allergy, Astro, AutoShuttersControl, BDKM, Calendar, ABFALL, CUL_TX, DbLog, dewpoint, expandJSON, freezemon, HMCCU, HMCCUDEV, HTTPMOD, monitoring, MQTT,  MQTT_DEVICE, Pushover, ROLLO, SD_Keeloq, SIGNALduino, SYSMON, WS980, XiaomiDevice

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3254
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

Online meier81

  • Full Member
  • ***
  • Beiträge: 154
Dann schon mal mercy für die Info.

Muss morgen mal schauen, kam heute leider nicht dazu.

Gruß Markus
QNAP NAS mit FHEM, debmatic und Grafana

FHEM Module: alexa, allergy, Astro, AutoShuttersControl, BDKM, Calendar, ABFALL, CUL_TX, DbLog, dewpoint, expandJSON, freezemon, HMCCU, HMCCUDEV, HTTPMOD, monitoring, MQTT,  MQTT_DEVICE, Pushover, ROLLO, SD_Keeloq, SIGNALduino, SYSMON, WS980, XiaomiDevice

Online meier81

  • Full Member
  • ***
  • Beiträge: 154
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 FHEM, debmatic und Grafana

FHEM Module: alexa, allergy, Astro, AutoShuttersControl, BDKM, Calendar, ABFALL, CUL_TX, DbLog, dewpoint, expandJSON, freezemon, HMCCU, HMCCUDEV, HTTPMOD, monitoring, MQTT,  MQTT_DEVICE, Pushover, ROLLO, SD_Keeloq, SIGNALduino, SYSMON, WS980, XiaomiDevice

Online meier81

  • Full Member
  • ***
  • Beiträge: 154
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 FHEM, debmatic und Grafana

FHEM Module: alexa, allergy, Astro, AutoShuttersControl, BDKM, Calendar, ABFALL, CUL_TX, DbLog, dewpoint, expandJSON, freezemon, HMCCU, HMCCUDEV, HTTPMOD, monitoring, MQTT,  MQTT_DEVICE, Pushover, ROLLO, SD_Keeloq, SIGNALduino, SYSMON, WS980, XiaomiDevice

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3254
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=...
« Letzte Änderung: 04 August 2020, 00:32:12 von Ralf9 »
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

Offline RappaSan

  • Sr. Member
  • ****
  • Beiträge: 549
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.

Online meier81

  • Full Member
  • ***
  • Beiträge: 154
Guten Morgen,

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 FHEM, debmatic und Grafana

FHEM Module: alexa, allergy, Astro, AutoShuttersControl, BDKM, Calendar, ABFALL, CUL_TX, DbLog, dewpoint, expandJSON, freezemon, HMCCU, HMCCUDEV, HTTPMOD, monitoring, MQTT,  MQTT_DEVICE, Pushover, ROLLO, SD_Keeloq, SIGNALduino, SYSMON, WS980, XiaomiDevice

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3254
Zitat
Falls 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

Online meier81

  • Full Member
  • ***
  • Beiträge: 154
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 FHEM, debmatic und Grafana

FHEM Module: alexa, allergy, Astro, AutoShuttersControl, BDKM, Calendar, ABFALL, CUL_TX, DbLog, dewpoint, expandJSON, freezemon, HMCCU, HMCCUDEV, HTTPMOD, monitoring, MQTT,  MQTT_DEVICE, Pushover, ROLLO, SD_Keeloq, SIGNALduino, SYSMON, WS980, XiaomiDevice

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3254
Zitat
und 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