FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: Prof. Dr. Peter Henning am 06 Juni 2022, 11:36:10

Titel: Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Prof. Dr. Peter Henning am 06 Juni 2022, 11:36:10
Nachdem gestern mein altes Grillthermometer den Geist aufgegeben hat, muss ich etwas neues kaufen. Und will natürlich etwas haben, das an die Haussteuerung angebunden ist.

Leider ist die Datenlage sowohl im Forum, als auch im FHEMWiki mangelhaft.

An einer Stelle heißt es, dass die Maverick Funkthermometer mit 433 MHz mit einem Signalduino empfangen und ausgewertet werden können. Prima, aber welche Modelle? Und brauche ich wirklich extra einen Signalduino, oder tut es auch ein CUL 433 mit V 1.26.05 a-culfw?

An anderer Stelle habe ich ähnlich vage Informationen über Funkthermometer von Inkbird gelesen (eingebunden über WLAN). Hat jemand dessen Protokoll entschlüsselt?

Würde mich über jeden Input freuen und sammele diesen in einer neuen Wiki-Seite

LG

pah

Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Sidey am 06 Juni 2022, 12:12:21
Du kannst den CUL zu einem Signdduino umflashen.

Von Maverick geht:
ET-733

Andere Modelle müssten ggf. noch implementiert werden, das wäre dann auf gut Glück.

Grüße Sidey
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Prof. Dr. Peter Henning am 06 Juni 2022, 12:42:24
Danke. Nachteil ist, dass der Maverick ET 733 nicht mehr zu bekommen ist.

Zum Interface: Meine CUL 433 sind allerdings Bestandteile von je einem MapleCUN mit 4 Transceivern. Dafür fehlt im WIki eine Anleitung - und mir fehlt gegenwärtig die Zeit, mich in die diversen Firmware-Versionen und Flashvorgänge wieder einzugraben. Ich werde also versuchen, einen fertigen Signalduino zu bekommen. Hat jemand eine Bezugsquelle für die LAN-Version?

LG

pah


Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Gisbert am 06 Juni 2022, 13:27:02
Zitat von: Prof. Dr. Peter Henning am 06 Juni 2022, 12:42:24
Danke. Nachteil ist, dass der Maverick ET 733 nicht mehr zu bekommen ist.

Schau mal bei Ebay Kleinanzeigen, da gibt es zumindest gebrauchte Teile.

Viele​ Grüße​ Gisbert​
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Prof. Dr. Peter Henning am 06 Juni 2022, 13:38:27
Schon gemacht - allerdings wollte ich keine gebrauchten haben...

LG

pah
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Prof. Dr. Peter Henning am 09 Juni 2022, 16:26:04
So, ich habe mir jetzt mal dieses Teil hier gekauft:

https://www.amazon.de/gp/product/B08NPMH2NS/ref=ppx_yo_dt_b_asin_title_o01_s00

Wird vom SignalDuino auf 433 MHz bestens empfangen. Jetzt muss ich "nur noch" das Protokoll dekodieren. Wird ne Weile dauern...

LG

pah
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Sidey am 09 Juni 2022, 16:59:02
Wird es auch schon demoduliert oder braucht es noch ein Protokoll dazu?
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Prof. Dr. Peter Henning am 09 Juni 2022, 17:12:12
Der Sensor wird gemeldet als

Zitat2022.06.09 15:31:06 1: SigDuino: SD_UT_Parse UNDEFINED sensor unknown detected, protocol 34, data 09655, code 096

Im weiteren Verlauf wird zunächst Protokoll 34 nicht gefunden (im nachfolgenden Text sind alle Zeilen mit "not found, aborting" herausgelassen):
Zitat2022.06.09 15:56:37 5: SigDuino: Read, RAW rmsg: Mu;��;���;���;D!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!;C1;R28;
2022.06.09 15:56:37 4: SigDuino: Read, msg READredu: MU;P0=-1510;P1=564;P2=-536;D=010101010101010101210101210121210101010101010101012101012101212101010101010101010121010121012121010121212121212121210101010121212121210121012101210121012101212121210101012121012121;CP=1;R=40;
2022.06.09 15:56:37 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 8 -> TX3 Protocol matches, trying to demodulate
2022.06.09 15:56:37 5: SigDuino: Parse_MU, 0. try, regex ((?:)((?:12|12){43,})) did not match

2022.06.09 15:56:37 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 31 -> LTECH matches, trying to demodulate
2022.06.09 15:56:37 5: SigDuino: Parse_MU, 0. try, regex ((?:121210)((?:12|12){8,})) did not match

2022.06.09 15:56:37 5: SigDuino: Parse_MU, for MU protocol id 39, applying filterfunc SIGNALduino_compPattern

2022.06.09 15:56:37 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 61 -> FS10 matches, trying to demodulate
2022.06.09 15:56:37 5: SigDuino: Parse_MU, 0. try, regex ((?:)((?:12|12){30,})) did not match


2022.06.09 15:56:37 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 70 -> FHT80TF matches, trying to demodulate
2022.06.09 15:56:37 5: SigDuino: Parse_MU, 0. try, regex ((?:)((?:12|12){50,})) did not match

2022.06.09 15:56:37 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 73 -> FHT80 matches, trying to demodulate
2022.06.09 15:56:37 5: SigDuino: Parse_MU, 0. try, regex ((?:)((?:12|12){59,})) did not match
2022.06.09 15:56:37 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 74 -> FS20 matches, trying to demodulate
2022.06.09 15:56:37 5: SigDuino: Parse_MU, 0. try, regex ((?:)((?:12|12){50,})) did not match

2022.06.09 15:56:37 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 80 -> EM1000WZ matches, trying to demodulate
2022.06.09 15:56:37 5: SigDuino: Parse_MU, 0. try, regex ((?:)((?:12|12){104,})) did not match

Dann gibt es aber auch Messages, in denen anscheinend das Protokoll Nr. 34 doch gesehen wird:
Zitat2022.06.09 15:56:38 5: SigDuino: Read, RAW rmsg: Mu;���;���;���;���;���;���;���;�΂;D!!!!!!!4VWWVWWVWWVVWWWVVVVVVVVVWVVWVWWVVVVVVVVVWVVWVWWVVVVVVVVVWVVWVWWVVWWWWWWWWVVVVWWWWWVWVWVWVWVWVWWWWVVVWWVWWV!!!!!!!!4VWWV;C5;R29;O;
2022.06.09 15:56:38 4: SigDuino: Read, msg READredu: MU;P0=1392;P1=-1013;P2=1067;P3=4738;P4=-2966;P5=501;P6=-1555;P7=-590;D=01212121212121213456575756575756575756565757575656565656565656565756565756575756565656565656565657565657565757565656565656565656575656575657575656575757575757575756565656575757575756575657565756575657565757575756565657575657575621212121212121213456575756;CP=5;R=41;O;
2022.06.09 15:56:38 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 8 -> TX3 Protocol matches, trying to demodulate
2022.06.09 15:56:38 5: SigDuino: Parse_MU, 0. try, regex ((?:)((?:57|21){43,})) did not match
2022.06.09 15:56:38 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 9 -> weather matches, trying to demodulate
2022.06.09 15:56:38 5: SigDuino: Parse_MU, 0. try, regex ((?:)((?:57|01){60,}(?:5|0)?)) did not match

2022.06.09 15:56:38 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 31 -> LTECH matches, trying to demodulate
2022.06.09 15:56:38 5: SigDuino: Parse_MU, 0. try, regex ((?:575756)((?:57|57){8,})) did not match
2022.06.09 15:56:38 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 34 -> QUIGG | LIBRA | Mandolyn | Pollin ISOTRONIC matches, trying to demodulate
2022.06.09 15:56:38 5: SigDuino: Parse_MU, 0. try, regex ((?:5)((?:12|65){19,}(?:1|6)?)) did not match

2022.06.09 15:56:38 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 42 -> wireless doorbell matches, trying to demodulate
2022.06.09 15:56:38 5: SigDuino: Parse_MU, 0. try, regex ((?:575757)((?:57|21){28,})) did not match

2022.06.09 15:56:38 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 50 -> Opus_XT300 matches, trying to demodulate
2022.06.09 15:56:38 5: SigDuino: Parse_MU, 0. try, regex ((?:)((?:57|01){47,}(?:5|0)?)) did not match

