Selbstbau HM_WDS10_TH_O mit Luftdruckmessung

Begonnen von trilu, 23 Februar 2014, 12:23:22

Vorheriges Thema - Nächstes Thema

ext23

Moin,

mein Sensor ist heute ausgestiegen, ich nehme mal an, weil die Batterien alle sind. Die letzte Meldung war aber:
Universalsensor_Balkon:batVoltage 2.30 2017-05-30 13:25:49
Universalsensor_Balkon:battery ok 2017-05-30 13:25:49


Firmware ist die 0.14 laut Readings.

Hat das jemand mal getestet wie weit die Batteriespannung sinken darf bis das Teil aussteigt?

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

ext23

Die Batterien sind übrigens komplett leer, also die 2,3V können nicht stimmen.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

kadettilac89

Hi Dirk,

ich habe am Wochenende etwas mit der NewAskSin-Version getestet. Mir ist aufgefallen, dass Batterie-Status immer Low war obwohl die Spannung über Schwellwert war.

Du hast (vermutlich versehentlich) Variable shadowing gemacht.

Superclass BAT (\libraries\NewAskSin\as_battery.h) hat in Zeile 19 Member "uint8_t   measure_value;"

Selbe Member var. hast du in deiner Ableitung BATTERY (.\as_battery.h) in Zeile 22 redefiniert "uint8_t measure_value;".

In Methode BATTERY->do_measure() weist du dann einen Wert dem Member BATTERY->measure_value zu. Später prüft Methode BAT->get_status den Wert von BAT->measure_value der aber immer 0 ist (da ja das Attribut der Ableitung aber nicht der Superklasse gesetzt wurde).

Wenn das Member in der redefinierten Klasse entfernt wird, wird immer die Variable der Superklasse gesetzt und gelesen. Habe es bei mir so gelöst.

Solltest du irgendwann eine neue Version einchecken, könntest du das ggf. mit abändern.

Hoffe dass es verständlich war. 

RoBra81

Zitat von: b4rRa am 30 Mai 2017, 16:23:31
Habe die ersten Seiten mal etwas überflogen. Gibts diesen Sensor noch irgendwo fertig zu kaufen oder einen Bausatz?
Würde mich auch interessieren...

Gesendet von meinem SM-G935F mit Tapatalk


cactus-online

Zitat von: Pfriemler am 02 November 2016, 16:36:44
Feuchte und Temperatur kommen vom SHT. Der BMP180 ist nur noch für den Luftdruck zuständig.

Wie ist Deine Erfahrung in Bezug auf die Kalibrierung ? Der SHT misst bei mir ca. 0,6 Grad mehr als der BMP180. Da ich das als CCU-Nutzer nicht korrigieren kann nervt das total.

cactus-online

Wer kann mir einen Tip geben, wo ich eine Korrektur(möglichkeit) unterbringen könnte? Ich habe mir die FW-Quellen angesehen und muss leider feststellen, dass ich ohne Hilfe hier nicht weiterkomme. Meine Arduino-"Programmierkenntnise" reichen dafür leider nicht aus. Ich könnte damit leben, dass ich mir für jeden Sensor eine eigne FW bastele, die die jeweilige Abweichung kompensiert. Ideal wäre es natürlich, wenn man wie in Bezug auf die Luftdruckkorrektur wie beim  HB-UW-Sen-THPL bzw. in Bezug auf die Temperaturkorrektur beim HmIP-STHD, das in der UI der CCU einstellen könnte.

kadettilac89

Zitat von: cactus-online am 10 Juli 2017, 12:26:15
Wie ist Deine Erfahrung in Bezug auf die Kalibrierung ? Der SHT misst bei mir ca. 0,6 Grad mehr als der BMP180. Da ich das als CCU-Nutzer nicht korrigieren kann nervt das total.

Und welcher Sensor ist korrekt, hast du einen Vergleich? Meine Erfahrung mit ähnlichen Sensoren ist, dass Bosch BME280 fast 1 Grad zu hoch liefert und meine SHT33 sehr genau.

Auf deine andere Frage zurück zu kommen ... welchen Sourcecode verwendest du, die 0.* basierend auf alter Asksin, oder Version 1.0 die auf NewAsksin läuft?

bei der alten würde ich es hier irgendwo einbauen ...
Sensor_SHT10_BMP085_TSL2561.cpp

