Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sendMsg hex value - error #782

Open
HomeAutoUser opened this issue Jan 18, 2020 · 22 comments
Open

sendMsg hex value - error #782

HomeAutoUser opened this issue Jan 18, 2020 · 22 comments
Assignees
Labels

Comments

@HomeAutoUser
Copy link
Contributor

Expected Behavior

  • fix

Actual Behavior

cmd
set nano_433Mhz sendMsg P88#0x2C4A49F8808B48058#R1

not right intern work

via FHEM cmd line

2020.01.18 18:08:00 4: nano_433Mhz: HandleWriteQueue, called
2020.01.18 18:08:00 4: nano_433Mhz: SendFromQueue, called
2020.01.18 18:08:00 4: nano_433Mhz: SendFromQueue, msg=SR;R=1;P0=400;P1=-400;P2=-4000;P3=-800;P4=800;P5=-15600;D=0101010101010101010101024141034103034141410341410341034141034141034141030303030303414141034141414141414103414141034103034103414103414141414141414103410303414141;
2020.01.18 18:08:00 4: nano_433Mhz: Read, msg: SR;58#49F8808B�q��}��R=1;P0=400;P1=-400;P2=-4000;P3=-800;P4=800;P5=-15600;D=0101010101010101010101024141034103034141410341410341034141034141034141030303030303414141034141414141414103414141034103034103414103414141414141414103410303414141;
2020.01.18 18:08:00 4: nano_433Mhz: CheckSendrawResponse, sendraw answer: SR;58#49F8808B�q��}��R=1;P0=400;P1=-400;P2=-4000;P3=-800;P4=800;P5=-15600;D=0101010101010101010101024141034103034141410341410341034141034141034141030303030303414141034141414141414103414141034103034103414103414141414141414103410303414141;
2020.01.18 18:08:00 4: nano_433Mhz: HandleWriteQueue, called
2020.01.18 18:08:00 4: nano_433Mhz: HandleWriteQueue, nothing to send, stopping timer

via device set

2020.01.18 18:14:45 4: nano_433Mhz: Set_sendMsg, sending : SR;R=1;P0=400;P1=-400;P2=-4000;P3=-800;P4=800;P5=-15600;D=0101010101010101010101024141034103034141410341410341034141034141034141030303030303414141034141414141414103414141034103034103414103414141414141414103410303414141;
2020.01.18 18:14:45 4: nano_433Mhz: HandleWriteQueue, called
2020.01.18 18:14:45 4: nano_433Mhz: SendFromQueue, called
2020.01.18 18:14:46 4: nano_433Mhz: SendFromQueue, msg=SR;R=1;P0=400;P1=-400;P2=-4000;P3=-800;P4=800;P5=-15600;D=0101010101010101010101024141034103034141410341410341034141034141034141030303030303414141034141414141414103414141034103034103414103414141414141414103410303414141;
2020.01.18 18:14:46 4: nano_433Mhz: Read, msg: SR;58#49F8808B�q��}��R=1;P0=400;P1=-400;P2=-4000;P3=-800;P4=800;P5=-15600;D=0101010101010101010101024141034103034141410341410341034141034141034141030303030303414141034141414141414103414141034103034103414103414141414141414103410303414141;
2020.01.18 18:14:46 4: nano_433Mhz: CheckSendrawResponse, sendraw answer: SR;58#49F8808B�q��}��R=1;P0=400;P1=-400;P2=-4000;P3=-800;P4=800;P5=-15600;D=0101010101010101010101024141034103034141410341410341034141034141034141030303030303414141034141414141414103414141034103034103414103414141414141414103410303414141;
2020.01.18 18:14:46 4: nano_433Mhz: HandleWriteQueue, called

Steps to Reproduce the Problem

  1. device logfile - verbose 4
  2. set device sendMsg P88#0x2C4A49F8808B48058#R1
  3. look at logifle

Specifications

  • Microcontroller: nano
  • Version (Firmware): V 3.4.0-dev SIGNALduino cc1101 (chip CC1101) - compiled at Jan 5 2020 22:30:42
  • Versionmodul (FHEM Module): v3.4.2_dev_10.01
