Selbstbau HM_WDS10_TH_O mit Luftdruckmessung

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

Vorheriges Thema - Nächstes Thema

betateilchen

Das mit dem Umstellen auf deutsch ist nur die halbe Wahrheit.

Ob es deutsche Texte zu einem Modul gibt, ist die freie Entscheidung des jeweiligen Modulautors. Verpflichtend für ein FHEM Modul ist nur eine englische Beschreibung.

Wundere Dich also nicht, wenn Dir an der einen oder anderen Stelle doch keine deutsche Hilfe angezeigt wird.

Bei CUL_HM wusste ich aber, dass es auch deutsche Texte gibt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

CatWeazle

Moin Leutz,

auch wenn es jetzt funktioniert, hat vielleicht noch jemand die SmartHome-master V1.4 von Tom Major?
Wenn ja, würde ich mich freuen, diese zu bekommen.
Grüße, Mike

*******************************************************
 *******  Wird Zeit für besser Wetter !  ********
*******************************************************

Gernott

Zitat von: CatWeazle am 23 Juli 2025, 15:25:21...hat vielleicht noch jemand die SmartHome-master V1.4 von Tom Major?
Du findest den Code von älteren FW-Versionen hier in Toms Github:
https://github.com/TomMajor/SmartHome/blob/master/HB-UNI-Sensor1/Arduino/HB-UNI-Sensor1/HB-UNI-Sensor3.---
(Der Dateiname ist zwar Sensor3, aber das ist alles für den Unisensor1.

Die zu den verschiedenen FW-Versionen passenden FHEM-Dateien findest Du dann hier:
https://github.com/TomMajor/SmartHome/tree/master/HB-UNI-Sensor1/FHEM

CatWeazle

Hallo Gernott,
vielen Dank für die Links.

Grüße, Mike

*******************************************************
 *******  Wird Zeit für besser Wetter !  ********
*******************************************************

CatWeazle

Moin Leutz,

und da habe ich "mal wieder" ein Problem.

Seit einer Woche versuche ich in der HB-UNI-Sensor1, Version 1.5, einen AHT20 zum Laufen zu bringen.
Als Device habe ich die Device_Example.h genommen, in der alle Sensoren außer AHTxx deaktiviert sind.

Die letzten Versuche von heute sind auch gescheitert, es wird immer versucht einen AHT1x einzubinden, bei den heutigen Versuchen hatte ich auch kein CC1101 angeschlossen, was aber für den Test auch nicht wichtig war, wollte ja nur sehen, dass er mir an der RS232 ein AHT20 gefunden Meldung herausgibt.

Ein I2C Scan ergab "Found address: 56 (0x38)"
Also der AHT20 ist angeschlossen und die Adresse ist korrekt.

RS232 Außgabe:
AskSin++ v5.0.3 (Aug  9 2025 19:39:16)
Error: AHT1x not connected or failed to load calib. coeff.
Sensor setup done
Serial: UNISENS001
Clock SYSCLOCK
Address Space: 32 - 85
Radio init1
Error at 00 expected: 2E read: 00
Error at 02 expected: 06 read: 00
Error at 03 expected: 0D read: 00
Error at 04 expected: E9 read: 00
Error at 05 expected: CA read: 00
Error at 07 expected: 0C read: 00
Error at 0B expected: 06 read: 00
Error at 0D expected: 21 read: 00
Error at 0E expected: 65 read: 00
Error at 0F expected: 6A read: 00
Error at 10 expected: C8 read: 00
Error at 11 expected: 93 read: 00
Error at 12 expected: 03 read: 00
Error at 15 expected: 34 read: 00
Error at 17 expected: 03 read: 00
Error at 18 expected: 18 read: 00
Error at 19 expected: 16 read: 00
Error at 1B expected: 43 read: 00
Error at 1E expected: 2F read: 00
Error at 1F expected: 65 read: 00
Error at 20 expected: 78 read: 00
Error at 23 expected: E9 read: 00
Error at 24 expected: 2A read: 00
Error at 25 expected: 1F read: 00
Error at 26 expected: 11 read: 00
Error at 3E expected: 03 read: 00
CC Version: 00
Error at 3E expected: C0 read: 00
 - ready
tmBattery Voltage: 3382
Battery set low:  21
Battery set crit: 19
Config Changed: List0
ledMode: 1
lowBatLimit: 21
Battery set low:  21
transmitDevTryMax: 6
updCycle: 600
altitude: 85
tempOffset x10: 0
presOffset x10: 0
humiOffset x10: 0
AbsHumidity x100        : 0
DewPoint x10            : 0

Was ist hier wohl jetzt zu tun ?

Würde den AHT20 wegen seiner Präzision lieber nutzen als den BME280, vor allem habe ich zwei davon herumliegen.



Grüße, Mike

*******************************************************
 *******  Wird Zeit für besser Wetter !  ********
*******************************************************

Tom Major

Zitat von: CatWeazle am 09 August 2025, 20:15:55Moin Leutz,

und da habe ich "mal wieder" ein Problem.

Seit einer Woche versuche ich in der HB-UNI-Sensor1, Version 1.5, einen AHT20 zum Laufen zu bringen.
Als Device habe ich die Device_Example.h genommen, in der alle Sensoren außer AHTxx deaktiviert sind.

Die letzten Versuche von heute sind auch gescheitert, es wird immer versucht einen AHT1x einzubinden, bei den heutigen Versuchen hatte ich auch kein CC1101 angeschlossen, was aber für den Test auch nicht wichtig war, wollte ja nur sehen, dass er mir an der RS232 ein AHT20 gefunden Meldung herausgibt.


Lang ist es her, habe mal kurz in den Code geschaut, momentan wird der AHT1 fest vorgegeben. Das liegt eventuell daran dass ich damals nur den AHT1 hatte, die Library von der ich Code benutze kann aber beide, deswegen im code mit vorgehalten, aber nie benutzt oder getestet.

Du könntest den AHT2 testen indem du in Sens_AHTxx.h Zeile 316 so änderst:
: _sensorType(AHT2x_SENSOR)
Wie gesagt, der AHT2 ist komplett ungetestet.
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

CatWeazle

Hallo Leutz, hallo Tom,

Dein Tipp ist klasse und hat funktioniert, vielen Dank dafür.

Für den ersten Versuch habe ich nur in Zeile 316 AHT1x.h nach AHT2x.h geändert
Wurde ohne Fehlermeldung kompiliert und geschrieben.
Zwar noch mit AHT1x found, aber das ist ja nur eine Textmeldung, die ich dann noch in Zeile 323 in AHT2x und ebenfalls in der Zeile 338 die Fehlermeldung in AHT2x geändert habe.

AskSin++ v5.0.3 (Aug 12 2025 23:47:35)
AHT2x found
Sensor setup done
Serial: UNISENS001
Clock SYSCLOCK
Address Space: 32 - 85
Radio init1
Error at 26 expected: 11 read: 00
Error at 3E expected: 03 read: 00
CC Version: 00
Error at 3E expected: C0 read: 00
 - ready
tmBattery Voltage: 3382
Battery set low:  21
Battery set crit: 19
Config Changed: List0
ledMode: 1
lowBatLimit: 21
Battery set low:  21
transmitDevTryMax: 6
updCycle: 600
altitude: 85
tempOffset x10: 0
presOffset x10: 0
humiOffset x10: 0
AHTxx Temperature x10   : 258
AHTxx Humidity x10      : 537
AbsHumidity x100        : 1292
DewPoint x10            : 157

Dann habe ich die AHTxx.h kopiert in AHT1x.h was das unveränderte Original ist und in AHT2x.h die Kopie mit den drei zuvor beschriebenen Änderungen.

Jetzt kann man in der HB-UNI-Sensor1 in Zeile 93 je nach Sensor:
#include "Sensors/Sens_AHT1x.h"
oder
#include "Sensors/Sens_AHT2x.h"
eintragen.

Dass kann man in der HB-UNI-Sensor1.ino auch noch schöner lösen, ähnlich der ifdef abfragen der anderen Sensoren, z.B. Sens_SHT31.h / Sens_SHT32.h
Analog dazu je einen Eintrag #ifdef SENSOR_AHT1X.h / SENSOR_AHT2X.h
Dass werde ich morgen mal versuchen, habe zwar keine Programmierkenntnisse, aber bei anderer #ifdef Einträge in der HB-UNI-Sensor1.ino kann man ja abschauen. So hoffe ich ;-)

Soweit meine Versuche für heute, für den Lösungsansatz nochmal vielen Dank Tom!
Grüße, Mike

*******************************************************
 *******  Wird Zeit für besser Wetter !  ********
*******************************************************

Tom Major

ja gerne, freut mich dass der AHT2 auch funktioniert.
Du brauchst da nichts weiter versuchen mit ifdef, ich werde die Device_Example.h so anpassen dass man dort den AHT1 oder 2 konfigurieren kann, so wie es auch bei den anderen Sensoren funktioniert. Ist nur eine kleine Änderung, das kann ich die nächsten Tage machen und werde kurz Bescheid sagen hier.
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

CatWeazle

Hallo Tom,

das ist gut, dass Du es änderst, an der "HB-UNI-Sensor1" habe ich mich vergebens versucht, einfach abgucken wie es bei den anderen Sensoren gemacht ist, ist mit Copy & Paste dann doch nicht zu machen.
Hätte es gerne geschafft ... .. . naja, meine Coding Erfahrung stützt sich auf Basic vom VIC20 und C64, ich hatte damals sogar noch noch Zeilennummer :-)