2022.06.09 15:56:38 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 61 -> FS10 matches, trying to demodulate
2022.06.09 15:56:38 5: SigDuino: Parse_MU, 0. try, regex ((?:)((?:57|57){30,})) did not match

2022.06.09 15:56:38 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 64 -> WH2 matches, trying to demodulate
2022.06.09 15:56:38 5: SigDuino: Parse_MU, 0. try, regex ((?:)((?:57|01){48,})) did not match

2022.06.09 15:56:38 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 70 -> FHT80TF matches, trying to demodulate
2022.06.09 15:56:38 5: SigDuino: Parse_MU, 0. try, regex ((?:)((?:57|57){50,})) did not match
2022.06.09 15:56:38 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 71 -> PEARL matches, trying to demodulate
2022.06.09 15:56:38 5: SigDuino: Parse_MU, 0. try, regex ((?:)((?:21|01){48,})) did not match
2022.06.09 15:56:38 5: SigDuino: Parse_MU, start pattern for MU protocol id 72 -> Siro shutter not found, aborting
2022.06.09 15:56:38 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 73 -> FHT80 matches, trying to demodulate
2022.06.09 15:56:38 5: SigDuino: Parse_MU, 0. try, regex ((?:)((?:57|57){59,})) did not match
2022.06.09 15:56:38 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 74 -> FS20 matches, trying to demodulate
2022.06.09 15:56:38 5: SigDuino: Parse_MU, 0. try, regex ((?:)((?:57|57){50,})) did not match

2022.06.09 15:56:38 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 80 -> EM1000WZ matches, trying to demodulate
2022.06.09 15:56:38 5: SigDuino: Parse_MU, 0. try, regex ((?:)((?:57|57){104,})) did not match

2022.06.09 15:56:38 5: SigDuino: Parse_MU, start pattern for MU protocol id 86 -> BOSCH | CAME | Novy | Neff | Refsta Topdraft not found, aborting
2022.06.09 15:56:38 4: SigDuino: Parse_MU, Fingerprint for MU protocol id 91 -> Atlantic security matches, trying to demodulate
2022.06.09 15:56:38 5: SigDuino: Parse_MU, 0. try, regex ((?:45)((?:75|75){35,}(?:7)?)) did not match

LG

pah

Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Sidey am 09 Juni 2022, 18:14:16
Da brauchen wir ein paar mehr MU Nachrichten von dem Thermometer, so auf Anhieb würde ich sagen wir brauchen da vermutlich noch was :)
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Prof. Dr. Peter Henning am 09 Juni 2022, 19:30:42
Liefer ich gerne und bin für jede Unterstützung dankbar.

Welche sind nützlicher:
Zitat2022.06.09 15:56:38 5: SigDuino: Read, RAW rmsg: Mu;...

oder diese hier

Zitat2022.06.09 15:56:38 4: SigDuino: Read, msg READredu:...

LG

pah
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Sidey am 09 Juni 2022, 21:21:11
Zitat von: Prof. Dr. Peter Henning am 09 Juni 2022, 19:30:42
Welche sind nützlicher:

Die mit READredu  sind leichter zu lesen, da die anderen auch nicht lesbare Steuerzeichen enthalten können (Darstellungsseitig im Logfile)

Grüße Sidey
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Prof. Dr. Peter Henning am 10 Juni 2022, 08:44:47
Na, dann liefern wir doch mal.

Anbei eine Aufzeichung diverser READredu messages. Außer dem Grillthermometer empfängt der SD noch einen kombinierten Temperatur/Feuchtesensor aus der Nachbarschaft, den ich leider nicht abstellen kann. Soweit ich den Code bisher verstehe, sind das die Messages "Read, msg READredu: MS;..."

Wenn ich das Grillthermometer totlege, gibt es keine MU-Message. Der gesamte Rest stammt also vom Grillthermometer.

LG

pah
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Sidey am 11 Juni 2022, 00:42:05
Zitat von: Prof. Dr. Peter Henning am 10 Juni 2022, 08:44:47
Wenn ich das Grillthermometer totlege, gibt es keine MU-Message. Der gesamte Rest stammt also vom Grillthermometer.

Super, ein paar waren anders, aber ich vermute mal wir haben die richtigen erwischt.
Demoduliert wird es. Das Bit 0 oder 1 könnte vertauscht sein, ich denke aber es stimmt.

Hier das update um das Protokoll demodulieren zu können:
update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/temola_tm40/controls_signalduino.txt

Die Ausgabe der Bits ist leider eine Debug Ausgabe die über das Attribut debug aktiviert werden muss:

2022.06.11 00:36:11.371 1: DEBUG>dummyDuino: demodulated message raw (0 1 1 0 1 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 1 1 0 1 1 0), 105 bits


Die Einstellung eher nicht dauerhaft laufen lassen.
Um die Daten auswerten zu können, müssten halt die Temperatur Sensoren auf einen anderen Wert gebracht werden.
Irgendwas an der Nachricht wird sich dann verändern :)
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Prof. Dr. Peter Henning am 11 Juni 2022, 10:47:19
Herzlichen Dank für die Unterstützung !

OK, hier mal 2 logs mit debug=1

Im ersten Fall waren alle 4 Temperatursensoren auf 22 Grad Celsius

Im zweiten Fall haben ich einen der 4 Sensoren auf 83 Grad gebracht, langsam fallend bis auf 81 Grad.

LG

pah

Die Logs werden gigantisch damit - muss ich nachher hier wieder vom Server löschen
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: elektron-bbs am 11 Juni 2022, 13:21:53
Wir haben die Definition etwas geändert. Bitte nochmal ein Update durchführen.
Mit dieser Definition scheinen die Werte plausibel zu sein:


wahrscheinlich nur ein Sensor angeschlossen?
hex   dez
9263
FED3  65235
FED3  65235
FED3  65235
00F0  240
5550
E4
8

alle 22 °C
hex   dez
9263
00DC  220
00DC  220
00DC  220
00DC  220
0000
24
8

83 °C und 22 °C
hex   dez
9263
00DC  220
00DC  220
00DC  220
033E  830
0000
DE
8

82 °C und 22 °C
hex   dez
9263
00DC  220
00DC  220
00DC  220
0334  820
0000
5C
8


Mit dieser Definition müsste dir dann ein Gerät "SIGNALduino_unknown_122" angelegt werden. Dazu muss aber wahrscheinlich das Attribut "development" beim SIGNALduino auf den Wert 1 gesetzt sein. Dann braucht es auch kein Attribut "debug" mehr.

Falls das so passt, wäre interessant zu wissen, welcher Wert zu welchem Sensor gehört. Eine Batteriemeldung vom Sensor gibt es offensichtlich auch.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Prof. Dr. Peter Henning am 11 Juni 2022, 15:40:23
Noch einmal danke für die Unterstützung, das geht ja echt flott!

Hier der Testbericht.

Zitatwahrscheinlich nur ein Sensor angeschlossen?
hex   dez
Kann sein, ich habe das Ding kurz angehabt, als nur ein Sensor dran war.


Ich habe jetzt zwei neue Devices. Erstens den gewünschten SIGNALduino_unknown_122 mit list
ZitatInternals:
   CFGFN     
   DEF        SIGNALduino_unknown_122
   FUUID      62a493aa-f33f-a726-ea73-4d104f0cf6db1213
   IODev      SigDuino
   LASTInputDev SigDuino
   MSGCNT     145
   NAME       SIGNALduino_unknown_122
   NR         137
   STATE      926301360136014001680000B88 | 2022-06-11 15:12:17
   SigDuino_DMSG u122#926301360136014001680000B88
   SigDuino_MSGCNT 145
   SigDuino_Protocol_ID 122
   SigDuino_RAWMSG MU;P0=3412;P1=-1029;P2=1043;P3=4706;P4=-2986;P5=549;P6=-1510;P7=-562;D=01212121212121213456575756575756575756565757575656575757575757575657575656575656575757575757575756575756565756565757575757575757565756575757575757575757575757575657565657565757575757575757575757575757575757575756575656565757575621212121212121213456575756;CP=5;R=2;O;
   SigDuino_RSSI -73
   SigDuino_TIME 2022-06-11 15:12:17
   TYPE       SIGNALduino_un
   bitMSG     100100100110001100000001001101100000000100110110000000010100000000000001011010000000000000000000101110001000
   lastMSG    926301360136014001680000B88
   READINGS:
     2022-06-11 15:07:54   IODev           SigDuino
     2022-06-11 15:12:17   bitCount        108
     2022-06-11 15:12:17   bitCountLength  108 to 20
     2022-06-11 15:12:17   bitMsg          100100100110001100000001001101100000000100110110000000010100000000000001011010000000000000000000101110001000
     2022-06-11 15:12:17   bitMsg_invert   011011011001110011111110110010011111111011001001111111101011111111111110100101111111111111111111010001110111
     2022-06-11 15:12:17   hexCount_or_nibble 27
     2022-06-11 15:12:17   hexMsg          926301360136014001680000B88
     2022-06-11 15:12:17   hexMsg_invert   6D9CFEC9FEC9FEBFFE97FFFF477
     2022-06-11 15:12:17   lastInputDev    SigDuino
     2022-06-11 15:12:17   past_seconds    1
     2022-06-11 15:12:17   state           926301360136014001680000B88
