Selbstbau HM_WDS10_TH_O mit Luftdruckmessung

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

Vorheriges Thema - Nächstes Thema

betateilchen

Das ist nix wirklich dringendes. Aber ich hätte dann endlich eine vernünftige Möglichkeit, die Temperaturen meiner beiden Wasserbettmatratzen zu überwachen. Ich habe nämlich den Verdacht, dass die zugehörigen Heizungen viel zu ungenau arbeiten. Und da kam mir nun die Idee...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

PeMue

Ich würde einen AD594 davorschalten. Wenn ich das noch richtig weiß, sollte man auch schauen, dass die Referenzpotentiale auf gleicher Temperatur sind. Ich mach mir mal ein paar Gedanken für eine Aufsteckplatine, ich glaube Lochraster ist da zu wenig ...

Gruß Peter
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

Dirk

#272
Ich habe hier mal die Version 0.3 der Firmware angehängt.
Änderungen:


  • Es werden jetzt keine "sinnlosen Daten" mehr geschickt wenn entsprechende Sensoren nicht vorhanden sind.
  • Die Batteriespannungsmessung geht nun über den Spannungsteiler und nicht mehr über die interne Messung. Dadurch wird nun auch die Spannung richtig gemessen wenn der MAX bestückt ist.
  • Die Batteriespannung wird in 2 Bytes nach der Helligkeit mit übertragen. Das ist derzeit aber eher zum debugen gedacht.
  • Die Helligkeitsmessung ist optimiert. Je nach Umgebungshelligkeit schaltet der Sensor die Empfindlichkeit entsprechend um. Dennoch kann man bei direkter Sonneneinstrahlung keine sinnvollen Werte messen. Die Sonne ist hier einfach zu hell. Aktuell mache ich versuche mit verschiedenen Filtern. Der Einfachste "Filter" währ z.B. ein Blatt Papier im Deckel des Außensensorgehäuse. Eine Umrechnung des gemessenen Helligkeitswertes könnte man dann in FHEM vornehmen.

Mit dabei ist das Flash-Tool.
Damit kann man die Firmware auch ohne installierte IDE vornehmen.
Außerdem kann man beim Flashen angeben welche HM-ID und welche Seriennummer der Sensor bekommen soll.
Dafür ist kein Neukompilieren der Firmware mehr erforderlich.

Das Flash-Tool existiert derzeit nur für Windows. Da hier aber "nur" weit verbreitete Tools und ein bisschen Shell-Programmierung eingesetzt werden, kann man das recht einfach auf andere Plattformen portieren.

Die Nutzung des Flash-Tools sieht dann so aus:
Das Zip in ein Verzeichniss der Wahl entpacken und ins Verzeichnis wechseln


flash.bat <COMX> <hexfile> [<HM-ID> <Serial>]

COMX ist der benutzte COM-Port vom USB-UART-Adapter
hexfile ist das zu flashende Hex-File
Bei der HM-ID wird die 3 Byte grosse HM-ID eingegeben: XX:XX:XX
Die Serial ist die 10-Stellige Seriennummer.

Ohne Angabe von HM-ID und Serial werden die Daten aus dem Flashfile benutzt.

Gruß
Dirk

Update:
Anhang gelöscht.
die letzte Version ist hier:
http://forum.fhem.de/index.php/topic,20620.msg157410.html#msg157410

hexenmeister

Hallo Dirk,

danke, habe gerade die neue Version geflasht.
Werde beobachten, wie's läuft.
Ist das Problem mit dem 'Aufhängen' noch vorhanden?
FlashTool erleichtert die Sache schon wesentlich.


Das FlashTool hat zwei kleine 'Unschärfen':
- im ZIP fehlt die libiconv2.dll, wahrscheinlich bei Dir im globalen Path.
- das Aufräumen klappt nicht ganz. Script beschwert sich über fehlende Befehle 'mv' und 'rm'. Klingt irgendwie sehr nach Linux ;)

Ansonsten - sehr cool!  8)

Grüße,

Alexander

hexenmeister

Erste Beobachtung:
Lichtstärke soll laut Sensor bei 0,09Lx liegen. Der Sensor liegt offen auf dem Tisch, Deckenlampe ist an.
Mein eigenes Messgerät ist aber der Meinung, es ist 32Lx. Ich sehe das auch so ;)

Die 0.2er Version war in diesem Punkt genauer.

Grüße,

Alexander

Dirk

#275
Zitatdas Aufräumen klappt nicht ganz. Script beschwert sich über fehlende Befehle 'mv' und 'rm'. Klingt irgendwie sehr nach Linux
Windows XP?

Unter Windows 7 gibts auch cp und mv.
Ich hab's geändert.
die fehlende dll ist auch mit dabei.

ZitatIst das Problem mit dem 'Aufhängen' noch vorhanden?
Ich hoffe nicht.
Ich hab das Problem aber noch nicht genau gefunden.
Alkuell führe ich einen Reset nach ca. 8 Stunden durch.
Das ist zwar ziemlich "dreckig" Aber bis die Ursache gefunden ist, sollte das hoffentlich helfen.