Vielen Dank für eine Hilfe und ich freue mich auf die neue Version :-)


Grüße, Mike

*******************************************************
 *******  Wird Zeit für besser Wetter !  ********
*******************************************************

Tom Major

#3249
Der support für den AHT20 ist jetzt drin.
Konnte es nicht am realen Device testen, aber wird schon passen hoffe ich.

Die Aktivierung für AHTxx in den Cfg/*.h Dateien mittels #define SENSOR_AHTXX bleibt, neu ist eine Zeile weiter unten
#define AHT_MODE 1      // 1 für AHT1x, 2 für AHT2x
HB-UNI-Sensor1
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker

ritchie

Hallo Zusammen,
ich will dieses Modul um die Funktion eins Fensterkontakt erweitern, da mir langsam meine MAX!Fensterkontakte sterben. Hatte das erst mit einem ESP32 probiert, aber der Langzeittest hat gezeigt, das WLAN mit die Batterien frist.

Im Modul selber habe ich gesehen, das man dem HM Modul, Buttons mit einer
Funktion übergeben kann.

button[0].regInHM(0, &hm);                                                    // register buttons in HM per channel, handover HM class pointer
button[0].config(8, NULL);                                                    // configure button on specific pin and handover a function pointer to the main sketch

Kann man diese Funktion dafür evtl. verwenden ?
Wie/Wo müsste man den Status dafür erweitern ?

Ich habe gesehen, das es eine Menge an Beispielen gibt.
Kann man das Beispiel "HM6TastenSwitch" aus den Beispiel-Paket von AskSin für eine solche Anwendung verwenden. Ich möchte halt,
die Funktion zusätzlich habe (Temperatur, Feuchte, Licht, Druck und Kontakt) haben.

Bin für jede Hilfe dankbar.

Viele Grüße
R.
IPU662  IPFIRE & FHEM (Homematic + MAX) - Produktiv
Intel iCore 3 / 16GBRAM / 500GB SSD / Ubuntu  (1Wire - USB) - Produktiv

CatWeazle

Moin Leutz,

@Tom Major:
wie ich lese, hast Du Tom die Änderungen schon gemacht, vielen Dank dafür, werde ich mir gleich mal ansehen, bzw. testen.

@ ritchie:
Fensterkontakte, mit HB-UNI-Sensor1, in z.B. der Device_Example.h, kannst Du #define SENSOR_DIGINPUT aktivieren, das wäre doch ein Schalteingang für Deine Fensterkontakte.
Grüße, Mike

*******************************************************
 *******  Wird Zeit für besser Wetter !  ********
*******************************************************

ritchie

Hi,

kann ich die Firmware von HB-UNI-Sensor1 auch verwenden, wenn ich noch ein altes Board mit der Version 1.02 habe, verwenden.

Viele Grüsse
R.
IPU662  IPFIRE & FHEM (Homematic + MAX) - Produktiv
Intel iCore 3 / 16GBRAM / 500GB SSD / Ubuntu  (1Wire - USB) - Produktiv

CatWeazle

Hi Leutz,

@Tom:
prima gemacht, das Auswählen zwischen AHT1x / AHT2x funktioniert sehr gut.
Besten Dank für die Anpassung.
Aktuell habe ich einen BME280, einen AHT20 und den BH1750 angeschlossen, dazu muss ich aber auf NDEBUG verzichten, da ich mit NDEBUG auf 101% Speicher komme.
Die Kiste funktioniert aber so tatsächlich einwandfrei.

@richie:
Das Board, von dem Du sprichst, damit ist doch sicher die Basisplatine gemeint.
Ich nutze eine HB-UNI-SENS-BATT als Basis und habe keine Probleme.
Ich denke, ein Test würde Dir am schnellsten helfen, definiere einen Pin und versuch was passiert, wenn Du den Pin gegen GND legst bzw. Vcc.

Grüße, Mike

*******************************************************
 *******  Wird Zeit für besser Wetter !  ********
*******************************************************

Tom Major

#3254
Gerne, freut mich dass der AHT20 läuft  :)

Die Firmware Version (aktuell 1.51) hat nichts direkt mit dem PCB zu tun.
Wichtig ist nur, dass die I/O Definitionen in der Cfg/.h Datei zur tatsächlichen Verdrahtung passen.

Ich würde aber für Fensterkontakte die RHS Entwicklungen von papa nehmen, da gibt es einen gut entwickelten Stand inkl. 3-D Gehäuse usw. Und für Wetterdaten den UniSensor. Nicht jeder Fensterkontakt braucht ja die Wetterdaten.
Das ist viel zeitsparender als Kombigeräte neu zu entwickeln.
Früher: FHEM 5.x
Jetzt: RaspberryMatic / ioBroker