Attributes:
   room       SIGNALduino_un
   stateFormat {ReadingsVal('SIGNALduino_unknown_122', 'state', '').' | '.ReadingsTimestamp('SIGNALduino_unknown_122', 'state', '-');}

Zweitens einen SIGNALduino_unknown_40, mit list
ZitatInternals:
   CFGFN     
   DEF        SIGNALduino_unknown_40
   FUUID      62a493aa-f33f-a726-6709-f1301f3422b6a2b4
   IODev      SigDuino
   LASTInputDev SigDuino
   MSGCNT     91
   NAME       SIGNALduino_unknown_40
   NR         138
   STATE      0000 | 2022-06-11 15:10:41
   SigDuino_DMSG u40#0000
   SigDuino_MSGCNT 129
   SigDuino_Protocol_ID 40
   SigDuino_RAWMSG MU;P0=8228;P1=-1035;P2=1047;P3=4704;P4=-2986;P5=538;P6=-1545;P7=-560;D=01212121212121213456575756575756575756565757575656575757575757575657575656575656575757575757575756575756565756565757575757575757565756575757575757575757575757575657565756565656575757575757575757575757575757575756565756565757575621212121212121213456575756;CP=5;R=25;O;
   SigDuino_RSSI -61.5
   SigDuino_TIME 2022-06-11 15:10:41
   TYPE       SIGNALduino_un
   bitMSG     0000000000000000
   lastMSG    0000
   READINGS:
     2022-06-11 15:07:54   IODev           SigDuino
     2022-06-11 15:10:41   bitCount        16
     2022-06-11 15:10:41   bitCountLength  12 to 16
     2022-06-11 15:10:41   bitMsg          0000000000000000
     2022-06-11 15:10:41   bitMsg_invert   1111111111111111
     2022-06-11 15:10:41   hexCount_or_nibble 4
     2022-06-11 15:10:41   hexMsg          0000
     2022-06-11 15:10:41   hexMsg_invert   FFFF
     2022-06-11 15:10:41   lastInputDev    SigDuino
     2022-06-11 15:10:41   past_seconds    0
     2022-06-11 15:10:41   state           0000
Attributes:
   room       SIGNALduino_un
   stateFormat {ReadingsVal('SIGNALduino_unknown_40', 'state', '').' | '.ReadingsTimestamp('SIGNALduino_unknown_40', 'state', '-');}

Die Umrechung auf die Temperatur stimmt auch, wenn ich zunächst alle Sensoren bei 31 oder 32 Grad halte, und dann den 2. Sensr auf 72 Grad hochdrehe, erhalte ich
demodulatedmessageraw(1001001001100011.0000000100110110.0000000100110110.0000000101000000.0000000101000000.0000000000000000000001001),105bits
                                       0x0136 = 310     0x0136 =310      0x0140 = 320     0x0140 = 320

demodulatedmessageraw(1001001001100011.0000000100110110.0000000100110110.0000001011010000.0000000100110110.0000000000000000101101001),105bits
                                       0x0136 = 310     0x0136 =310      0x0140 = 720     0x0140 = 310
                                       
                                       Sensor 4         Sensor 3         Sensor 2         Sensor 1
                                       
dez. 320 = 0x0140 = 0000.0001.0100.0000
dez. 310 = 0x0136 = 0000.0001.0011.0110
dez. 720 = 0x02D0 = 0000.0010.1101.0000


Damit ist dann die Zuordnung derWerte zu den Sensoren geklärt.

Edit: Damit klärt sich auch die Bedeutung der nächsten 16 Bit nach den Temperaturwerten, das sind offenbar 4 Status-Nibbles. 5 = Kein Sensor an dem Port angeschlossen, 0 = Sensor OK.
demodulatedmessageraw(1001001001100011.0000000100110110.0000000100110110.0000001011010000.0000000100110110.0000.0000.0000.0000.1011.01001),105bits
                      9263             0x0136 = 310     0x0136 =310      0x0140 = 720     0x0140 = 310     0    0    0    0
                                       
                                       Sensor 4         Sensor 3         Sensor 2         Sensor 1         St4  St3  St2  St1


LG

pah
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: elektron-bbs am 11 Juni 2022, 18:14:17
Dann können wir doch direkt zum Modul übergehen :-)
Nach dem nächsten Update sollte es dir einen Sensor "SD_WS_122_T" anlegen.
Protokoll 40 kannst du ignorieren.

Zu klären wären noch die ersten 2 Byte. Ich schätze, das ist eine feste Ident. Bisher habe ich da nur 0x9263 gesehen.
Die 4 Status-Nibble (5 = Kein Sensor an dem Port angeschlossen, 0 = Sensor OK) müssten auch noch genauer geprüft werden.
Das letzte Byte ist sicher irgendeine Prüfung. Das Verfahren habe ich noch nicht heraus bekommen.
Irgendwo muss sich auch noch der Batteriezustand verstecken.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Prof. Dr. Peter Henning am 11 Juni 2022, 19:56:16
Prima, läuft!

Und noch einmal danke - ich hätte sicher etliche Tage gebraucht, um mich in den SignalDuino-Kram einzulesen..

Ich werde noch etwas mit den Statusbytes herumspielen, und versuchen, den Batteriezustand zu isolieren. Man kann das Teil jetzt aber anderen empfehlen, schon mal nicht schlecht.

LG

pah
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: elektron-bbs am 25 Juni 2022, 21:44:19
Bist du denn mittlerweile dazu gekommen, die restlichen Fragen zu klären?
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Prof. Dr. Peter Henning am 26 Juni 2022, 10:45:35
Nein. Ersaufe gerade in Arbeit für die DELFI-Konferenz. In den nächsten Tagen wird es hoffentlich besser....

Bisher habe ich nur bestätigen können, dass de Statuscode 5 für "Not connected" steht. Meine gepatchte Version dafür

122 => {
        # TM40, Wireless Grill-, Meat-, Roasting-Thermometer with 4 Temperature Sensors
        # -----------------------------------------------------------------------------
        # 0    4    | 8    12   | 16   20   | 24   28   | 32   36   | 40   44   | 48   52   | 56   60   | 64   68   | 72   76   | 80   84   | 88   92   | 96   100  | 104
# 1001 0010 | 0110 0011 | 0000 0001 | 0011 0110 | 0000 0001 | 0011 0110 | 0000 0001 | 0100 0000 | 0000 0001 | 0110 1000 | 0000 0000 | 0000 0000 | 1011 1000 | 1000
        # iiii iiii | iiii iiii | 4444 4444 | 4444 4444 | 3333 3333 | 3333 3333 | 2222 2222 | 2222 2222 | tttt tttt | tttt tttt | S4 S3 | S2 S1 | CCCC CCCC | 1
        # i: 16 bit id => 9263 in example device
        # 4: 16 bit unsigned 10x temperature 4 in Celsius
        # 3: 16 bit unsigned 10x temperature 3 in Celsius
        # 2: 16 bit unsigned 10x temperature 2 in Celsius
        # t: 16 bit unsigned 10x temperature 1 in Celsius
        # ?: 16 bit flags denoting sensor status S. 5 = not connected or low temp, 0 = connected
        #           temp higher than 100 degrees result in another reading not yet tested
        # C:  8 bit check???, changes in every message. Should contain battery reading??
        sensortype => 'TM40',
        model      => 'SD_WS_122_T',
        prematch   => sub { return 1; }, # no precheck known
        id         => sub { my ($rawData,undef) = @_; return substr($rawData,0,4); },
        temp4      => sub { my (undef,$bitData) = @_;
                            return "NC" if (substr($bitData,80,4) eq '0101');
                            return SD_WS_binaryToNumber($bitData,16,31) / 10;
                          },
        temp3      => sub { my (undef,$bitData) = @_;
                            return "NC" if (substr($bitData,84,4) eq '0101');
                            return SD_WS_binaryToNumber($bitData,32,47) / 10;
                          },
        temp2      => sub { my (undef,$bitData) = @_;
                            return "NC" if (substr($bitData,88,4) eq '0101');
                            return SD_WS_binaryToNumber($bitData,48,63) / 10;
                          },
        temp       => sub { my (undef,$bitData) = @_;
                            return "NC" if (substr($bitData,92,4) eq '0101');
                            return SD_WS_binaryToNumber($bitData,64,79) / 10;
                          },
        crcok      => sub {return 1;}, # Check could not be determined yet.
    },
  );


