Mysensors Node mit BME280, BH1750 und PIR

Begonnen von beSmart, 28 März 2019, 21:07:20

Vorheriges Thema - Nächstes Thema

beSmart

Hallo Forum.

Hat jemand ein Node mit den o.g. Sensoren im Einsatz? Im Netz konnte ich leider nichts finden.


Gruß


beSmart

Beta-User

Du sprichst von einer Kombi-Node, oder?

Was willst du mit dem BME280 alles anstellen? Auch forecasting? Dann ist es mit den timings schwierig, der muß dazu seine Meßwerte recht genau minutenweise haben, da stört insbesondere der PIR-code (wenn geschlafen werden soll?). Einen reinen BME280 (mit RS485 als Transport-Layer) findest du z.B. hier: https://github.com/rejoe2/MySensors_Small/tree/master/MyS097.

Soweit ich mich entsinne, ist da auch der Code recht groß, daher hatte ich damals (trotz des sehr leichtgewichtigen RS485@hw-serial) entschieden, da ausnahmsweise nicht mehr draufzupacken.

Ohne forecasting sollte es gehen, allerdings wird es richtig schwierig, wenn das als schlafende Node realisiert werden soll (dann kann man das nicht millis-basiert umstellen und müßte den Aufwachgrund erkennen...).

Beschreib' doch mal näher, was du genau erreichen willst.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

beSmart

Hallo Beta-User.


Erstmal vielen Dank für deine Antwort.

Also, eigentlich möchte ich garnichts schlimmes. Ich möchte ein Node mit den 3 o.g. Sensoren bauen. Der PIR soll bei Bewegung senden die anderen beiden pi x Daumen alle 10-15 min.
Die Sensoren möchte ich später im ganzen Haus verteilen. (UP in der Decke in jedem Raum)

Dazu habe ich mir einen "Prototypen" zusammengesteckt und die einzelnen Beispiele in der Arduino IDE getestet. Jeder Sketch für sich läuft super. Der Sketch für den BME ist aber schon ziehmlich groß für einen Atmega328p. Ich bin mir nicht sicher ob ein Sketch mit allen drei Sensoren passt.

Einen Sketch für alle drei Sensoren aus den Beispielen zu "bauen" ist für mich relativ aufwendig. Deshalb wollte ich erstmal schauen ob das schon mal jemand gemacht hat und ob so ein Sketch auf einen Atmega328p passt.


Dank und Gruß und Gruß


Dirk


Beta-User

Wollte nichts "schlimmes" unterstellen. Also kein Luftdruck vom BME280, vor allem kein forecast...

(Soweit mir bekannt, gibt es die Kombi noch nicht).

Die Node sollen dann eigentlich schlafen, nehme ich an?

Also folgendes Konzept:
Du nimmst den BME280 als Basis und beseitigst erst mal den Luftdruck-Teil und das forecasting, soweit ich mich entsinne, ist das die Haupt-Ursache für die Größe der firmware.

Dann bastelst du den PIR dazu, das müßte eigentlich im Beispielsketch sowieso interrupt-basiert sein.

Damit hast du dann das "Problem", dass bei jedem Aufwachen durch PIR auch der Rest gemessen wird. Da gab es im MySensors-Forum mal jemand, der beschrieben hat, wie man den wakeup cause feststellen kann; damit könntest du das ggf. umgehen.

Klappt das zur Zufriedenheit, kannst du versuchen, auf dem Rest des Speichers den 1750 noch unterzubringen. Da auch i2c (ich unterstelle, du nutzt die i2c-Schnittstelle des BME) könnte das klappen, aber Garantie gibt es keine.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

beSmart

Hallo Beta-User.


Ich möchte dir kurz eine Rückmeldung geben. Zum "üben" habe ich mich erstmal für eine Kombi aus SI7021, BH1750 und PIR entschieden. Den Sketch habe ich mir aus den 3 Beispielen von der Mysensors Seite zusammen kopiert, da ich den Sketch mit dem BME280 noch nicht ganz durchblickt habe.

Eine Node mit BME280 wird aber noch umgesetzt, wenn ich mich tiefer in die Materie eingearbeitet habe.

Probleme macht zur Zeit noch der BH1750. Der Sensor sendet einen Wert von 65534 Lux an Fhem.
Wenn ich nur den Beispiel-Sketch von der Mysensors-Seite auf den Arduino flashe, sendet der Arduino auch 65535 Lux. Ich vermute ein Problem in der Libary, muss das aber noch untersuchen.


Gruß

Dirk







Beta-User

Hmm, einen BH1750 hatte ich auch schon mal mind. testweise im Einsatz (glaube ich zumindest). Das hat also vermutlich mal funktioniert. Vielleicht erst mal den Arduino nur mit dem Testsketch für den Sensor betanken, der in der Regel in der lib ist (also ohne den MySensors-Teil, nur "blink"). Vielleicht ist die Beschaltung anders, und damit die i2c-Adresse?

Zum Thema wake-up-cause habe ich noch das hier gefunden:
https://forum.mysensors.org/topic/10283/dectect-wake-up-source/3

Verhindert zwar nicht, dass ggf. das timing des forecasts durcheinanderkäme, aber wenn du das nicht nutzt, ist es vermutlich ein Ansatz (ich will was ähnliches für meine Wetterstation, daher interessiert mich, ob der Ansatz funktioniert).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files