klomp.de

retro arcade, visual pinball cabinet, techblog

Anavi OpenSource Gas und Rauch DetektorPer Zufall stieß ich im letzten Jahr auf das Crowdfunding-Projekt "ANAVI Gas Detector" von Leon Anavi aus Bulgarien. Es handelt sich dabei um ein OpenSource Entwicklungsboard auf ESP8266-Basis zur Überwachung der Luftqualität. Der mitgelieferte Sensor MQ-135 erkennt verschiedene brennbare Gase, Alkohol sowie Rauch und protokolliert die Daten per MQTT. Das Advanced-Kit mit Board, Gassensor, Temperatur- und Feuchtigkeitssensor, OLED-Mini-Display und dem schicken Acrylglas-Ständer fand ich sehr interessant für unser Wohnzimmer in dem auch ein Holzofen steht, und so habe ich kurzerhand für ein Kit gepledged. Das Funding lief erfolgreich durch und irgendwann hielt ich das Set in den Händen. Jetzt musste es nur noch in meine Heimautomatisierung mit ioBroker eingebunden werden.

 

Die einzelnen Komponenten waren schnell zusammengesteckt und mit der Acrylglasplatte verschraubt. Über eine kleine Weboberfläche wurde der ESP8266 in unser heimisches WLAN gebracht, gleichzeitig konnte ich die Daten eines MQTT-Brokers eintragen. Diesen hatte ich vorher in ioBroker installiert und Zugangsdaten festgelegt - der Adapter hat die Bezeichnung ioBroker.mqtt. Nach einem Neustart des Gas Detektors zeigt dieser direkt die Temperatur, die Luftfeuchtigkeit, die Luftleitfähigkeit und die Luftqualität (Poor, Moderate, Good) auf dem kleinen Display an und schickt sie bei jeder Änderung an den MQTT Server auf meiner ioBroker-Installation. Zur Kontrolle brauchte ich nur noch unter "Objekte" -> "mqtt.0" (also meiner ersten MQTT-Instanz) nachschauen, alle verfügbaren Werte sind dort als Objekte unter der ID des Gas Detektors verfügbar. 

ANAVI MQTT Gas- und Rauchsensor in ioBroker

Nun fehlte nur noch eine Alarmierung, falls die Luftqualität sehr schlecht wird, das Objekt "AirQuality" also auf "Poor" umspringt. Zum einen soll das Amazon Echo Show, welches bei uns im Wohnzimmer steht, eine kurze Ansage machen - und zusätzlich soll per Pushover eine Nachricht auf unsere Android Smartphones gesendet werden. Die benötigten Adapter ioBroker.alexa2 und ioBroker.pushover hatte ich bereits für andere Zwecke installiert und konfiguriert. 

Ein kleines Blockly Script war schnell erstellt. In diesem wird die Änderung des Objektes "AirQuality" nach "Poor" abgefragt und eine Ansage auf zwei Amazon Echos ausgegeben sowie die besagte Pushmeldung via Pushover an unsere Smartphones geschickt:

iobroker Blockly Abfrage Luftqualität

Javascript-Code:

on({id: 'mqtt.0.hier_die_id_des_sensors.AirQuality', change: "ne"}, function (obj) {
  var value = obj.state.val;
  var oldValue = obj.oldState.val;
  if (getState("mqtt.0.hier_die_id_des_sensors.AirQuality").val == '{"Quality":"Poor"}') {
    setStateDelayed("alexa2.0.Echo-Devices.hier_die_id_des_ersten_echo.Commands.speak"/*speak*/, 'Achtung! Schlechte Luftqualität im Wohnzimmer.', 5000, false);
    setStateDelayed("alexa2.0.Echo-Devices.hier_die_id_des_zweiten_echo.Commands.speak"/*speak*/, 'Achtung! Schlechte Luftqualität im Wohnzimmer.', 5000, false);
    sendTo("pushover", "send", {
       message: 'Der Gasdetektor hat im Wohnzimmer sehr schlechte Luftqualität festgestellt.',
       sound: "siren",
       priority: 1,
       title: 'Warnung vom ANAVI Gasdetektor'
    });
  }
});

Zu guter Letzt ein kleines Video, welches das Zusammenspiel des ANAVI Boards mit ioBroker zeigt. Ich habe den Sensor in dem Beispiel mit dem Gas eines Feuerzeugs getriggert.