Ich bleibe dran.

LG

pah
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: elektron-bbs am 26 Juni 2022, 11:16:17
Setzt du mal bitte bei deinem SIGNALduino das Attribut "addvaltrigger" auf den Wert 1, damit auch DMSG und RAWMSG ins Log geschrieben werden und lädst nach der nächsten Benutzung des Sensors das Log vom Sensor hoch. Mit mehreren Nachrichten kommen wir vielleicht weiter..
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Invers am 08 August 2022, 16:52:19
Inzwischen habe ich auch so ein Thermometer. Signalduino auch (hatte ich schon).
wie muss ich denn das Thermometer definieren?
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: elektron-bbs am 08 August 2022, 17:05:07
Wenn du dieses Update

update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/temola_tm40/controls_signalduino.txt

durchgeführt hast, sollte es dir nach einem Neustart von FHEM und anschließender Aktivierung von Protokoll 122 eigentlich das Gerät per autocreate anlegen.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Invers am 08 August 2022, 17:11:55
Danke für die schnelle Antwort.
Muss ich Protokoll 122 per Whitelist freigeben?
Bei mir wurde nichts erkannt. Das Update und den Neustart hatte ich gemacht.

Vielleicht meine Firmware?

version
   
V 3.3.2.1-rc9 SIGNALduino cc1101 - compiled at Jun 16 2019 20:18:01
versionProtocols
   
1.46
versionmodul
   
3.5.4+20220614
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: elektron-bbs am 08 August 2022, 17:49:02
Zitat von: Invers am 08 August 2022, 17:11:55
Muss ich Protokoll 122 per Whitelist freigeben?

Ja

Zitat von: Invers am 08 August 2022, 17:11:55
Vielleicht meine Firmware?
version   V 3.3.2.1-rc9 SIGNALduino cc1101 - compiled at Jun 16 2019 20:18:01
versionProtocols   1.46
versionmodul   3.5.4+20220614

Die Firmware ist allerdings "steinalt" :-) Bitte Update durchführen. Aktuell ist diese:

   version    V 3.5.0 SIGNALduino cc1101 (chip CC1101) - compiled at Jul  8 2022 18:09:56
   versionProtocols 1.46
   versionmodul 3.5.4+20220614
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Invers am 08 August 2022, 19:25:58
Danke. Weist du zufällig, ob mit der anderen Firm meine Siro noch laufen?
falls nicht, hätte ich noch einen zwieiten SD, den ich nutzen könnte.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: elektron-bbs am 08 August 2022, 22:06:15
Das kann ich nicht beantworten. Probiere es einfach. Zur Not hast du ja sicher noch ein File der alten Firmware.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Invers am 08 August 2022, 22:14:32
OK, probier ich morgen. Vielen Dank für die Hilfe.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Invers am 08 August 2022, 22:41:13
Habs doch sofort probiert. Geht leider nicht.
Kannst du erkennen, woran das liegt?

2022.08.08 22:33:02.825 2: sduino: SD_WS_Parse unknown message, please report. converted to bits: 100100100110011111111110110100111111111011010011111111101101001100000001000011100101010101010000010000001000
2022.08.08 22:33:02.841 3: sduino: Unknown code W122#9267FED3FED3FED3010E5550408, help me!


nternals:
   Clients    :CUL_EM:CUL_FHTTK:CUL_TCM97001:CUL_TX:CUL_WS:Dooya:FHT:FLAMINGO:FS10:FS20: :Fernotron:Hideki:IT:KOPP_FC:LaCrosse:OREGON:PCA301:RFXX10REC:Revolt:SD_AS:SD_Rojaflex: :SD_BELL:SD_GT:SD_Keeloq:SD_RSL:SD_UT:SD_WS07:SD_WS09:SD_WS:SD_WS_Maverick:SOMFY: :Siro:SIGNALduino_un:
   DEF        /dev/serial/by-id/usb-SHK_SIGNALduino_433-if00-port0@57600
   DMSG       W122#9267FED3FED3FED3010E5550408
   DevState   initialized
   DeviceName /dev/serial/by-id/usb-SHK_SIGNALduino_433-if00-port0@57600
   FD         63
   FUUID      61e71e47-f33f-8098-ac1b-f4024a7c11293a54
   LASTDMSG   W122#9267FED3FED3FED3010E5550408
   LASTDMSGID 122
   MSGCNT     33
   NAME       sduino
   NR         475
   PARTIAL   
   RAWMSG     MU;P0=22624;P1=-1025;P2=1047;P3=4708;P4=-2984;P5=546;P6=-1531;P7=-550;D=01212121212121213456575756575756575756565757565656565656565656565756565756575756565656565656565657565657565757565656565656565656575656575657575656575757575757575657575757565656575756575657565756575657565757575757565757575757575621212121212121213456575756;CP=5;R=53;O;
   RSSI       -47.5
   STATE      opened
   TIME       1659990782.82275
   TYPE       SIGNALduino
   cc1101_available 1
   eventCount 40
   sendworking 0
   version    V 3.5.0 SIGNALduino cc1101 (chip CC1101) - compiled at Jul  8 2022 18:09:56
   versionProtocols 1.46
   versionmodul 3.5.4+20220614
   DoubleMsgIDs:
   MatchList:
     10:SD_WS07 ^P7#[A-Fa-f0-9]{6}[AFaf][A-Fa-f0-9]{2,3}
     11:SD_WS09 ^P9#F[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   ^Ys[0-9A-F]+
     16:SD_WS_Maverick ^P47#[A-Fa-f0-9]+
     17:SD_UT   ^P(?:14|20|24|26|29|30|34|46|56|68|69|76|78|81|83|86|90|91|91.1|92|93|95|97|99|104|105|114|118|121)#.*
     18:FLAMINGO ^P13\.?1?#[A-Fa-f0-9]+
     19:CUL_WS  ^K[A-Fa-f0-9]{5,}
     1:IT       ^i......
     20:Revolt  ^r[A-Fa-f0-9]{22}
     21:FS10    ^P61#[A-F0-9]+
     22:Siro    ^P72#[A-Fa-f0-9]+
     23:FHT     ^81..(04|09|0d)..(0909a001|83098301|c409c401)..
     24:FS20    ^81..(04|0c)..0101a001
     25:CUL_EM  ^E0.................
     26:Fernotron ^P82#.*
     27:SD_BELL ^P(?:15|32|41|42|57|79|96|98|112)#.*
     28:SD_Keeloq ^P(?:87|88)#.*
     29:SD_GT   ^P49#[A-Fa-f0-9]+
     2:CUL_TCM97001 ^s[A-Fa-f0-9]+
     30:LaCrosse ^(\S+\s+9 |OK\sWS\s)
     31:KOPP_FC ^kr\w{18,}
     32:PCA301  ^\S+\s+24
     33:SD_Rojaflex ^P109#[A-Fa-f0-9]+
     3:SD_RSL   ^P1#[A-Fa-f0-9]{8}
     4:OREGON   ^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*
     5:CUL_TX   ^TX..........
     6:SD_AS    ^P2#[A-Fa-f0-9]{7,8}
     7:Hideki   ^P12#75[A-F0-9]+
     9:CUL_FHTTK ^T[A-F0-9]{8}
     X:SIGNALduino_un ^[u]\d+#.*
   QUEUE:
   READINGS:
     2022-08-08 22:31:28   cc1101_config   Freq: 433.920 MHz, Bandwidth: 325 kHz, rAmpl: 42 dB, sens: 8 dB, DataRate: 5.60 kBaud
     2022-08-08 22:31:28   cc1101_config_ext Modulation: ASK/OOK
     2022-08-08 22:31:29   cc1101_patable  C3E = 00 84 00 00 00 00 00 00 => 5_dBm
     2022-08-08 22:38:27   ping            OK
     2022-08-08 22:31:26   state           opened
   additionalSets:
   keepalive:
     ok         0
     retry      0
   mcIdList:
   mnIdList:
   msIdList:
   muIdList:
     122
