Ich bin gerade von FHEMduino auf SIGNALduino umgestiegen (ich weiß, damit bin ich spät dran :-)
Seitdem haben alle meine fünf LogiLink WS0002 Temperatursensoren battery/batteryState low.
Die Batterien sind aber frisch und haben eine Spannung von 3,1V
Mit dem FHEMduino passte die Anzeige.
Kann es sein, dass die Auswertung noch nicht korrekt ist?
Hier ein list von einem Device:
Internals:
AlternativeDEFcode CUL_TCM97001_5_156
CODE CUL_TCM97001_89
DEF CUL_TCM97001_89
FUUID 5c432751-f33f-a4cf-59eb-34d8764c9e888179
IODev sd
LASTInputDev sd
MSGCNT 20
NAME ku_Kuehlschranktemp
NR 391
STATE T: 19.5 H: 53 D: 9.8 B: low
TYPE CUL_TCM97001
lastH 0
lastT 1609956103.60375
sd_DMSG s59C90C335000
sd_MSGCNT 20
sd_Protocol_ID 0
sd_RAWMSG MS;P2=484;P3=-1949;P5=-3913;P6=-9226;D=26232523252523232525252323252323252323232325252323232325252323252523252325;CP=2;SP=6;R=6;O;m2;
sd_RSSI -71
sd_TIME 2021-01-06 19:01:43
READINGS:
2021-01-06 18:51:30 battery low
2021-01-06 18:51:30 batteryState low
2021-01-06 18:51:30 channel 2
2021-01-06 19:01:08 dewpoint 9.8
2021-01-06 19:01:43 humidity 53
2021-01-06 18:51:30 mode normal
2021-01-06 19:01:08 statHumidityDay Min: 0 Avg: 55 Max: 64
2021-01-06 19:01:08 statHumidityMonth Min: 0 Avg: 56 Max: 64
2021-01-06 19:01:08 statHumidityYear Min: 0 Avg: 56 Max: 64
2021-01-06 18:59:59 statTemperatureTendency 1h: +12.5 2h: +12.5 3h: +12.5 6h: +12.5
2021-01-06 19:01:43 state T: 19.5 H: 53
2021-01-06 19:01:43 temperature 19.5
helper:
_98_statistics stat_Messwerte
Attributes:
IODev sd
alias Kühlschrank
event-min-interval .*:300
event-on-change-reading temperature:1
group Messwerte
icon temp_frost
model NC_WS
room Küche,Messwerte
stateFormat T: temperature H: humidity D: dewpoint B: battery
verbose 3
PEARL NC7159, LogiLink WS0002 wurde vom FHEMduino übernommen
if ($readedModel eq "NC_WS" || (hex($a[0]) == 0x5 && $readedModel eq "Unknown")) {
# Implementation from Femduino
# Protocol prologue start everytime with 0101
# PEARL NC7159, LogiLink WS0002
# /--------------------------------- Sensdortype
# / / ---------------------------- ID, changes after every battery change
# / / /--------------------- Battery state 0 == Ok
# / / / / ------------------ forced send
# / / / / / ---------------- Channel (0..2)
# / / / / / / -------------- neg Temp: if 1 then temp = temp - 2048
# / / / / / / / ----------- Temp
# / / / / / / / /-- unknown
# / / / / / / / / / Humidity
# 0101 0010 1001 0 0 00 0 010 0011 0000 1 101 1101
# Bit 0 4 12 13 14 16 17 28 29 36
Zitatsd_DMSG s59C90C335000
Hier ist Battery=1 (Bit3 von 9)
Passt das forced send und Channel?
Was ergibt sich bei fast leerer Battery?
Gruß Ralf
In 14_FHEMduino_pm passt aber der Code nicht zum Kommentar:
$bat = int(substr($bitsequence,12,1)) eq "1" ? "ok" : "critical";
vs.
# / / /--------------------- Battery state 0 == Ok
Und der Code scheint mir hier richtig und der Kommentar falsch zu sein.
Das Batbit passt zum PEARL NC7159, da wird das Batbit negiert.
Es hat sich bis jetzt noch niemand gemeldet, daß beim NC7159 das Batbit nicht passt.
Es gibt das Attribut "negation-batt" damit wird das Batbit negiert.
Danke für den Hinweis negation-batt, das ist die Lösung.