Hallo Zusammen ich habe einen
Mebus Sensor der von Autocreate angelernt wird.
Laut RTL_433 kann der den Kanal die Temp Hum Batt und od übermitteln
Manual
https://cdn-reichelt.de/documents/datenblatt/X100/40283FU-WETT.pdf
Modell Number HQ7312-2
art Nr 40283TX
Protocol definition
https://github.com/merbanan/rtl_433/blob/master/src/devices/nexus.c
###################################
The data is grouped in 9 nibbles:
[id0] [id1] [flags] [temp0] [temp1] [temp2] [const] [humi0] [humi1]
The 8-bit id changes when the battery is changed in the sensor.
flags are 4 bits B 0 C C, where B is the battery status: 1=OK, 0=LOW
and CC is the channel: 0=CH1, 1=CH2, 2=CH3
temp is 12 bit signed scaled by 10
const is always 1111 (0x0F)
humidity is 8 bits
The sensors can be bought at Clas Ohlsen (Nexus) and Pearl (infactory/FreeTec).
*/
##################################################
Autocreate result#############
AURIOL_77 | T: 24.5
CODE | CUL_TCM97001_77
DEF | CUL_TCM97001_77
FUUID | 615d80da-f33f-5fa0-ffa9-b88881df0b9af4d6
LASTInputDev | sdESP
MSGCNT | 40
NAME | AURIOL_77
NR | 706
STATE | T: 24.5
TYPE | CUL_TCM97001
lastH | 0
lastT | 1633520867
sdESP_DMSG | s4DA0F5F0A000
sdESP_MSGCNT | 40
sdESP_Protocol_ID | 0
sdESP_RAWMSG | MS;P0=-2128;P1=320;P5=-1159;P6=-4084;D=16151015151010151010151015151515151010101015101510101010101515151510151015;CP=1;SP=6;R=66;O;m2;
sdESP_RSSI | -41
sdESP_TIME | 2021-10-06 13:47:47
Autocreate result#############
Defintion auriol######
# Implementation from Femduino
# AURIOL (Lidl Version: 09/2013)
# /--------------------------------- Channel, changes after every battery change
# / / ------------------------ Battery state 1 == Ok
# / / /------------------------ Battery changed, Sync startet
# / / / ----------------------- Unknown
# / / / / /--------------------- neg Temp: if 1 then temp = temp - 4096
# / / / / /---------------------- 12 Bit Temperature
# / / / / / /---------- ??? CRC
# / / / / / / /---- Trend 10 == rising, 01 == falling
# 0101 0101 1 0 00 0001 0000 1011 1100 01 00
# Bit
Defintion auriol######
Definition######## NC_WS
Als Model"W044_9"
kann Hum angezeit werden.
Als Model Auriol kann die Temp angezeigt werden.
Wenn ich mir die Modelle in 14_CUL_tcm97001 angucke fehlt der Sensor aber.
###################################
The data is grouped in 9 nibbles:
[id0] [id1] [flags] [temp0] [temp1] [temp2] [const] [humi0] [humi1]
The 8-bit id changes when the battery is changed in the sensor.
flags are 4 bits B 0 C C, where B is the battery status: 1=OK, 0=LOW
and CC is the channel: 0=CH1, 1=CH2, 2=CH3
temp is 12 bit signed scaled by 10
const is always 1111 (0x0F)
humidity is 8 bits
The sensors can be bought at Clas Ohlsen (Nexus) and Pearl (infactory/FreeTec).
*/
##################################################
Autocreate result#############
AURIOL_77 | T: 24.5
CODE | CUL_TCM97001_77
DEF | CUL_TCM97001_77
FUUID | 615d80da-f33f-5fa0-ffa9-b88881df0b9af4d6
LASTInputDev | sdESP
MSGCNT | 40
NAME | AURIOL_77
NR | 706
STATE | T: 24.5
TYPE | CUL_TCM97001
lastH | 0
lastT | 1633520867
sdESP_DMSG | s4DA0F5F0A000
sdESP_MSGCNT | 40
sdESP_Protocol_ID | 0
sdESP_RAWMSG | MS;P0=-2128;P1=320;P5=-1159;P6=-4084;D=16151015151010151010151015151515151010101015101510101010101515151510151015;CP=1;SP=6;R=66;O;m2;
sdESP_RSSI | -41
sdESP_TIME | 2021-10-06 13:47:47
Autocreate result#############
Ja, da ist im CUL_TCM97001 ein neues Model notwendig
Dies müsste hier am besten reinpassen
https://github.com/Ralf9/14_CUL_TCM97001/blob/5b4c2b6ae4958070da3fb4a434e367e34bddbf2e/fhem/FHEM/14_CUL_TCM97001.pm#L1698
if ($readedModel eq "Mebus7312" || (hex($a[6]) == 0xF && $readedModel eq "Unknown")) {
#
# 0 4 8 12 16 20 24 28 32
# iiii iiii b0cc tttt tttt tttt 1111 hhhh hhhh
# i = ID
# s = sendmode (1=manual, 0=auto)
# b = battery indicator (1=low, 0=ok)
# c = channel
# t = Temperature
# h = humidity
if($def) {
$name = $def->{NAME};
}
$temp = hex($a[3].$a[4].$a[5]);
if ($temp >= 3840) {
$temp -= 4096;
}
$temp /= 10;
$humidity = hex($a[7].$a[8]);
if (checkValues($hash,"Mebus7312", $temp, $humidity)) {
$channel = ((hex($a[2])) & 0x3) + 1;
$batbit = (hex($a[2]) & 0x8) >> 3;
$model="Mebus7312";
if (!defined($modules{CUL_TCM97001}{defptr}{$idType1}))
{
if ( $enableLongIDs == TRUE || (($longids ne "0") && ($longids eq "1" || $longids eq "ALL" || (",$longids," =~ m/,$model,/))))
{
$deviceCode="CUL_TCM97001_".$idType1;
Log3 $hash,4, "$iodev: CUL_TCM97001 using longid: $longids model: $model, deviceCode: $deviceCode"; # deviceCode nur zum debuggen
} else {
$deviceCode="CUL_TCM97001_" . $model . "_" . $channel;
}
} else { # Fallback for already defined devices use old naming convention
$deviceCode=$idType1;
}
$def = $modules{CUL_TCM97001}{defptr}{$deviceCode};
if($def) {
$name = $def->{NAME};
}
if(!$def) {
Log3 $name, 2, "$iodev: CUL_TCM97001 Unknown device $deviceCode model:$model msg:s$msg, please define it";
return "UNDEFINED $model" . substr($deviceCode, rindex($deviceCode,"_")) . " CUL_TCM97001 $deviceCode";
}
if ($humidity > 0) {
$hashumidity = TRUE;
}
$hasbatcheck = TRUE;
$haschannel = TRUE;
#$hastrend = TRUE;
$packageOK = TRUE;
#$hasmode = TRUE;
$readedModel=$model;
} else {
$name = $nameUnknown;
}
}
Ob die Formel für die Temperatur so passt habe ich noch nicht überprüft.
Die Hum von 10 ist aber sehr niedrig, wo hats bei Dir so eine niedrige Luftfeuchtigkeit.
Wenn Du die Taste Reset drückst, ändert sich dann bei der gesendeten Nachricht ein Flag?