Attributes:
   devStateIcon signal.*:10px-kreis
   development 1
   flashCommand avrdude -c arduino -b [BAUDRATE] -P [PORT] -p atmega328p -vv -U flash:w:[HEXFILE] 2>[LOGFILE]*
   hardware   nanoCC1101
   room       Andere->CUL_HM
   whitelist_IDs 122
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Ralf9 am 09 August 2022, 00:15:26
Zitat2022.08.08 22:33:02.841 3: sduino: Unknown code W122#9267FED3FED3FED3010E5550408, help me!
Dies hat nichts mit der Firmware zu tun. Du verwendest eine Version des 14_SD_WS Moduls, in der die Protocol ID 122 nicht enthalten ist,
wenn ich es bei mir mit dem dummysduino simuliere, bekomme ich:
2022.08.08 23:53:30.059 4 : sduinoD/msg get dispatch: W122#9267FED3FED3FED3010E5550408
2022.08.08 23:53:30.059 5 : sduinoD: dispatch W122#9267FED3FED3FED3010E5550408
2022.08.08 23:53:30.059 4 : sduinoD: SD_WS_Parse protocol 122, rawData 9267FED3FED3FED3010E5550408
2022.08.08 23:53:30.059 4 : sduinoD: SD_WS_Parse decoded protocol-id 122 (TM40), sensor-id 9267
2022-08-08 23:53:30.064 SD_WS SD_WS_122_T T: 27
2022-08-08 23:53:30.064 SD_WS SD_WS_122_T temperature: 27
2022-08-08 23:53:30.064 SD_WS SD_WS_122_T id: 9267

Du hast demnach nur den ersten Temperaturfühler gesteckt.


ZitatDie Firmware ist allerdings "steinalt"
Die "V 3.3.2.1-rc9 SIGNALduino cc1101" ist meine aktuelle Version für diejenigen die kein FSK benötigen. In dieser Version sind alle mir bekannten Bugs behoben.

Gruß Ralf
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Invers am 09 August 2022, 09:39:40
Naja, ich bin ratlos. Erstmal danke ich für die Hilfe.
Mein fhem ist auf dem neuesten Stand. Ich habe aber trotzdem alle 14_SD_WS Module neu per Update eingespielt. Keine Änderung.
Wennb meine Version alt ist, wo bekomme ich denn eine neue Version her?

Die Meldungen kommen immernoch.
2022.08.09 09:31:23.216 2: sduino: SD_WS_Parse unknown message, please report. converted to bits: 100100100110011111111110110100111111111011010011000000010000010011111110110100110101010100000101100111101000
2022.08.09 09:31:23.225 3: sduino: Unknown code W122#9267FED3FED30104FED355059E8, help me!
2022.08.09 09:31:26.456 2: sduino: SD_WS_Parse unknown message, please report. converted to bits: 100100100110011111111110110100111111111011010011000000010000010011111110110100110101010100000101100111101000
2022.08.09 09:31:26.472 3: sduino: Unknown code W122#9267FED3FED30104FED355059E8, help me!
2022.08.09 09:31:29.690 2: sduino: SD_WS_Parse unknown message, please report. converted to bits: 100100100110011111111110110100111111111011010011000000010000010011111110110100110101010100000101100111101000
2022.08.09 09:31:29.705 3: sduino: Unknown code W122#9267FED3FED30104FED355059E8, help me!
2022.08.09 09:31:32.924 2: sduino: SD_WS_Parse unknown message, please report. converted to bits: 100100100110011111111110110100111111111011010011000000010000010011111110110100110101010100000101100111101000
2022.08.09 09:31:32.933 3: sduino: Unknown code W122#9267FED3FED30104FED355059E8, help me!


Hier noch ein List von SDuino

Internals:
   Clients    :CUL_EM:CUL_FHTTK:CUL_TCM97001:CUL_TX:CUL_WS:Dooya:FHT:FLAMINGO:FS10:FS20: :Fernotron:Hideki:IT:KOPP_FC:LaCrosse:OREGON:PCA301:RFXX10REC:Revolt:SD_AS:SD_Rojaflex: :SD_BELL:SD_GT:SD_Keeloq:SD_RSL:SD_UT:SD_WS07:SD_WS09:SD_WS:SD_WS_Maverick:SOMFY: :Siro:SIGNALduino_un:
   DEF        /dev/serial/by-id/usb-SHK_SIGNALduino_433-if00-port0@57600
   DMSG       W122#9267FED3FED30104FED355059E8
   DevState   initialized
   DeviceName /dev/serial/by-id/usb-SHK_SIGNALduino_433-if00-port0@57600
   FD         61
   FUUID      61e71e47-f33f-8098-ac1b-f4024a7c11293a54
   LASTDMSG   W122#9267FED3FED30104FED355059E8
   LASTDMSGID 122
   MSGCNT     98
   NAME       sduino
   NR         475
   PARTIAL   
   RAWMSG     MU;P0=23124;P1=-1032;P2=1039;P3=4714;P4=-2988;P5=524;P6=-1540;P7=-576;D=01212121212121213456575756575756575756565757565656565656565656565756565756575756565656565656565657565657565757565657575757575757565757575757565757565656565656565756565756575756565756575657565756575757575756575656575756565656575621212121212121213456575756;CP=5;R=35;O;
   RSSI       -56.5
   STATE      opened
   TIME       1660030540.36634
   TYPE       SIGNALduino
   cc1101_available 1
   eventCount 102
   sendworking 0
   version    V 3.5.0 SIGNALduino cc1101 (chip CC1101) - compiled at Jul  8 2022 18:09:56
   versionProtocols 1.46
   versionmodul 3.5.4+20220614
   DoubleMsgIDs:
   MatchList:
     10:SD_WS07 ^P7#[A-Fa-f0-9]{6}[AFaf][A-Fa-f0-9]{2,3}
     11:SD_WS09 ^P9#F[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   ^Ys[0-9A-F]+
     16:SD_WS_Maverick ^P47#[A-Fa-f0-9]+
     17:SD_UT   ^P(?:14|20|24|26|29|30|34|46|56|68|69|76|78|81|83|86|90|91|91.1|92|93|95|97|99|104|105|114|118|121)#.*
     18:FLAMINGO ^P13\.?1?#[A-Fa-f0-9]+
     19:CUL_WS  ^K[A-Fa-f0-9]{5,}
     1:IT       ^i......
     20:Revolt  ^r[A-Fa-f0-9]{22}
     21:FS10    ^P61#[A-F0-9]+
     22:Siro    ^P72#[A-Fa-f0-9]+
     23:FHT     ^81..(04|09|0d)..(0909a001|83098301|c409c401)..
     24:FS20    ^81..(04|0c)..0101a001
     25:CUL_EM  ^E0.................
     26:Fernotron ^P82#.*
     27:SD_BELL ^P(?:15|32|41|42|57|79|96|98|112)#.*
     28:SD_Keeloq ^P(?:87|88)#.*
     29:SD_GT   ^P49#[A-Fa-f0-9]+
     2:CUL_TCM97001 ^s[A-Fa-f0-9]+
     30:LaCrosse ^(\S+\s+9 |OK\sWS\s)
     31:KOPP_FC ^kr\w{18,}
     32:PCA301  ^\S+\s+24
     33:SD_Rojaflex ^P109#[A-Fa-f0-9]+
     3:SD_RSL   ^P1#[A-Fa-f0-9]{8}
     4:OREGON   ^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*
     5:CUL_TX   ^TX..........
     6:SD_AS    ^P2#[A-Fa-f0-9]{7,8}
     7:Hideki   ^P12#75[A-F0-9]+
     9:CUL_FHTTK ^T[A-F0-9]{8}
     X:SIGNALduino_un ^[u]\d+#.*
   QUEUE:
   READINGS:
     2022-08-09 09:30:26   cc1101_config   Freq: 433.920 MHz, Bandwidth: 325 kHz, rAmpl: 42 dB, sens: 8 dB, DataRate: 5.60 kBaud
     2022-08-09 09:30:26   cc1101_config_ext Modulation: ASK/OOK
     2022-08-09 09:30:28   cc1101_patable  C3E = 00 84 00 00 00 00 00 00 => 5_dBm
     2022-08-09 09:19:30   ping            OK
     2022-08-09 09:30:24   state           opened
   additionalSets:
   keepalive:
     ok         1
     retry      0
   mcIdList:
   mnIdList:
   msIdList:
   muIdList:
     122