ZitatLichtstärke soll laut Sensor bei 0,09Lx liegen. Der Sensor liegt offen auf dem Tisch, Deckenlampe ist an.
Hier ist mir noch ein Bug reingerutscht.
Schau mal wir sich 0.4 bei dir verhält.

Gruß
Dirk

Update:
Anhang gelöscht.
die letzte Version ist hier:
http://forum.fhem.de/index.php/topic,20620.msg157410.html#msg157410

hexenmeister

ZitatWindows XP?

Nö, Win 7 Pro 64 SP1. Meiner kennt keine mv und rm.

Script funktionierte sofort :)

Die Lux-Anzeige ist leider unverändert. Wenn ich Sensor direkt auf die Lampe richte (ca. 2m Entfernung), werden 0,18Lx angezeigt (Messgerät 45Lx).


betateilchen

jetzt muss ich nur noch rausfinden, wo an der Platine die Anschlüsse für die Spannungsversorgung sind  8)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dirk

Zitat von: hexenmeister am 06 April 2014, 22:22:55
Die Lux-Anzeige ist leider unverändert. Wenn ich Sensor direkt auf die Lampe richte (ca. 2m Entfernung), werden 0,18Lx angezeigt (Messgerät 45Lx).
Ich guck mir das heute Abend nochmal an.
Vermutlich klappt da was mit der Empfindlichkeitsumschaltung noch nicht.

Zitat von: betateilchen am 07 April 2014, 17:03:07
jetzt muss ich nur noch rausfinden, wo an der Platine die Anschlüsse für die Spannungsversorgung sind  8)
Ja, die Doku ist noch nicht fertig. Ist aber in Arbeit.
Die Schaltpläne von hier, sind aber korrekt:
http://forum.fhem.de/index.php/topic,20620.msg144693.html#msg144693

Die Platine des Außensensors ist auf Seite 2 im PDF beschrieben.
Die Beschriftung ist hier leider nicht ganz so gut zu lesen.
Battery + ist das Pad links neben C11
Battery - ist das Pad darunter.

Gruß
Dirk


betateilchen

Die Anschlussbelegung für die Spannung hab ich gefunden, danke. Der Sensor liefert auch schon brav Daten:

state T: 25.5 H: 163 AP: 1005

Ich nehme an, dass AP noch nicht auf NN bezogen ist und ich das noch selbst berechnen muss?

Wie interpretiere ich den Wert von H? Eigentlich interessiert mich ja nur der Luftdruck :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Wieso funktionieren eigentlich userReadings bei dem für den Sensor angelegten Device nicht?
Ich wollte ein userReading für den berechneten pressure-nn anlegen - aber das Anlegen wird nicht getriggert.

userReadings   pressure-nn { relDruck(ReadingsVal("out_Pressure","airpress",1000)) }
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

hexenmeister

Als ich heute Hause kam, hing der Sensor leider wieder.
Reboot alle 8 Stunden als Notmaßnahme scheint nicht immer zu greifen.  :(


Dirk

Zitat von: betateilchen am 07 April 2014, 19:55:08
Wieso funktionieren eigentlich userReadings bei dem für den Sensor angelegten Device nicht?
FHEM behandelt den Sensor aktuell genau so wie einen HM_WDS10_TH_O.
Vielleicht kann da Martin was zu sagen wenn er ab und zu mitliest?

Zitat von: hexenmeister am 07 April 2014, 21:08:11
Als ich heute Hause kam, hing der Sensor leider wieder.
Reboot alle 8 Stunden als Notmaßnahme scheint nicht immer zu greifen.  :(
Das habe ich auch festgestellt.
Ich lasse grade einen Langzeittest laufen.
Aktuell sende ich alle 5 Sek. Daten. In diesem Modus hing sich der Sensor sonst immer innerhalb von 1-2 Std. auf.
Jetzt bin ich auch bereits bei über 8 Stunden. Ohne Reset. Mal sehen wie es morgen aussieht.

betateilchen

Zitat von: Dirk am 07 April 2014, 21:35:04
FHEM behandelt den Sensor aktuell genau so wie einen HM_WDS10_TH_O.
Vielleicht kann da Martin was zu sagen wenn er ab und zu mitliest?

martin nicht, es ist kein Homematic Problem (obwohl es schön wäre, wenn pressure-nn direkt bereitgestellt würde, aber das ist ein anderes Thema)

Aber vielleicht kann Rudi bei Gelegenheit erklären, warum userReadings mit einem Bindestrich im Namen nicht funktionieren 8)

http://forum.fhem.de/index.php/topic,22291.0.html
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

martinp876

wie im entsprechenden Thread erklärt ist ein "-" ein wort-trenner, genauso wie blank, Punkt oder Komma. Diese Zeichen in einem String solle man vermeiden, zumindest, wenn es einen Namen oder ein Wort ergeben soll.
Sie Unsitte sogar Blanks in Namen (filenamen,... ) zuzulassen erzeugt einfach immer nur Schwierigkeiten.
Der übliche Abstandshalter ist der underscore - das ist ein wort-trenner
Das ist kein HM und auch kein FHEM -Problem, das sind allgemeine regexp Regeln.