mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-09 20:57:11 +00:00
14_SD_WS.pm: protocol 27 / new sensor EFS-3110A
git-svn-id: https://svn.fhem.de/fhem/trunk@22841 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
7360809da4
commit
f33c9ef26c
@ -1,5 +1,7 @@
|
||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
||||
# Do not insert empty lines here, update check depends on it.
|
||||
|
||||
- feature: 14_SD_WS: protocol 27 / new sensor EFS-3110A
|
||||
- feature: 93_DbRep: sqlCmd supports PREPARE statement, Forum: #114293
|
||||
- bugfix: 70_BOTVAC: fix processing of set for preferences
|
||||
- feature: 59_Twilight: remove dependencies to global lon/lat settings;
|
||||
|
@ -26,6 +26,7 @@
|
||||
# 29.12.2019 neues Protokoll 27: Temperatur-/Feuchtigkeitssensor EuroChron EFTH-800
|
||||
# 09.02.2020 neues Protokoll 54: Regenmesser TFA Drop
|
||||
# 22.02.2020 Protokoll 58: neuer Sensor TFA 30.3228.02, FT007T Thermometer Sensor
|
||||
# 25.08.2020 Protokoll 27: neuer Sensor EFS-3110A
|
||||
|
||||
package main;
|
||||
|
||||
@ -187,8 +188,8 @@ sub SD_WS_Parse($$)
|
||||
},
|
||||
27 =>
|
||||
{
|
||||
# Protokollbeschreibung: Temperatur-/Feuchtigkeitssensor EuroChron EFTH-800
|
||||
# -----------------------------------------------------------------------------------
|
||||
# Protokollbeschreibung: Temperatur-/Feuchtigkeitssensor EuroChron EFTH-800, EFS-3110A
|
||||
# ------------------------------------------------------------------------------------
|
||||
# 0 4 | 8 12 | 16 20 | 24 28 | 32 36 | 40 44
|
||||
# 0000 1001 | 0001 0110 | 0001 0000 | 0000 0000 | 0100 1001 | 0100 0000
|
||||
# ?ccc iiii | iiii iiii | bstt tttt | tttt ???? | hhhh hhhh | xxxx xxxx
|
||||
@ -199,11 +200,12 @@ sub SD_WS_Parse($$)
|
||||
# t: 10 bit unsigned temperature, scaled by 10
|
||||
# h: 8 bit relative humidity percentage (BCD)
|
||||
# x: 8 bit CRC8
|
||||
# ?: unknown (Bit 0, 28-31 always 0 ???)
|
||||
# ?: unknown (Bit 0, 28-31, always 0000 by EFTH-800, 1000 by EFS-3110A)
|
||||
# The sensor sends two messages at intervals of about 57-58 seconds
|
||||
sensortype => 'EFTH-800',
|
||||
sensortype => 'EFTH-800, EFS-3110A',
|
||||
model => 'SD_WS_27_TH',
|
||||
prematch => sub {my $rawData = shift; return 1 if ($rawData =~ /^[0-9A-F]{7}0[0-9]{2}[0-9A-F]{2}$/); }, # prematch 113C49A 0 47 AE
|
||||
# prematch => sub {my $rawData = shift; return 1 if ($rawData =~ /^[0-9A-F]{7}0[0-9]{2}[0-9A-F]{2}$/); }, # prematch 113C49A 0 47 AE (EFTH-800)
|
||||
prematch => sub {my $rawData = shift; return 1 if ($rawData =~ /^[0-9A-F]{7}0|8[0-9]{2}[0-9A-F]{2}$/); }, # prematch 3F94519 8 55 C7 (EFS-3110A)
|
||||
channel => sub {my (undef,$bitData) = @_; return (SD_WS_binaryToNumber($bitData,1,3) + 1 ); },
|
||||
id => sub {my (undef,$bitData) = @_; return substr($rawData,1,3); },
|
||||
bat => sub {my (undef,$bitData) = @_; return substr($bitData,16,1) eq "0" ? "ok" : "low";},
|
||||
@ -1217,7 +1219,7 @@ sub SD_WS_WH2SHIFT($){
|
||||
<li>Bresser 7009994</li>
|
||||
<li>BresserTemeo</li>
|
||||
<li>Conrad S522</li>
|
||||
<li>EuroChron EFTH-800 (temperature and humidity sensor)</li>
|
||||
<li>EuroChron EFTH-800, EFS-3110A (temperature and humidity sensor)</li>
|
||||
<li>NC-3911, NC-3912 refrigerator thermometer</li>
|
||||
<li>Opus XT300</li>
|
||||
<li>PV-8644 infactory Poolthermometer</li>
|
||||
@ -1320,7 +1322,7 @@ sub SD_WS_WH2SHIFT($){
|
||||
<li>Bresser 7009994</li>
|
||||
<li>BresserTemeo</li>
|
||||
<li>Conrad S522</li>
|
||||
<li>EuroChron EFTH-800 (Temperatur- und Feuchtigkeitssensor)</li>
|
||||
<li>EuroChron EFTH-800, EFS-3110A (Temperatur- und Feuchtigkeitssensor)</li>
|
||||
<li>NC-3911, NC-3912 digitales Kuehl- und Gefrierschrank-Thermometer</li>
|
||||
<li>Opus XT300</li>
|
||||
<li>PV-8644 infactory Poolthermometer</li>
|
||||
|
@ -69,7 +69,7 @@ package lib::SD_ProtocolData;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
our $VERSION = '1.20';
|
||||
our $VERSION = '1.21';
|
||||
our %protocols = (
|
||||
"0" => ## various weather sensors (500 | 9100)
|
||||
# Mebus | Id:237 Ch:1 T: 1.9 Bat:low MS;P0=-9298;P1=495;P2=-1980;P3=-4239;D=1012121312131313121313121312121212121212131212131312131212;CP=1;SP=0;R=223;O;m2;
|
||||
@ -409,7 +409,7 @@ package lib::SD_ProtocolData;
|
||||
# MU;P0=-96;P1=800;P2=-985;P3=485;P4=1421;P5=-8608;D=0123232323232323242324232324242324232324242324242324232323242324242323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242324242424232323235;CP=4;R=0;
|
||||
{
|
||||
name => 'weather',
|
||||
comment => 'Weatherstation WH1080, WH3080, CTW600',
|
||||
comment => 'Weatherstation WH1080, WH3080, WH5300SE, CTW600',
|
||||
id => '9',
|
||||
knownFreqs => '433.92 | 868.35',
|
||||
zero => [3,-2],
|
||||
@ -820,17 +820,18 @@ package lib::SD_ProtocolData;
|
||||
length_min => '40',
|
||||
length_max => '40',
|
||||
},
|
||||
"27" => ## Temperatur-/Feuchtigkeitssensor EuroChron EFTH-800 (433 MHz)
|
||||
"27" => ## Temperatur-/Feuchtigkeitssensor EuroChron EFTH-800 (433 MHz) - https://github.com/RFD-FHEM/RFFHEM/issues/739
|
||||
# SD_WS_27_TH_2 - T: 15.5 H: 48 - MU;P0=-224;P1=258;P2=-487;P3=505;P4=-4884;P5=743;P6=-718;D=0121212301212303030301212123012123012123030123030121212121230121230121212121212121230301214565656561212123012121230121230303030121212301212301212303012303012121212123012123012121212121212123030121;CP=1;R=53;
|
||||
# SD_WS_27_TH_3 - T: 3.8 H: 76 - MU;P0=-241;P1=251;P2=-470;P3=500;P4=-4868;P5=743;P6=-718;D=012121212303030123012301212123012121212301212303012121212121230303012303012123030303012123014565656561212301212121230303012301230121212301212121230121230301212121212123030301230301212303030301212301;CP=1;R=23;
|
||||
# SD_WS_27_TH_3 - T: 5.3 H: 75 - MU;P0=-240;P1=253;P2=-487;P3=489;P4=-4860;P5=746;P6=-725;D=012121212303030123012301212123012121212303012301230121212121230303012301230303012303030301214565656561212301212121230303012301230121212301212121230301230123012121212123030301230123030301230303030121;CP=1;R=19;
|
||||
# Eurochron Zusatzsensor fuer EFS-3110A - https://github.com/RFD-FHEM/RFFHEM/issues/889
|
||||
# short pulse of 244 us followed by a 488 us gap is a 0 bit
|
||||
# long pulse of 488 us followed by a 244 us gap is a 1 bit
|
||||
# sync preamble of pulse, gap, 732 us each, repeated 4 times
|
||||
# sensor sends two messages at intervals of about 57-58 seconds
|
||||
{
|
||||
name => 'EFTH-800',
|
||||
comment => 'EuroChron weatherstation EFTH-800',
|
||||
comment => 'EuroChron weatherstation EFTH-800, EFS-3110A',
|
||||
id => '27',
|
||||
knownFreqs => '433.92',
|
||||
one => [2,-1],
|
||||
@ -2677,6 +2678,29 @@ package lib::SD_ProtocolData;
|
||||
length_min => '16',
|
||||
length_max => '16',
|
||||
},
|
||||
"105" => # Remote control BF-301 from Shenzhen BOFU Mechanic & Electronic Co., Ltd.
|
||||
# Protocol description found on https://github.com/akirjavainen/markisol/blob/master/Markisol.ino
|
||||
# original remotes repeat 8 (multi) or 10 (single) times by default
|
||||
# https://github.com/RFD-FHEM/RFFHEM/issues/861 stsirakidis 2020-06-27
|
||||
# BF_301_FAD0 down MU;P0=-697;P1=5629;P2=291;P3=3952;P4=-2459;P5=1644;P6=-298;P7=689;D=34567676767676207620767620762020202076202020762020207620202020207676762076202020767614567676767676207620767620762020202076202020762020207620202020207676762076202020767614567676767676207620767620762020202076202020762020207620202020207676762076202020767614;CP=2;R=41;O;
|
||||
# BF_301_FAD0 stop MU;P0=5630;P1=3968;P2=-2458;P3=1642;P4=-285;P5=690;P6=282;P7=-704;D=12345454545454675467545467546767676754676767546754675467676767675454546754676767675402345454545454675467545467546767676754676767546754675467676767675454546754676767675402345454545454675467545467546767676754676767546754675467676767675454546754676767675402;CP=6;R=47;O;
|
||||
# BF_301_FAD0 up MU;P0=-500;P1=5553;P2=-2462;P3=1644;P4=-299;P5=679;P6=298;P7=-687;D=01234545454545467546754546754676767675467676767675454546767676767545454675467546767671234545454545467546754546754676767675467676767675454546767676767545454675467546767671234545454545467546754546754676767675467676767675454546767676767545454675467546767671;CP=6;R=48;O;
|
||||
{
|
||||
name => 'BF-301',
|
||||
comment => 'Remote control',
|
||||
id => '105',
|
||||
knownFreqs => '433.92',
|
||||
one => [2,-1], # 660,-330
|
||||
zero => [1,-2], # 330,-660
|
||||
start => [17,-7,5,-1], # 5610,-2310,1650,-330
|
||||
clockabs => 330,
|
||||
format => 'twostate',
|
||||
clientmodule => 'SD_UT',
|
||||
modulematch => '^P105#',
|
||||
preamble => 'P105#',
|
||||
length_min => '40',
|
||||
length_max => '40',
|
||||
},
|
||||
########################################################################
|
||||
#### ### old information from incomplete implemented protocols #### ####
|
||||
|
||||
@ -2713,4 +2737,4 @@ package lib::SD_ProtocolData;
|
||||
sub getProtocolList {
|
||||
return \%protocols;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user