Attributes:
Flashen mit dem Befehl
set sduino flash https://github.com/Ralf9/SIGNALDuino/releases/download/3.3.2.1-rc9/SIGNALduino_nanoCC1101_3321rc9.hex

   devStateIcon signal.*:10px-kreis
   development 1
   flashCommand avrdude -c arduino -b [BAUDRATE] -P [PORT] -p atmega328p -vv -U flash:w:[HEXFILE] 2>[LOGFILE]*
   hardware   nanoCC1101
   room       Andere->CUL_HM
   whitelist_IDs 122


und die Version von 14_SD_WS

File        Rev   Last Change

14_SD_WS.pm 25484 2022-01-17 20:50:12Z Sidey

HMdeviceTools.js           1003 2022-01-04 16:24:18Z frank
HMinfoTools.js             2009 2022-03-21 12:30:31Z frank
doif.js                    24438 2021-05-14 18:08:18Z Ellert
f18.js                     26271 2022-07-29 15:22:05Z rudolfkoenig
fhemweb.js                 26247 2022-07-19 11:18:01Z rudolfkoenig
fhemweb_readingsGroup.js   15189 2017-10-03 17:53:27Z justme1968



Falls meine Version falsch ist, kann mir jemand die richtige Version geben?

Danke nochmals im Voraus.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Ralf9 am 09 August 2022, 10:46:54
das Problem ist, bei dem update von elektron-bbs ist nicht die neuste Version des 14_SD_WS Moduls enthalten
update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/temola_tm40/controls_signalduino.txt
https://github.com/RFD-FHEM/RFFHEM/blob/temola_tm40/FHEM/14_SD_WS.pm

Du kannst auch meine Version des 14_SD_WS.pm Moduls verwenden:
update all https://raw.githubusercontent.com/Ralf9/14_SD_WS/main/controls_ralf9_sd_ws.txt
https://github.com/Ralf9/14_SD_WS/blob/main/FHEM/14_SD_WS.pm
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Invers am 09 August 2022, 10:55:52
Mit der Version des ersten Links geht es nicht. Update sagt nothing to do.
Mit dem 2. Link mit deiner Version funktioniert es.
Das ist alles sehr merkwürdig, aber egal, Haupsache es geht.

Nochmals vielen Dank für die erfolgreiche Hilfe. Ich freue mich.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: elektron-bbs am 09 August 2022, 18:02:19
Da hatte sich bei Github ein Fehler eingeschlichen, sollte jetzt wieder funktionieren.

Da Prof. Dr. Peter Henning scheinbar wenig Zeit, meine Bitte nochmal an dich:

Setzt du mal bitte bei deinem SIGNALduino das Attribut "addvaltrigger" auf den Wert 1, damit auch DMSG und RAWMSG ins Log geschrieben werden und lädst nach der nächsten Benutzung des Sensors das Log vom Sensor hoch. Mit mehreren Nachrichten kommen wir vielleicht weiter..
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Invers am 09 August 2022, 18:30:50
Mach ich. Klar.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Invers am 09 August 2022, 18:38:04
Hab ich gemacht, aber im fhem-LOG taucht nichts auf.
Den Sensor hatte ich etwa 1 Minute an.
Ich versuch nachher nochmal mit längerer Zeit.
EDIT
Noch immer kommen keine Daten im Log an.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: elektron-bbs am 09 August 2022, 20:33:43
Im FHEM-Log sollte auch nichts mehr auftauchen, wenn dann nur Fehlermeldungen.
Ich meine das Log vom Sensor (FileLog_SD_WS_122_T), das es dir eigentlich auch angelegt haben sollte.
Sieht dann z.B. bei mir so aus:

2022-08-09_17:52:00 SD_WS_122_T T: 36 T2: 32 T3: 31 T4: 31
2022-08-09_17:52:00 SD_WS_122_T temperature: 36
2022-08-09_17:52:00 SD_WS_122_T temperature2: 32
2022-08-09_17:52:00 SD_WS_122_T temperature3: 31
2022-08-09_17:52:00 SD_WS_122_T temperature4: 31
2022-08-09_17:52:00 SD_WS_122_T RSSI: -73
2022-08-09_17:52:00 SD_WS_122_T Protocol_ID: 122
2022-08-09_17:52:00 SD_WS_122_T RAWMSG: MU;P0=3412;P1=-1029;P2=1043;P3=4706;P4=-2986;P5=549;P6=-1510;P7=-562;D=01212121212121213456575756575756575756565757575656575757575757575657575656575656575757575757575756575756565756565757575757575757565756575757575757575757575757575657565657565757575757575757575757575757575757575756575656565757575621212121212121213456575756;CP=5;R=2;O;
2022-08-09_17:52:00 SD_WS_122_T DMSG: W122#926301360136014001680000B88
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Invers am 10 August 2022, 07:04:11
Sorry, blödes Missverständnis. LOL
Hier die Datei.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: elektron-bbs am 10 August 2022, 21:09:06
Vielen Dank für das Log. Allerdings komme ich damit auch nicht hinter das Prüfverfahren, welches wahrscheinlich im letzten Byte, vor der abschließenden 8 steckt. Im Log sind insgesamt nur 8 verschiedene Nachrichten:


9267FED3FED3FED3FED355558A8
9267FED3FED3FED3010E5550408
9267FED3FED3FED301185550348
9267FED3FED3FED301225550A88
9267FED3FED3FED3012C55507E8
9267FED3FED3FED301365550F68
9267FED3FED3FED301405550BE8
9267FED3FED3FED3010E5558208


Der Sensor überträgt ja offensichtlich auch einen Batteriezustand. Kannst du bitte mal mit einem Labornetzteil, fast leeren Batterien oder Akkus versuchen, den Zustand der Batteriewarnung zu erzeugen und die Nachrichten davon hier zu posten.

Negative Temperaturen gibt es ja bei dem Teil wahrscheinlich nicht?
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Invers am 11 August 2022, 07:27:10
OK, warte 1-2 Tage, ich mache Akkus leer und probiere mal rum.
Ich werde dir auch dann ein längeres Log schicken.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Invers am 11 August 2022, 10:37:52
Glück gehabt, leere Batterien gefunden.
Datei im Anhang.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: elektron-bbs am 11 August 2022, 17:55:46
Wenn der Ablauf folgendermaßen war:

2022-08-10_11:28:44 SD_WS_122_T DMSG: W122#9267FED3FED3FED301B85550708
2022-08-11_10:13:59 SD_WS_122_T DMSG: W122#9267FED3FED3FED3FED355558A8 - Neustart, alte Ident 9267, kein Sensor angeschlossen
2022-08-11_10:14:40 SD_WS_122_T DMSG: W122#9267FED3FED3FED3FED355558A8
2022-08-11_10:14:57 SD_WS_122_T DMSG: W122#92ACFED3FED3FED3FED355D57E8 - Neustart, neue Ident 92AC, kein Sensor angeschlossen, Batterie leer
2022-08-11_10:17:32 SD_WS_122_T DMSG: W122#92ACFED3FED3FED3FED355D57E8
2022-08-11_10:17:33 SD_WS_122_T DMSG: W122#92ACFED3FED3FED3010455D0368 - Sensor 1 angeschlossen 26 °C, Batterie leer
2022-08-11_10:17:38 SD_WS_122_T DMSG: W122#92ACFED3FED3FED3010E55D0B48 - Sensor 1 angeschlossen 27 °C, Batterie leer
2022-08-11_10:18:09 SD_WS_122_T DMSG: W122#92ACFED3FED3FED3011855D0C08 - Sensor 1 angeschlossen 28 °C, Batterie leer