void SHT10_BMP085_TSL2561::poll_measureTHP(void) {
// Disable I2C
TWCR = 0;

uint16_t rawData;
uint8_t shtError = sht10->measTemp(&rawData);

// Measure temperature and humidity from Sensor only if no error
if (!shtError) {
float temp = sht10->calcTemp(rawData);
tTemp = temp * 10;

sht10->measHumi(&rawData);
tHum = sht10->calcHumi(rawData, temp);
// Serial << F("raw: ") << rawData << F("  mH: ") << tHum << (F("\n");
}

if (bm180 != NULL) { // only if we have a valid module
bm180->begin(BMP085_ULTRAHIGHRES); // BMP085_ULTRALOWPOWER, BMP085_STANDARD, BMP085_HIGHRES, BMP085_ULTRAHIGHRES

// simple barometric formula
tPres = (uint16_t)((bm180->readPressure() / 10) + (tAltitude / 0.85));
//Serial << F("tPres: ") << tPres << F("\n");

if (tPres > 300) {
// get temperature from bmp180 if sht10 no present
if (shtError) {
// temp from BMP180
tTemp = bm180->readTemperature() * 10;
}
} else {
tPres = 0;
}
}


In NewAsksin sind in cmSensor.cpp ähnliche Stellen an denen eine Variable wie tTemp gefüllt wird.

Wenn dein BMP180 die Temperatur korrekt misst, kannst auch den Sourcecode dahingehend ändern und diesen Wert setzen lassen. Sourcecode ist gut lesbar. Entsprechende Klassen habe ich dir genannt.



cactus-online

OK, vielen Dank ! ich schaue mal, ob ich damit etwas anfangen kann.

Referenz für die Messung sind verschiedene HM_WDS10_TH_O, die alle verschieden messen, sowie ältere (abzulösende) Temperatursensoren, sowie ein etwa 5 m entfernter Kombisensor HM-WDS-OC3 (der zu den "amtlichen Meßwerten" in der Regel dichter dran ist, als die HM_WDS10_TH_O) Sensoren.

C0mmanda

Zitat von: b4rRa am 30 Mai 2017, 16:23:31
Habe die ersten Seiten mal etwas überflogen. Gibts diesen Sensor noch irgendwo fertig zu kaufen oder einen Bausatz?

Mich würde es ebenso interessieren...

grtz
Cmda

PeMue

#2334
Hallo,

Zitat von: kadettilac89 am 20 Juli 2017, 12:22:27
Auf deine andere Frage zurück zu kommen ... welchen Sourcecode verwendest du, die 0.* basierend auf alter Asksin, oder Version 1.0 die auf NewAsksin läuft?
wo finde ich denn die v1.0 mit der NewAsksin? Bei papa auf github? Ansonsten finde ich hier https://github.com/kc-GitHub/Wettersensor nur bis v0.15.

Danke + Gruß

PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

kadettilac89

Zitat von: PeMue am 22 Juli 2017, 05:12:13
Hallo,
wo finde ich denn die v1.0 mit der NewAsksin? Bei papa auf github? Ansonsten finde ich hier https://github.com/kc-GitHub/Wettersensor nur bis v0.15.

Danke + Gruß

PeMue

Schalte auf Branch "Firmware_newAsksin" um. Du suchts im "master" branch

PeMue

Hallo,

Zitat von: kadettilac89 am 22 Juli 2017, 08:35:10
Schalte auf Branch "Firmware_newAsksin" um. Du suchts im "master" branch
das ist dann das hier:
https://github.com/kc-GitHub/Wettersensor/tree/Firmware_newAsksin ?
Gibt es das auch in compiliert, oder muss ich das selber machen? Ich gestehe, ich stehe etwas auf Kreigsfuß mit der Arduino IDE  ;D ;D ;D

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

kadettilac89

Zitat von: PeMue am 22 Juli 2017, 16:34:08
Hallo,
das ist dann das hier:
https://github.com/kc-GitHub/Wettersensor/tree/Firmware_newAsksin ?
Gibt es das auch in compiliert, oder muss ich das selber machen? Ich gestehe, ich stehe etwas auf Kreigsfuß mit der Arduino IDE  ;D ;D ;D

Gruß PeMue

Ich denke die Version ist noch nicht voll einsatzbereit. Zumindest habe ich den Eindruck dass der Batterieverbrauch höher ist. Ich habe es als Basis für meine Sensoren verwendet, habe aber andere Temp-Sensoren verbaut und dadurch auch etliches angepasst. Damit helfen dir meine Hex-Files nicht, sonst hätte ich sie dir gegeben.

Wenn du den Sensor wie im Schema im Einsatz hast, wird es besser sein die 0.15 zu verwenden da die V1.0 keine Neurungen hat, nur die neue Asksin. Ansonsten .... https://forum.fhem.de/index.php/topic,20620.msg645146.html#msg645146 ... das hat mich etwas Zeit gekostet.


Gernott

Mal 'ne Frage: Ließe sich mit dem Universalsensor auch ein Feinstaubsensor SDS011 in Homematic integrieren? Hat jemand schon mal so etwas versucht?

Gruß
G.

kadettilac89

#2339
Zitat von: Gernott am 27 Juli 2017, 22:03:24
Mal 'ne Frage: Ließe sich mit dem Universalsensor auch ein Feinstaubsensor SDS011 in Homematic integrieren? Hat jemand schon mal so etwas versucht?

Aktuell so nicht vorgesehen. Habe zumindest noch nichts darüber gelesen dass es in Homematic ginge.

Option 1: Wenn du einen der bestehenden Kanäle, z. B. Helligkeit nicht benötigst diesen missbrauchen und die Werte darüber schicken. Ist ne Quck'n'Dirty Lösung aber funktioniert

Option 2: Zusätzliche Cannel für Feinstaub einbauen

Option 3: ... es gibt Bastelprojekte für Feinstaub ... Aufwand ist hier wahrscheinlich geringer auch wenn du dafür noch zusätzliche Hardware brauchst ... https://forum.fhem.de/index.php/topic,66674.0.html

Bei 1) + 2) musst du erstmal selber an der Firmware Hand anlegen

Der Sensor für Feinstaub braucht 5V wenn ich mich nicht irre, d. h. du brauchst einen zusätzlichen Level-shifter ... Batterieverbrauch hier wahrscheinlich das Kriterium das du als erstes prüfen solltest.