@HomeAutoUser
Copy link
Contributor Author

Durch irgendwas wird das Ganze beeinflusst. Nach mehrmaligen Shutdown´s kann ich auf einmal dieses Kommando absetzen ohne das der Fehler kommt. Hier ist etwas Wurmbehaftet.

@sidey79
Copy link
Contributor

sidey79 commented Jan 18, 2020

Was genau ist der Fehler?
Sendet er endlos? Habe es mir nur mobil angesehen.

@HomeAutoUser
Copy link
Contributor Author

Der Fehler sind die Steuerzeuchen

Read, msg: SR;58#49F8808B�q��}��R=1;P0=400;P

@sidey79
Copy link
Contributor

sidey79 commented Jan 18, 2020

Hmm, könnte das nicht eher ein Fehler auf dem uC sein?

Dort wird ausgegeben, was vom uC empfangen wurde.

@HomeAutoUser
Copy link
Contributor Author

Durch aus möglich. Daran dachte ich auch schon.
Leider habe ich den Zustand nicht wieder hervorrufen können bisher.

Das einzige was ich weiß, ich habe versucht öfter zu senden.

@HomeAutoUser
Copy link
Contributor Author

Da ich nun den uC mal gestresst habe und den Fehler nicht reproduzieren konnte, würde ich dies "vorsichtig" zu den Akten legen wollen.

ABER dabei war mir aufgefallen, ob wir noch einen Fall abfangen können und wollen.

Sobald jemand vergisst oder den Befehl falsch zum senden eingibt wie
set nano_433Mhz sendMsg P88#2C4A49F8808B48058#R1
erscheint eine Warnings.

2020.01.23 13:33:22 1: PERL WARNING: Use of uninitialized value within %signalHash in concatenation (.) or string at ./FHEM/00_SIGNALduino.pm line 821.
2020.01.23 13:33:22 3: nano_433Mhz: SendFromQueue, msg=SR;R=1;P0=400;P1=-400;P2=-4000;P3=-800;P4=800;P5=-15600;D=0101010101010101010101024141;
2020.01.23 13:33:22 3: nano_433Mhz: CheckSendrawResponse, sendraw answer: SR;R=1;P0=400;P1=-400;P2=-4000;P3=-800;P4=800;P5=-15600;D=0101010101010101010101024141;

weil das 0x vergessen wurde.

Richtig wäre
set nano_433Mhz sendMsg P88#0x2C4A49F8808B48058#R1.

Wie seht Ihr das?

@elektron-bbs
Copy link
Contributor

Solange nur eine Warnung kommt, sehe ich das nicht so kritisch.
Schlechter ist der Fall, das man auf ähnliche Art den SIGNALduino "abschießen" kann.

@sidey79
Copy link
Contributor

sidey79 commented Jan 23, 2020

Wir könnten eine Syntaxprüfung einbauen.
Zumindest das 0x kann geprüft werden wenn danach Hex Werte folgen.

@HomeAutoUser
Copy link
Contributor Author

Abschießen möchte ja keiner den Signalduino. Wenn es dennoch geht, sollten wir dies unterbinden.

Man könnte ja prüfen ob die Eingabe vielleicht richtig ist.

@HomeAutoUser
Copy link
Contributor Author

@elektron-bbs

Schlechter ist der Fall, das man auf ähnliche Art den SIGNALduino "abschießen" kann.

Kannst du den Fall nachstellen wann dies geschiet? Dies würde ich dann in dem Faden behandeln anderenfalls würde ich das Issues closen sobald wir nicht den Fall nachstellen können.

@elektron-bbs
Copy link
Contributor

Ich habe mir nur den einen Fall gemerkt, wie man den SIGNALduino zuverlässig zum dauernd Senden veranlasst:

Dieser Befehl in der Kommandozeile schaltet FS10_2_11 aus:

set sduinoUSB0 raw SR;;R=3;;P0=-398;;P1=388;;P2=-798;;D=01010101010101010101010101212101010121010101212101010121212101010121010101212101212121;;