dann müsste wahrscheinlich die leere Batterie mit 0xD anstelle 0x5 signalisiert werden.

Könntest du bitte die Aktion nochmal mit 4 angeschlossenen Sensoren durchführen?
Wenn die Theorie stimmt, dann sollte aus 0x55D0 dann 0x0080 werden.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Invers am 12 August 2022, 13:43:04
OK, Nachschub.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Prof. Dr. Peter Henning am 12 August 2022, 15:34:27
ZitatPeter Henning scheinbar wenig Zeit
Amen, Bruder, Amen. Ich ersaufe in Arbeit für die DELFI-Konferenz, und nächste Woche bekommen wir eine neue Küche.

Allerdings ist der Auftrag mit den Batterien und einem Labornetzteil überschaubar

Ich schau mal, ob ich Daten produzieren kann.

LG

pah

Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: elektron-bbs am 12 August 2022, 20:44:34
Meine Vermutung hat sich bestätigt:

2022-08-12_09:22:47 SD_WS_122_T DMSG: W122#92AD0104010E010E010400804A8

Allerdings kam dann auch mal eine Nachricht mit 0x0088:

2022-08-12_12:07:57 SD_WS_122_T DMSG: W122#92AD010E010E010E010E0088CC8

Gibt es nur ein Batteriesymbol, entweder an oder aus, oder etwa eine Balkenanzeige, so das verschiedene Zustände angezeigt werden können?
Leider finde ich nirgends eine Bedienungsanleitung zu dem Teil.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Invers am 13 August 2022, 07:16:11
Ich hänge hier mal ein Bild an.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Prof. Dr. Peter Henning am 13 August 2022, 18:13:51
OK, also hier mal Input.

1. Setzen des Attributs addvaltrigger im SDuino bewirkt - gar nichts. Keine Ausgabe von extra Messages.

2. Also habe ich mal eine gepatchte Version von 1_SD_WS.pm gebaut und zusätzliche Readings mit den Status erzeugt.

- Die Status-Nibble haben den Wert 0101, wenn kein Sensor angeschlossen ist. Wird als äquivalent zu LLL = low temperature betrachtet.
- 0000 => Sensor angeschlossen und ok.

- Wenn ich jetzt am Sender die Versorgungsspannung herunterdrehe, blinkt ab etwa 2,4 V das "TX low bat"-Symbol im Empfänger. So, und jetzt kommts: Dann geht das Status-Nibble von Sensor Nr. 2 (und nur das) auf den Wert 1000 (bzw. 1101, wenn der Sensor abgezogen wird)

Unterhalb von 1,9 V piept der Empfänger, keine Funktion der Sensoren mehr. Wiederherstellung der Spannungsversorgung => Piepen hört auf.

Ich werde gleich nochmal nachlegen und den Zustand "Übertemperatur" erzeugen.

LG

pah
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: elektron-bbs am 13 August 2022, 18:25:55
Zitat von: Prof. Dr. Peter Henning am 13 August 2022, 18:13:51
Unterhalb von 1,9 V piept der Empfänger, keine Funktion der Sensoren mehr. Wiederherstellung der Spannungsversorgung => Piepen hört auf.

Setzt da der Sensor aus, d.h. auch im FHEM kein Empfang mehr, oder wird evtl. ein anderes Bit gesetzt?
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Prof. Dr. Peter Henning am 13 August 2022, 18:36:43
Letzteres, Sensor setzt aus. Also nur "Battery OK", "Battery Low" oder "Tot".

Übertemperaturwarnung kommt übrigens nur im Empfänger, Sender misst brav weiter bis 120 °C, dann hab eich sicherheitshalber aufgehört.

Achja: die letzten 8 Bit wie immer wild schwankend. Irgendein CRC Code mit Message Number?

