Funkthermometer LaCrosse

tx29-dth-it-seegel
TX35-DTH Funktemperatursensoren

Das TX29-IT, TX35DHT-IT und TX62TH-IT sind kostengünstige Funkthermo- (und Hygro-) meter, welche ihre Daten ca. alle 5 s über Funk (868 Mhz) übertragen. Sie werden jeweils in verschiedenen Ausführungen hergestellt, ein “D” nach der Zahl bedeutet meist dass der Sensor ein Display hat, das “H” heißt das der Sensor mit einem Hygrometer ausgestattet ist. Der TX62 Sensor hat eine Solarzelle eingebaut die den eingebauten Akku nachläd.

Eine Übersicht mit verschiedenen Funksensoren, den Frequenzbereichen und den passenden Wetterstationen gibt es hier.

Parameter der Funkübertragung

  • Mittenfrequenz 868,30 MHz
  • Modulation: FSK
  • Frequenzhub: +/- 30 kHz
  • Datenrate: 17.241 bit/s oder 9.579 bit/s
  • Synchronwort 0x2DD4

Modelle

Die folgenden Modelle lassen sich mit dem RaspyRFM Modul empfangen und dekodieren:

ModellAusstattungDatenrate
TX35-IT31Cq8cP5zdL._AA160_Therm., LCD9,579 kbit/s
TX35DTH-IT31sGEmf7ULL._AA160_Therm., Hygro., LCD9,579 kbit/s
TX29-IT313GRQON6TL._SL500_SS115_ Therm.17,241 kbit/s

Die Parameter wurden durch Analyse der Kommunikation zwischen CPU und Funkmodul (ein RFM02 oder Derivat) in einem Gerät eruiert.

Datenprotokoll

Ein Datenpaket besteht aus 5 Bytes, welche folgende Bedeutung haben:

Nibble 0Anzahl der folgenden Nibbles
Nibble 1-2Bit 7-2: Sensor ID; Bit 1 ist einige Stunden nach Batteriewechsel immer gesetzt, dann immer gelöscht
Nibble 3Temperatur / 10 °C, -4 (Wert 0 = -40 °C)
Nibble 4Temperatur / 1 °C
Nibble 5Temperatur / 0,1 °C
Nibble 6-7Höchstes Bit: Batterie leer; Rest: Relative Luftfeuchtigkeit, 0x6A ohne Hygrometer
Nibble 8-9CRC (Generatorplonom x8 + x5 + x4 + 1)

Messwerte über MQTT zur Verfügung stellen

Das mitgelieferte Skript 868gw.py leitet die empfangen Messwerte an einen MQTT Broker weiter um diese z. B. in Homeassistant, FHEM, oder anderen zur verfügung stehen. Bei Sensoren mit Feuchtigkeitsfühler werden vom Skript zusätzlich der Taupunkt, absolute Luftfeuchtigkeit, Dampfdruck und TF80/TF60 Temperaturen ermittelt.

mosquitto_sub -h 127.0.0.1 -p 1883 -t 'home/lacrosse/#' -v
home/lacrosse/70 {"DEW80": 14.3, "DEW60": 18.9, "batlo": false, "AH": 9.6, "DD": 13.070202919327633, "afc": 0, "SDD": 25.62784886142673, "init": false, "T": 21.5, "rssi": -69, "DEW": 10.9, "RH": 51, "id": "70"}
home/lacrosse/f8 {"DEW80": 10.3, "DEW60": 14.7, "batlo": false, "AH": 7.6, "DD": 10.029154084708837, "afc": 0, "SDD": 15.670553257357557, "init": false, "T": 13.7, "rssi": -88, "DEW": 7.0, "RH": 64, "id": "f8"}
home/lacrosse/88 {"DEW80": 14.1, "DEW60": 18.6, "batlo": false, "AH": 9.5, "DD": 12.845193426216316, "afc": 0, "SDD": 24.70229505041599, "init": false, "T": 20.9, "rssi": -83, "DEW": 10.7, "RH": 52, "id": "88"}
home/lacrosse/74 {"DEW80": 7.4, "DEW60": 11.6, "batlo": false, "AH": 6.3, "DD": 8.212288183101137, "afc": 0, "SDD": 13.035378068414502, "init": false, "T": 10.9, "rssi": -47, "DEW": 4.1, "RH": 63, "id": "74"}

Datenübermittlung zum emoncms

Mit dem zum RaspyRFM mitgelieferten Script emoncms.py können die empfangenen Temperatur- und Feuchtigkeitsdaten direkt an das emoncms von Open Energy Monitor übermittelt werden. Dazu müssen im Script nur der API-Key und die IDs der Sensoren verknüft werden.