Nimmt man versehentlich diesen Teil

SR;;R=3;;P0=-398;;P1=388;;P2=-798;;D=01010101010101010101010101212101010121010101212101010121212101010121010101212101212121;;

in der Detailansicht in die Eingabemaske für set raw und setzt den Befehl ab, hat man einen prima Störsender.
Mittlerweile funktioniert ja aber gottseidank der Reset aus FHEM und somit ist der Spuk nach wenigen Minuten zu Ende.

@elektron-bbs
Copy link
Contributor

Gerade noch ein Beispiel im Forum entdeckt (https://forum.fhem.de/index.php?topic=107868.msg1019168#msg1019168): Nach dem Senden folgender Nachricht empfängt der SIGNALduino nichts mehr. Die Nachricht ist sicher zu lang. Ein Reset aus FHEM erfolgt nicht.

set sduino raw SR;;R=5;;P0=-16000;;P1=300;;P2=-300;;P3=-1200;;P4=-600;;P5=600;;P6=1200;;D=01212121212121212121213141452141414141414141414521414521414525252145252525252525252525214525252525252525252525252525252141414141414141414141414141414141414141414141414525252525252525214141414141414145214145252525252525252525252521460;;

@elektron-bbs
Copy link
Contributor

Hier https://forum.fhem.de/index.php/topic,107868.msg1019479.html#msg1019479 kam ein Hinweis von @Ralf9:

Mir ist ein keiner Bug bei der sendmsg aufgefallen, hier

$pattern.="P".$patternHash{$p}."=".$p*$clock.";";

kann sowas P3=1234.5 entstehen.
Damit wird dann die Komastelle abgeschnitten:
$pattern.="P".$patternHash{$p}."=". int($p*$clock) .";";

Theoretisch könnte eigentlich nur etwas passieren, wenn clockabs und einer der Faktoren in one, zero usw. kein Integer ist. Vieleicht sollten wir es trotzdem ändern.

@HomeAutoUser
Copy link
Contributor Author

Ich denke dem sollte nichts entgegen sprechen und letztendlich stellt es ja auch nur noch eine zusätzliche "Absicherung" dar.

HomeAutoUser added a commit to HomeAutoUser/RFFHEM that referenced this issue Feb 23, 2020
@sidey79
Copy link
Contributor

sidey79 commented Apr 3, 2020

Ist doch gefixt oder doch nicht?

@HomeAutoUser
Copy link
Contributor Author

HomeAutoUser commented Apr 3, 2020

Ein Bruchteil ist gefixt aber nicht alles.
Dieser ist gefixt #782 (comment).

Das müsste noch offen sein #782 (comment) oder #782 (comment) ...

@elektron-bbs siehst du das genau so?

@sidey79 sidey79 closed this as completed in d6b0822 Apr 5, 2020
@HomeAutoUser HomeAutoUser reopened this Apr 13, 2020
@HomeAutoUser
Copy link
Contributor Author

@elektron-bbs das #782 (comment) ging bestimmt unter.

@elektron-bbs
Copy link
Contributor

Dieses #782 (comment) ist IMHO auch noch nicht erledigt, oder habe ich etwas übersehen?

@HomeAutoUser
Copy link
Contributor Author

Also scheint hier noch bei allem Handlungsbedarf ;)

@elektron-bbs
Copy link
Contributor

Bis auf diesen: #782 (comment)

@sidey79
Copy link
Contributor

sidey79 commented May 25, 2020

Den Teil für sendMsg der den Parameter zerlegt würde ich gerne überarbeiten.
Ich wollte das jetzt aber nicht parallel zu den FSK Branch machen. Eher den FSK Teil im Modul erst mal abhaken

@HomeAutoUser HomeAutoUser mentioned this issue Jul 15, 2020
3 tasks
@elektron-bbs
Copy link
Contributor

Ich hänge hier mal noch einen Beitrag eines Users bezüglich "sendmsg" an diese Sammlung an: #906 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants