Programm für die Raumluftgüte MQ135 MySensors FHEM

Ein Programm das Messen und Abbilden der Raumluftgüte mit dem MQ135 auf dem ARDUINO mit MYSENSORS nach FHEM

Auf dem Weg zum Bau von multiplen Raumsensoren mit FHEM und MYSENSORS war die erste Aufgabe den Programm-Code der CO²-Raumwerte zu entwickeln. Ziel ist die Daten von MYSENSORS nach FHEM zu übertragen, damit diese darstellungskonform im WEBUI abgebildet und weiter verwendet werden können. Es gibt jede Menge Programm-Schnipsel aber leider kein fertiges Beispiel, welches mich zufrieden stellte. Die plausibelsten Werte erzeugt die MQ135.h Bibliothek auf https://github.com/GeorgK/MQ135 . Hierfür habe ich dann noch den Code aus FHEM/MYSENSORS angepasst.

Wichtig ist dass der Sensor 24 Stunden „eingebrannt“ wird und anschließend bei ca. 20 Grad 35 % Feuchte außen kalibriert wird. Ich habe dazu in der Bibliothek den RZERO Wert solange verändert bis der Wert plausibel war.

On the way to the construction of multiple room sensors with FHEM and MYSENSORS the first task was to develop the programm code CO² space values. The aim is to transfer the data from MYSENSORS after FHEM, so they can be displayed in the WebUI representation compliant and reused. There is plenty of programm snippets but no complete example, which introduced me satisfied. The most plausible values produces the MQ135.h library https://github.com/GeorgK/MQ135. For this, I still have adapted the code from FHEM / MYSENSORS.
 It is important that the sensor is „burned“ 24 Hours will be followed at 20 degree 35% humidity is outside calibrated. I have this in the library the RZERO value unless changed until the value was plausible.

/*
Arduino MQ135

Anpassung für Bibliothek MQ135.h und MYSENSORS / FHEM von jotthaeff 25.12.2015
Contribution: epierre
Based on David Gironi http://davidegironi.blogspot.fr/2014/01/cheap-co2-meter-using-mq135-sensor-with.html
http://skylink.dl.sourceforge.net/project/davidegironi/avr-lib/avr_lib_mq135_01.zip

*/
#include "MQ135.h"
#include "SPI.h"
#include "MySensor.h"
#include "Wire.h"

#define CHILD_ID_AIQ 0
#define ANALOGPIN 0

float valAIQ =0.0;
float lastAIQ =0.0;

// Initialize the gas Sensor
MQ135 gasSensor = MQ135(ANALOGPIN);

MySensor gw;
MyMessage msg(CHILD_ID_AIQ, V_LEVEL);

void setup()
{
//Serial.begin(9600);
gw.begin();

// Send the sketch version information to the gateway and Controller
gw.sendSketchInfo("AIQ Sensor MQ135", "1.0");

// Register all sensors to gateway (they will be created as child devices)
gw.present(CHILD_ID_AIQ, S_AIR_QUALITY);

}

void loop()     {

float ppm = gasSensor.getPPM();
Serial.print(" CO2: ");
Serial.print(ppm);
Serial.println(" ppm ");

valAIQ=ppm;

if (valAIQ != lastAIQ) {
gw.send(msg.set((int)ceil(valAIQ)));
lastAIQ = ceil(valAIQ);
}

delay(10000);
}

Backup für Linux Server mit BTRFS – Warum?

Backup mit BTRFS durchzuführen ist noch nicht sehr bekannt und verbreitet. Zumindest schätze ich es so ein. Es gibt wenige Artikel zu diesem Thema im Netz. Da ich immer gern neu Sachen teste – laufe ich auch Gefahr in noch bestehende Fehler zu tappen. Ich glaube, man hört nicht all zuviel, weil es etwas neues ist. Neues macht gewöhnlich immer Arbeit aber es bietet meist auch Chancen. So ist es auch hier. Allerdings hatte ich bisher keine mich zufriedenzustellende Lösung gefunden.

BTFRS kann mehr Daten verwalten, ist angeblich stabil – sagt zumindest der Chefentwickler von BTRFS, der es bei Facebook einsetzt. Dieser Fakt hat mich auch etwas zum Nachdenken gebracht. Vielleicht ist auch hier eine Türe eingebaut?

Mit BTRFS sollen sich effiziente Snapshots und Backups einfach anlegen lassen. Ich habe schon lange nach einer ordentlichen Lösung zum Backup(pen) gesucht. Einer Lösung, mit der man vor allem im laufenden Betrieb arbeiten kann – so wie es das bei Windows  auch schon lange gibt. Bisher habe ich da nichts überzeugendes gefunden und nur die wichtigsten Daten(Banken) und Dateien per Hand – einfach nur mühselig.

Backup Hilfsmittel BTRBK

In einem späteren Artikel beschreibe ich das Vorgehen detailliert. Anbei schon einmal der Link zum Hilfesmittel BTRBK.

Backup OpenSource Lösung BTRFS BTRFS

Email verschlüsselt übertragen mit TLS

Email sollen zwischen den Servern abhörsicher übertragen werden können. Auf dem Weg zur perfekten Absicherung von Postfix in Verbindung mit dem Zarafa-Server wurde ich leider enttäuscht. Mit verschiedenen Webseiten zur Mail-Server-Prüfung hinsichtlich der Zertifikate habe ich Postfix auf sicher getrimmt. Dazu passt natürlich nicht, dass die Verschlüsselung nicht immer aktiv ist. Ich halte es für nicht mehr zeitgemäß. Dazu kann man in der Postfix Konfig ahgeben:

smtpd_tls_security-level=encrypt

Leider funktioniert diese Einstellung nicht korrekt: Postfix meint:

530 5.7.0 Must issue a STARTTLS command first

Das würde daran liegen, dass der Zarafa-Spooler als Bindeglied zum nächsten/vorherigen Email-Servern nur unverschlüsselt arbeiten kann, obwohl in der 7.20er Version des Zarafa in der Spooler.cfg SSL aktivierbar ist. Leider habe ich hier noch keine Lösung gefunden. Ich lieh mir dann erst mal zwei Bücher an der Uni zur Verstärkung aus. Bei Gelegenheit werde ich da weiter basteln, da es für mich interessant ist, wie die Päckchen verarbeitet werden. Schließlich gibt es ja noch anderes wie Garten und Haushalt. Mal schauen, vielleicht gibt es noch eine hilfreiche Antwort im Forum.

Zarafa-Spooler als Verhinderer von TLS?