# HM-WDS40-TH-I-RTC-BME280

Temperatursensor Bosch BME280 an der HMSensor.

Die HMSensor Platine wird mit 32kHz Oszillator bestückt um entsprechend exakte Timings zu erreichen womit eine Direktverknüpfung mit einem HM-CC-RT-DN Heizkörperthermostat möglich wird.

BME280 an HMSensor

# Aufbau

# HMSensor

Auf der HMSensor Platine kann die grüne LED D2 inkl. Vorwiderstand R3 unbestückt bleiben da diese keine Verwendung finden.

# Anschluss des BME280

Hier wird das I2C Breakout des BME280 verwendet. Um Strom zu sparen wird der LDO entfernt.

BME280 I2C ohne LDO

Anschluss:

HMSensor BME280
VCC VIN
GND GND
A5 SCL I2C Takt
A4 SDA I2C Daten

# Sketch

Zuerst sollte man über FreqTest die optimale CC1101 Frequenz ermittelen.

Als Sketch kommt HM-WDS40-TH-I.ino (opens new window) zum Einsatz. Über verschiedene #define Direktiven können die entsprechenden Einstellungen gesetzt werden, je nach Sensor-Typ und RTC. Ist ein 32kHz Quarz verbaut sowie der BME280 sind folgende Direktiven einzukommentieren:

// === Choose one Temperture/Humidity sensor ===
#define SENSOR_BME280
//#define SENSOR_DHT22
//#define SENSOR_SHT10
//#define SENSOR_SHT31
//#define SENSOR_SI7021

// === Define the clock ===
// Remove comment if you have an external oscillator like a 32kHz crystal
// Necessary for exact timings if you want to pair with a HM-CC-RT-DN
#define USE_RTC

// === Battery measurement ===
#define BAT_VOLT_LOW        20
#define BAT_VOLT_CRITICAL   13
// Internal measuring: AVR voltage
//#define BAT_SENSOR BatterySensor
// External measuring: Potential devider on GPIO; required if a StepUp converter is used
// one can consider lower thresholds (low=20; cri=13) 
#define BAT_SENSOR BatterySensorUni<17,7,3000> // <SensPIN, ActivationPIN, RefVcc>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Wie immer dran denken die Serial und ID zu ändern.

Zusätzlich zu den üblichen Bibliotheken (AskSinPP, EnableInterrupt, Low-Power) benötigt man noch die Lib für den BME280 (opens new window). Allerdings hatte ich hier noch einen Fehler beim kompilieren (opens new window) weshalb ich die BME280Spi*.o Dateien gelöscht habe.

TIP

Will man wissen ob die Direktverknüpfung mit dem Heizkörperthermostat funktioniert legt man den Sensor kurzerhand in den Kühlschrank. Die CCU sollte nach ein paar Minuten die Temperatur vom WDS40 beim HM-CC-RT-DN anzeigen und das Ventil sollte öffnen.

Beispiel Debugausgabe wenn alles funktioniert hat:

# Initialisierung
AskSin++ V4.1.1 (Nov 18 2019 16:52:06)
Address Space: 32 - 73
CC init1
CC Version: 04
 - ready
# CC1101 Frequenzanpassung, ermittelt durch FreqTest
Config Freq: 0x2165CA
# Spannungsmessung der Batterie in mV. (iVcc wäre eine interne Messung und unbrauchbar bei StepUp Wandlern)
eVcc: 1720
ID: 345679  Serial: papa111111
Measure...
T: 234  H: 35
<- 0C 01 84 70 345679 000000 80 EA 23  - 352
149.500 # Next send slot
Measure...
T: 234  H: 35
<- 0C 02 84 70 345679 000000 80 EA 23  - 413
135.0
Measure...
T: 232  H: 36
<- 0C 03 84 70 345679 000000 80 E8 24  - 475
120.500
Measure...
T: 231  H: 35
<- 0C 04 84 70 345679 000000 80 E7 23  - 534
170.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27