Ich habe jedenfalls im Modul jetzt ersetzt bei Protokoll 122
# TM40, Wireless Grill-, Meat-, Roasting-Thermometer with 4 Temperature Sensors
        # -----------------------------------------------------------------------------
        # 0    4    | 8    12   | 16   20   | 24   28   | 32   36   | 40   44   | 48   52   | 56   60   | 64   68   | 72   76   | 80   84   | 88   92   | 96   100  | 104
    # 1001 0010 | 0110 0011 | 0000 0001 | 0011 0110 | 0000 0001 | 0011 0110 | 0000 0001 | 0100 0000 | 0000 0001 | 0110 1000 | 0000 0000 | 0000 0000 | 1011 1000 | 1000
        # iiii iiii | iiii iiii | 4444 4444 | 4444 4444 | 3333 3333 | 3333 3333 | 2222 2222 | 2222 2222 | tttt tttt | tttt tttt | S4 S3     | S2 S1     | CCCC CCCC | 1
        # i: 16 bit id => 9263 in example device
        # 4: 16 bit unsigned 10x temperature 4 in Celsius
        # 3: 16 bit unsigned 10x temperature 3 in Celsius
        # 2: 16 bit unsigned 10x temperature 2 in Celsius
        # t: 16 bit unsigned 10x temperature 1 in Celsius
        # s: 16 bit flags denoting sensor status S. 5 = not connected or low temp, 0 = connected
        #    if battery low, highest bit of S2 will go to one 
        # C: 8 bit check???, changes in every message.
        sensortype => 'TM40',
        model      => 'SD_WS_122_T',
        prematch   => sub { return 1; }, # no precheck known
        id         => sub { my ($rawData,undef) = @_; return substr($rawData,0,4); },
        bat        => sub {my (undef,$bitData) = @_;
                            return substr($bitData,88,1) eq "0" ? "ok" : "low";
                          },
        temp4      => sub { my (undef,$bitData) = @_;
                            return "NC" if (substr($bitData,80,4) eq '0101');
                            return SD_WS_binaryToNumber($bitData,16,31) / 10;
                          },
        temp3      => sub { my (undef,$bitData) = @_;
                            return "NC" if (substr($bitData,84,4) eq '0101');
                            return SD_WS_binaryToNumber($bitData,32,47) / 10;
                          },
        temp2      => sub { my (undef,$bitData) = @_;
                            return "NC" if (substr($bitData,89,3) eq '101');
                            return SD_WS_binaryToNumber($bitData,48,63) / 10;
                          },
        temp       => sub { my (undef,$bitData) = @_;
                            return "NC" if (substr($bitData,92,4) eq '0101');
                            return SD_WS_binaryToNumber($bitData,64,79) / 10;


Das "NC" ist eigentlich sehr hilfreich, weil es darauf hinweist, dass hier der Sensor fehlt, kollidiert aber noch mit einer Abfrage weiter unten, weil dort ein nummerischer Wert für die Temperatur angenommen wird. Vorschlag: Das so ins offizielle Modul übernehmen, und unten den Test auf nummerischen Temperaturwert irgendwie umgehen.

LG

pah
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: elektron-bbs am 14 August 2022, 13:55:58
Zitat von: Prof. Dr. Peter Henning am 13 August 2022, 18:36:43
Achja: die letzten 8 Bit wie immer wild schwankend. Irgendein CRC Code mit Message Number?
Wahrscheinlich. Ich bin aber noch nicht dahinter gestiegen. Auffällig ist, das das niederwertigste Bit immer 0 ist. Es ändern sich immer nur max. 7 Bit.

Zitat
Ich habe jedenfalls im Modul jetzt ersetzt bei Protokoll 122

        # s: 16 bit flags denoting sensor status S. 5 = not connected or low temp, 0 = connected

Welche Messwerte liefert FHEM bei "low temp"? Negative Temperaturen zeigt das Teil ja wahrscheinlich nicht an. Welchen Messbereich erfasst das Teil eigentlich?

Zitat
Das "NC" ist eigentlich sehr hilfreich, weil es darauf hinweist, dass hier der Sensor fehlt, kollidiert aber noch mit einer Abfrage weiter unten, weil dort ein nummerischer Wert für die Temperatur angenommen wird. Vorschlag: Das so ins offizielle Modul übernehmen, und unten den Test auf nummerischen Temperaturwert irgendwie umgehen.
So richtig gefällt mir das nicht. Das kollidiert im Modul nicht nur einmal und dürfte auch in anderen Auswertungen zu Konflikten führen, wenn da keine numerischen Werte erscheinen.

Wahrscheinlich habe ich noch ein weiteres Bit deuten können:

2022-08-09_18:50:15 SD_WS_122_T DMSG: W122#9267FED3FED3FED301405550BE8 - erste Nachricht
2022-08-09_19:50:08 SD_WS_122_T DMSG: W122#9267FED3FED3FED3010E5550408
2022-08-09_19:50:11 SD_WS_122_T DMSG: W122#9267FED3FED3FED3010E5550408
2022-08-09_19:50:14 SD_WS_122_T DMSG: W122#9267FED3FED3FED3010E5558208 - auto power off nach 60 min
2022-08-09_20:04:27 SD_WS_122_T DMSG: W122#9267FED3FED3FED3010E5550408 - Neustart

2022-08-12_09:21:19 SD_WS_122_T DMSG: W122#92ADFED3FED3FED3FED355D5A88 - Start mit leeren Batterien
2022-08-12_10:21:13 SD_WS_122_T DMSG: W122#92AD010E010E010E010E0080AC8
2022-08-12_10:21:16 SD_WS_122_T DMSG: W122#92AD010E010E010E010E0080AC8
2022-08-12_10:21:18 SD_WS_122_T DMSG: W122#92AD010E010E010E010E0088CC8 - auto power off nach 60 min
2022-08-12_11:07:58 SD_WS_122_T DMSG: W122#92AD010E010E010E010E0080AC8 - Neustart

2022-08-12_11:07:58 SD_WS_122_T DMSG: W122#92AD010E010E010E010E0080AC8 - erste Nachricht
2022-08-12_12:07:53 SD_WS_122_T DMSG: W122#92AD010E010E010E010E0080AC8
2022-08-12_12:07:56 SD_WS_122_T DMSG: W122#92AD010E010E010E010E0080AC8
2022-08-12_12:07:57 SD_WS_122_T DMSG: W122#92AD010E010E010E010E0088CC8 - auto power off nach 60 min
2022-08-12_13:29:38 SD_WS_122_T DMSG: W122#926DFED3FED3FED3FED355554A8 - Neustart

Es wird dann offensichtlich Bit 3 vom Status-Nibble Sensor 1 gesetzt. Die Frage wäre jetzt, ob das auch der Fall ist, wenn man den Transmitter manuell ausschaltet.

Lädst du mal bitte noch das Log vom Sensor hoch?

EDIT:
Branch wurde aktualisiert, neues Reading batteryState ok | low, transmitter on | off
update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/temola_tm40/controls_signalduino.txt
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Prof. Dr. Peter Henning am 14 August 2022, 15:37:22
Zitatdürfte auch in anderen Auswertungen zu Konflikten führen, wenn da keine numerischen Werte erscheinen
Na ja. Das muss natürlich in der "Auswertung" abgefangen werden - aber ein falscher Temperaturwert nutzt auch niemandem etwas.

ZitatLädst du mal bitte noch das Log vom Sensor hoch?
Würd ich ja gerne. Aber wie schon geschrieben: Das Setzen von addvaltrigger hat keinerlei zusätzliche Logeinträge erzeugt.

LG

pah

Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: elektron-bbs am 14 August 2022, 16:27:29
Zitat von: Prof. Dr. Peter Henning am 14 August 2022, 15:37:22
Na ja. Das muss natürlich in der "Auswertung" abgefangen werden - aber ein falscher Temperaturwert nutzt auch niemandem etwas.
Falsche Temperaturwerte gibt es bei meiner Variante auch nicht, nur veraltete, state ist eindeutig:

   READINGS:
     2022-08-14 13:57:50   MSGCNTLAST10MIN 0
     2022-08-14 13:57:50   batteryState    ok
     2022-08-14 13:57:50   model           SD_WS_122_T
     2022-08-14 13:57:50   state           T: 51
     2022-08-14 13:57:50   temperature     51
     2022-08-14 13:05:59   temperature2    27
     2022-08-14 13:05:59   temperature3    27
     2022-08-14 13:05:59   temperature4    27
     2022-08-14 13:07:47   transmitter     on
     2022-08-11 16:46:52   type            TM40


Zitat von: Prof. Dr. Peter Henning am 14 August 2022, 15:37:22
Würd ich ja gerne. Aber wie schon geschrieben: Das Setzen von addvaltrigger hat keinerlei zusätzliche Logeinträge erzeugt.
Mhmm, du hast keine Einträge wie RSSI, RAWMSG und DMSG in dem Log vom Sensor? Hast du irgendwelche Filter für das Filelog gesetzt?
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: elektron-bbs am 31 Oktober 2022, 17:01:19
Wir würden das Protokoll jetzt gerne in den Master-Branch übernehmen.
Spricht irgendetwas dagegen?
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Invers am 08 März 2023, 07:59:35
Hat schon jemand eine Bedienung/Auswertung für das Grillthermometer programmiert? Falls ja, wäre eine Veröffentlichung möglich? Ich hab schon versucht, aber dann vorerst aufgegeben.
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Prof. Dr. Peter Henning am 08 März 2023, 09:26:22
ZitatHat schon jemand eine Bedienung/Auswertung für das Grillthermometer programmiert?

Klar.

Bedienung ist einfach: Man steckt die Thermometerspieße an der richtigen Stelle ins Fleisch. Vorsicht bei Drehspießen, hier muss man entweder alle 10 Umdrehungen die Richtung wechseln oder ein Verlängerungskabel bestellen.

Auswertung ist komplizierter: Wünsche der Gäste abfragen (z.B. "Medium"), in der Tabelle nachschlagen, welcher Kerntemperatur das entspricht. Anzeige beobachten und bei dieser Temperatur das Ding vom Grill. In FHEM: mit einem DOIF alle 60 Sekunden die gemessene Temperatur abfragen und durch ein TTS-Modul ansagen lassen. Das ermöglicht, dass man sich um die Gäste kümmert und den Grill in Ruhe lässt.

Weitere Bedienungen/Auswertungen sind m.E. vollkommen obsolet, weil man auch solche Dinge wie fehlende Sensoren oder leere Batterien spätestens bemerkt, wenn man das Ding einsetzen will.

LG

pah
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Invers am 08 März 2023, 17:45:27
Ja, danke.
Ich hatte schon einige Grillthermometer, daher ist mir die Bedienung geläufig.
Mir schwebte eigentlich so etwas vor, wie z.B. Auswahl der Fleischsorte und des Gargrades per Listenfeld, oder der Zieltemperatur. Für alle 4 Sensoren (bei Bedarf). Danach die Anzeige / Meldung, wenn Zieltemperatur erreicht ist, möglichst akustisch und per Push oder Mail.
Der mitgelieferte Funkempfänger wäre dann überflüssig.

Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Prof. Dr. Peter Henning am 09 März 2023, 05:31:48
Das macht schon etwas mehr Sinn.

Allerdings würde ich das aus Gründen der Gastfreundschaft entweder per Tablet-UI oder per ChatBot realisieren.

Tablet-UI: Separate Buttons für Fleischsorte, Gewicht oder Dicke, Gargrad => heraus kommt Kerntemperatur => Button "Einstellen" => erzeugt ein "Überwachungs-DOIF"

ChatBot: Dialog, der die o.a. Parameter abfragt => Kerntemperatur wird genannt => "Soll ich das einstellen?" => Ja => erzeugt DOIF

LG

pah
Titel: Antw:Grillthermometer, z.B. Inkbird oder Maverick ??
Beitrag von: Invers am 09 März 2023, 06:55:18
Naja, alles schön und gut, aber das war ja nicht die Frage. Meine Frage lautete ja, ob das schon jemand programmiert hat und dieses Programm dann hier veröffentlichen würde.
Trotzdem vielen Dank.