Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. Projekt: CO2 Monitor TFA Dostmann

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    20
    1
    750

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

Projekt: CO2 Monitor TFA Dostmann

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
18 Beiträge 11 Kommentatoren 5.9k Aufrufe 11 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • ruhr70R Offline
    ruhr70R Offline
    ruhr70
    schrieb am zuletzt editiert von
    #1

    CO2 Monitor von TFA Dostmann

    Getestet unter:

    • Windows 10 am Intel NUC

    • Rasbian am Raspberry Pi3

    CO2 Moonitor bei Amazon: http://amzn.to/2jCGGfQ

    ca.: 65,00 EUR

    Am Gerät interessant:

    • kleines schickes Gehäuse

    • mit LCD für Anzeige CO2 und Temperatur

    • LED Ampel für CO2 (rot/gelb/grün). Direkte Visualisierung an der Messstelle

    • Messergebnisse einigermaßen schlüssig

    • der verwendete Sensor soll für 15 Jahre ausgelegt sein

    • schnell realisierbar, keine Anfertigung von Hardware nötig

    Bild vom CO2 Monitor:
    327_tfa_hostmann_co2_monitor.jpg

    Den CO2 Monitor gibt es auch von anderen Herstellern. Über zwei Schalter sind diverse Einstellungen möglich. Bei der Version von TFA Dosmann sind diese Schalter im Gehäuse und man muss die Rückwand abnehmen um diese zu erreichen. Ich habe die Schalter nicht benötigt.

    Webseite eines anderen Herstellers(Anbieters:

    https://www.co2meter.com/products/co2mi … ty-monitor

    Dokumentation der beiden Tasten:

    http://co2meters.com/Documentation/Manu … D-0301.pdf

    Beschreibung des USB-Protokolls:

    http://www.co2meters.com/Documentation/ … otocol.pdf

    Dort gibt es auch eine ältere Windowssoftware (läuft unter Windows 10), die die Messwerte lokal in einer Tabelle speichert, sie grafisch anzeigt und die beim Erreichen von Schwellwerten eine Alarminfo anzeigen kann.

    http://co2meters.com/co2mini/co2mini-install.zip

    Das Gerät kalibriert sich automatisch, in dem es den niedrigsten Wert einer Woche als Basis nimmt.

    Bisher hatte ich das Gerät nicht produktiv eingesetzt, da ich das Beenden der Kommunikation zum Gerät beim Skript-Stop nicht hinbekommen habe.

    Die Lösung stand dann im Forum, die ich leider erst später gesehen habe (danke an den User redoced)

    http://forum.iobroker.net/viewtopic.php … =20#p69382

    Andere CO2 Projekte im ioBroker Forum

    CO2 Monitor auf Basis eines Wemos und einem ZH-19 Sensor

    http://forum.iobroker.net/viewtopic.php … 009#p96012

    Von: spaceduck

    • sehr günstig

    • klein und Kompakt (Steckernetzgerätgehäuse)

    Sobald der ZH-19 aus China eingetroffen ist, werde ich das Projekt auf jeden Fall nachbauen und mit dem Dostmann vergleichen.

    Wäre eine schöne Ergänzung in Räumen, in denen ich eine direkte optische Signalisierung nicht benötige.

    iAQ Core-C von ams

    http://forum.iobroker.net/viewtopic.php … co2#p37143

    Adapter: Fritzbox, Unify Circuit
    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

    D 1 Antwort Letzte Antwort
    0
    • ruhr70R Offline
      ruhr70R Offline
      ruhr70
      schrieb am zuletzt editiert von
      #2

      ## TFA Dostmann CO2 Sensor mit ioBroker - Installation ##

      • den CO2 Monitor per USB mit dem PC / Raspberry Pi verbinden

      • das npm Modul co2-monitor in den Einstellungen der Javascript-Instanz hinzufügen unter der das Skript laufen soll

      • Skript hinzufügen und starten

      ioBroker Skript für den CO2 Monitor von TFA DOstmann:

      ! ````
      // CO2 Monitor von TFA Dostmann
      // http://amzn.to/2jCGGfQ
      //
      // Version: 0.1.0
      //
      // Abfrage von CO2 und der Temperatur über USB
      //
      // benötigt das npm Modul: co2-monitor beim Javascript-Adapter (Einstellungen)
      //
      // -----------------------------------------------------------------------------
      ! var logOn = false; // Ausgabe der Messwerte im Log
      ! var pfad = "co2sensor" + "."; // Pfad Systeminfos zur innovaphone
      ! var idCo2 = pfad + "co2";
      var idTemp = pfad + "temperatur";
      ! // Datenpunkte anlegen
      // -----------------------------------------------------------------------------
      createState(idCo2, {
      name: 'CO2',
      desc: 'CO2',
      type: 'number',
      unit: 'ppm',
      role: 'value'
      });
      ! createState(idTemp, {
      name: 'Temperatur',
      desc: 'Temperatur',
      type: 'number',
      unit: '°C',
      role: 'value'
      });
      ! // Nutzung des npm-Moduls co2-monitor
      // -----------------------------------------------------------------------------
      // https://www.npmjs.com/package/co2-monitor
      // https://github.com/maddindeiss/co2-monitor
      ! const Co2Monitor = require('./co2-monitor');
      ! //let co2Monitor = new Co2Monitor();
      var co2Monitor = new Co2Monitor();
      ! co2Monitor.on('connected', (device) => {
      log("CO2 Monitor: Device connected");
      co2Monitor.startTransfer();
      });

      co2Monitor.on('error', (error) => {
      log("CO2 Monitor error: " + error,"warn");
      setTimeout(startCo2Monitor, 5000); // keine Verbindung. Nach Zeit erneut versuchen
      });

      co2Monitor.on('co2', (co2) => {
      if (logOn) log('CO2 Monitor, co2: ' + co2);
      setState(idCo2,parseInt(co2));
      });

      co2Monitor.on('temp', (temp) => {
      var tempNum = parseFloat(temp);
      tempNum = tempNum.toFixed(1);
      if (logOn) log('CO2 Monitor, temp: ' + temp + " / " + tempNum);
      setState(idTemp,parseFloat(tempNum));
      });

      co2Monitor.on('data', (data) => {
      //log('CO2 Monitor, data: ' + data);
      });

      ! /*
      co2Monitor.on('rawData', (rawData) => {
      log("CO2 Monitor, rawData:" + rawData);
      });
      */
      ! // Funktionen
      // -----------------------------------------------------------------------------
      function startCo2Monitor() {
      co2Monitor.connect();
      }
      ! // Funktion zum Beenden der USB-Kommunikation beim Beenden des Skripts
      // Danke an: redoced
      // siehe: http://forum.iobroker.net/viewtopic.php?f=21&t=6506&start=20#p69382
      function stopCo2Monitor() {
      try{
      co2Monitor.co2Endpoint.stopPoll(function(){
      log("CO2 Monitor: Polling gestoppt");
      co2Monitor.co2Interface.release(true, (error) => {
      if(error) {
      co2Monitor.emit('CO2 Monitor error', error);
      }
      else {
      log("CO2 Monitor: Interface released");
      co2Monitor.co2Device.close();
      log("CO2 Monitor: Device geschlossen");
      cb(true);
      }
      });
      });
      } catch (e) {
      log(e);
      // hat nicht geklappt
      log("CO2 Monitor: Fehler beim Beenden des Skripts");
      }
      log("---------------------- **** CO2 Monitor: Skript wurde gestoppt **** ----------------------");
      }
      ! // Wird ausgeführt, wenn das Skript gestoppt wird:
      // close connection if script stopped
      onStop(function skriptStop () {
      stopCo2Monitor(); // Kommunikation zum CO2 Monitor beenden
      }, 100 /ms/);
      ! // Start des Skripts und der Kommunikation zum CO2 Monitor
      // -----------------------------------------------------------------------------
      log("-------- -------- -------- CO2 Monitor: Skript gestartet -------- -------- --------");
      startCo2Monitor();
      ! ````

      npm Modul co2-monitorin der Javascript-Instanz hinzufügen:

      327_2017-11-19_co2-monitor_im_javascript_adapter_hinzuf_gen.png

      Beispiel Skriptausgabe im Log bei eingeschaltetem Logging:

      327_2017-11-19_logging_co2_skript.png

      Adapter: Fritzbox, Unify Circuit
      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

      1 Antwort Letzte Antwort
      0
      • ruhr70R Offline
        ruhr70R Offline
        ruhr70
        schrieb am zuletzt editiert von
        #3

        ## Flot Diagramm

        http://172.16.130.35:8082/flot/index.html?l%5B0%5D%5Bid%5D=javascript.0.co2sensor.co2&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Baggregate%5D=minmax&l%5B0%5D%5Bcolor%5D=%230000ff&l%5B0%5D%5Bmin%5D=300&l%5B0%5D%5Bmax%5D=1600&l%5B0%5D%5Bthickness%5D=3&l%5B0%5D%5Bshadowsize%5D=3&l%5B0%5D%5Bunit%5D=ppm&l%5B0%5D%5BignoreNull%5D=false&l%5B0%5D%5BafterComma%5D=2&timeType=relative&relativeEnd=now&range=1440&live=30&aggregateType=count&aggregateSpan=300&hoverDetail=true&useComma=false&zoom=false&noedit=false&animation=0&m%5B0%5D%5Bl%5D=0&m%5B0%5D%5Bv%5D=800&m%5B0%5D%5Bf%5D=0&m%5B0%5D%5Bc%5D=%23ccffcc&m%5B0%5D%5Bt%5D=3&m%5B0%5D%5Bs%5D=3&m%5B0%5D%5Bd%5D=&m%5B0%5D%5Bp%5D=l&m%5B0%5D%5Bpy%5D=0&m%5B0%5D%5Bfc%5D=%23FF0000&m%5B0%5D%5Bfs%5D=&m%5B0%5D%5Bvl%5D=0&m%5B1%5D%5Bl%5D=0&m%5B1%5D%5Bv%5D=1200&m%5B1%5D%5Bf%5D=0&m%5B1%5D%5Bc%5D=%23ffffaa&m%5B1%5D%5Bt%5D=3&m%5B1%5D%5Bs%5D=3&m%5B1%5D%5Bd%5D=&m%5B1%5D%5Bp%5D=l&m%5B1%5D%5Bpy%5D=0&m%5B1%5D%5Bfc%5D=%2300FF00&m%5B1%5D%5Bfs%5D=&m%5B1%5D%5Bvl%5D=800&m%5B2%5D%5Bl%5D=0&m%5B2%5D%5Bv%5D=1600&m%5B2%5D%5Bf%5D=0&m%5B2%5D%5Bc%5D=%23ffcccc&m%5B2%5D%5Bt%5D=3&m%5B2%5D%5Bs%5D=3&m%5B2%5D%5Bd%5D=&m%5B2%5D%5Bp%5D=l&m%5B2%5D%5Bpy%5D=0&m%5B2%5D%5Bfc%5D=%230000FF&m%5B2%5D%5Bfs%5D=&m%5B2%5D%5Bvl%5D=1200
        

        Die IP-Adresse, hier 172.16.130.35 und der Datenpunkt javascript.0.co2sensor.co2

        Beispiel Flot Diagramm:
        327_2017-11-19co2_flot.png

        Die Farbbereiche entsprechen den voreingestellten LED-Signalisierungen des CO2 Monitors (diese sind über die Tasten am Gerät anpassbar).

        ## Einsatzbereich bei mir:

        Meine Hauptinstanz von ioBroker läuft unter Ubuntu VM auf einem ESX Server (auf einem Intel NUC).

        Die CO2 Monitoren sind daher auf anderen ioBroker Instanzen per USB angeschlossen und übertragen per MQTT die Messwerte zur Haupt-ioBroker-Installation.

        • Am Windows 10 Intel NUC im Arbeitszimmer. Direkter Blick auf die Lufqualität am PC (über die LED Ampel)

        • Am Raspberry Pi 3 im Schlafzimmer, mit direktem Blick auf die Lufqualität.

        • geplant: im Kinderzimmer am Pi 3

        • geplant: im Auto am Pi 3 über das Board-WLAN

        • geplant: am Arbeitsplatz im Büro

        Adapter: Fritzbox, Unify Circuit
        Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

        1 Antwort Letzte Antwort
        0
        • ruhr70R Offline
          ruhr70R Offline
          ruhr70
          schrieb am zuletzt editiert von
          #4

          Zur Ergänzung, wie der Sensor bei mir in VIS genutzt wird.

          Ich nutze das Material Design CSS und lasse nur die Karten einblenden, die "etwas zu sagen haben". Aktuell ist der CO2 Wert im Arbeitszimmer überschritten:

          327_2018-02-04_co2_md_vis.png

          Die Anzeige erfolgt auf zwei Tablets und bei Bedarf auf iPad, PC oder Mac.

          Adapter: Fritzbox, Unify Circuit
          Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

          1 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            sidamos
            schrieb am zuletzt editiert von
            #5

            @ruhr70:

            Meine Hauptinstanz von ioBroker läuft unter Ubuntu VM auf einem ESX Server (auf einem Intel NUC).

            Die CO2 Monitoren sind daher auf anderen ioBroker Instanzen per USB angeschlossen und übertragen per MQTT die Messwerte zur Haupt-ioBroker-Installation. `

            Ich würde auch gerne diesen CO2 monitor mit ioBroker und RPI verwenden und Daten per MQTT veröffentlichen. openHAB soll die Werte dann über MQTT lesen (Mosquito läuft).

            Habe mir gerade das RPI Image von ioBroker installiert (es gab Probleme mit den Berechtigungen in /opt/iobroker, aber jetzt scheint es zu laufen).

            Ich bin kein Neuling bei Linux und Hausautomation, aber bei ioBroker.

            Das Modul co2-monitor habe ich hinzugefügt und das Script unter common angelegt. Das Gerät ist am RPI angeschlossen.

            Jetzt bekomme ich beim Start:

            17:47:57.373	[info]	javascript.0 script.js.common.Skript1: -------- -------- -------- CO2 Monitor: Skript gestartet -------- -------- --------
            17:47:57.373	[error]	javascript.0 script.js.common.Skript1: /opt/iobroker/node_modules/iobroker.javascript/node_modules/co2-monitor/co2-monitor.js:88
            17:47:57.378	[error]	javascript.0 at startCo2Monitor (script.js.common.Skript1:88:16)
            17:47:57.380	[error]	javascript.0 at script.js.common.Skript1:132:1
            17:49:46.261	[info]	javascript.0 Stop script script.js.common.Skript1
            17:49:46.262	[info]	javascript.0 script.js.common.Skript1: TypeError: Cannot read property 'stopPoll' of null
            17:49:46.263	[info]	javascript.0 script.js.common.Skript1: CO2 Monitor: Fehler beim Beenden des Skripts
            
            

            17:49 habe ich das Script wieder pausiert.

            Eine Idee? Danke!

            1 Antwort Letzte Antwort
            0
            • R Offline
              R Offline
              RockDude
              schrieb am zuletzt editiert von
              #6

              Hallo zusammen,

              Mein erster Post hier im Forum und gleich eine Lösung: stolz :joy:

              Ich habe auch ewig versucht, das Co2 Messgerät von TFA zum Laufen zu bringen. Es liegt wohl an den USB-Rechten. Als normaler user darf man unter Linux anscheinend nicht einfach so auf usb-devices zugreifen.

              Ich habe also eine neue Regel erstellt, welche das Co2 Messgerät für alle verwendbar macht:

              • mit lsusb -vvv
                die VendorID(VID) und ProductID(PID) des Co2Meters auslesen

              • dann folgende Zeile
                SUBSYSTEM=="usb", ATTRS{idVendor}=="VID", ATTRS{idProduct}=="PID" , GROUP="iobroker" , MODE="0666"
                bei mir war das:
                SUBSYSTEM=="usb", ATTRS{idVendor}=="04d9", ATTRS{idProduct}=="a052" , GROUP="iobroker" , MODE="0666"
                in diese beiden neuen Dateien einfügen (als root)
                /lib/udev/rules.d/50-myusb.rules
                /etc/udev/rules.d/50-myusb.rules
                (wahrscheinlich genügt auch eine von beiden...)

              • jetzt die Rechte neu einlesen:
                udevadm control --reload-rules
                oder am besten neu starten.

              Nun sollte alles funktionieren!

              Grüße,
              Stefan

              1 Antwort Letzte Antwort
              1
              • M Offline
                M Offline
                mavier
                schrieb am zuletzt editiert von
                #7

                da ich auch den co2-monitor besitze würde das gerne auch so nutzen.
                das js-modul co2-monitor kann nicht installiert werden, gibt ne menge fehler im log. und der js code, den ich per copy/paste als js script im iobroker gespeichert habe markiert einiges im editor rot.
                bekomme es also nicht zum laufen. kann mir da jemand helfen?

                1 Antwort Letzte Antwort
                0
                • realwaxR Offline
                  realwaxR Offline
                  realwax
                  schrieb am zuletzt editiert von
                  #8

                  UPDATE zum DFA Dostmann und IOBROKER mit NPM 10.x

                  Ich habe festgestellt dieser Lösungsweg ginge nur bis NPM 8.x ab Version 10.x gab es bei mir Problem mit einigen NPM lib und deprecated libs. Deswegen musst ich co-2monitor gegen node-co2-monitor tauschen und das script anpassen.

                  Alles UDEV vorbereitungen von oben sind komplett richtig. lediglich im Javaapter - Instanz am richtigen gerät, muss man "node-co2-monitor" hinzufügen, ggf. den alten löschen/entfernen, oder mit npm direkt installieren. Achtung auf die Pfade.

                  544194c2-5711-4860-b6b8-77928661d90f-image.png

                  Hier ist das neue script:

                  'use strict';
                  const CO2Monitor = require('node-co2-monitor');
                   
                  const monitor = new CO2Monitor();
                  
                  var logOn   = false; 
                  
                  var pfad    = "co2sensor" + ".";  
                  
                  var idCo2   = pfad + "co2";
                  var idTemp  = pfad + "temperatur";
                  
                  
                  // Datenpunkte anlegen
                  // -----------------------------------------------------------------------------
                  createState(idCo2, {
                       name: 'CO2',
                       desc: 'CO2',
                       type: 'number',
                       unit: 'ppm',
                       role: 'value'
                  });
                  
                  createState(idTemp, {
                       name: 'Temperatur',
                       desc: 'Temperatur',
                       type: 'number',
                       unit: '°C',
                       role: 'value'
                  });
                  
                  
                  
                  // Connect device.
                  monitor.connect((err) => {
                      if (err) {
                          return console.error(err.stack);
                      }
                      log('CO2 Monitor connected.');
                   
                      // Read data from CO2 monitor.
                      monitor.transfer();
                  });
                   
                  
                  // Get results.
                  monitor.on('temp', (temperature) => {
                     // log(`temp: ${ temperature }`);
                      setState(idTemp,parseFloat(temperature));
                  });
                  monitor.on('co2', (co2) => {
                     // log(`co2: ${ co2 }`);
                      setState(idCo2,parseInt(co2));
                  });
                   
                  // Error handler
                  monitor.on('error', (err) => {
                      console.error(err.stack);
                      // Disconnect device
                      monitor.disconnect(() => {
                          log('CO2 Monitor disconnected.');
                          process.exit(0);
                      });
                  });
                  
                  
                  function stopCo2Monitor() {
                      try{
                          monitor._endpoint.stopPoll(function(){
                              log("CO2 Monitor: Polling gestoppt");
                              monitor._interface.release(true, (error) => {
                              if(error) {
                                 monitor.emit('CO2 Monitor error', error);
                              }
                              else {
                                  log("CO2 Monitor: Interface released");
                                  monitor._device.close();
                                  log("CO2 Monitor: Device geschlossen");
                                  cb(true);
                              }
                           });
                          });
                      } catch (e) {
                          log(e);
                          // hat nicht geklappt
                          log("CO2 Monitor: Fehler beim Beenden des Skripts");
                      }
                      log("CO2 Monitor: Skript wurde gestoppt");
                  }
                  
                  
                  // Wird ausgeführt, wenn das Skript gestoppt wird:
                  // close connection if script stopped
                  onStop(function skriptStop () {
                      stopCo2Monitor(); // Kommunikation zum CO2 Monitor beenden
                  }, 100 /*ms*/);
                  
                  Christian SchulzeC 1 Antwort Letzte Antwort
                  0
                  • realwaxR realwax

                    UPDATE zum DFA Dostmann und IOBROKER mit NPM 10.x

                    Ich habe festgestellt dieser Lösungsweg ginge nur bis NPM 8.x ab Version 10.x gab es bei mir Problem mit einigen NPM lib und deprecated libs. Deswegen musst ich co-2monitor gegen node-co2-monitor tauschen und das script anpassen.

                    Alles UDEV vorbereitungen von oben sind komplett richtig. lediglich im Javaapter - Instanz am richtigen gerät, muss man "node-co2-monitor" hinzufügen, ggf. den alten löschen/entfernen, oder mit npm direkt installieren. Achtung auf die Pfade.

                    544194c2-5711-4860-b6b8-77928661d90f-image.png

                    Hier ist das neue script:

                    'use strict';
                    const CO2Monitor = require('node-co2-monitor');
                     
                    const monitor = new CO2Monitor();
                    
                    var logOn   = false; 
                    
                    var pfad    = "co2sensor" + ".";  
                    
                    var idCo2   = pfad + "co2";
                    var idTemp  = pfad + "temperatur";
                    
                    
                    // Datenpunkte anlegen
                    // -----------------------------------------------------------------------------
                    createState(idCo2, {
                         name: 'CO2',
                         desc: 'CO2',
                         type: 'number',
                         unit: 'ppm',
                         role: 'value'
                    });
                    
                    createState(idTemp, {
                         name: 'Temperatur',
                         desc: 'Temperatur',
                         type: 'number',
                         unit: '°C',
                         role: 'value'
                    });
                    
                    
                    
                    // Connect device.
                    monitor.connect((err) => {
                        if (err) {
                            return console.error(err.stack);
                        }
                        log('CO2 Monitor connected.');
                     
                        // Read data from CO2 monitor.
                        monitor.transfer();
                    });
                     
                    
                    // Get results.
                    monitor.on('temp', (temperature) => {
                       // log(`temp: ${ temperature }`);
                        setState(idTemp,parseFloat(temperature));
                    });
                    monitor.on('co2', (co2) => {
                       // log(`co2: ${ co2 }`);
                        setState(idCo2,parseInt(co2));
                    });
                     
                    // Error handler
                    monitor.on('error', (err) => {
                        console.error(err.stack);
                        // Disconnect device
                        monitor.disconnect(() => {
                            log('CO2 Monitor disconnected.');
                            process.exit(0);
                        });
                    });
                    
                    
                    function stopCo2Monitor() {
                        try{
                            monitor._endpoint.stopPoll(function(){
                                log("CO2 Monitor: Polling gestoppt");
                                monitor._interface.release(true, (error) => {
                                if(error) {
                                   monitor.emit('CO2 Monitor error', error);
                                }
                                else {
                                    log("CO2 Monitor: Interface released");
                                    monitor._device.close();
                                    log("CO2 Monitor: Device geschlossen");
                                    cb(true);
                                }
                             });
                            });
                        } catch (e) {
                            log(e);
                            // hat nicht geklappt
                            log("CO2 Monitor: Fehler beim Beenden des Skripts");
                        }
                        log("CO2 Monitor: Skript wurde gestoppt");
                    }
                    
                    
                    // Wird ausgeführt, wenn das Skript gestoppt wird:
                    // close connection if script stopped
                    onStop(function skriptStop () {
                        stopCo2Monitor(); // Kommunikation zum CO2 Monitor beenden
                    }, 100 /*ms*/);
                    
                    Christian SchulzeC Offline
                    Christian SchulzeC Offline
                    Christian Schulze
                    schrieb am zuletzt editiert von
                    #9

                    @realwax Vielen Dank für deine tolle Anleitung. Ich habe es damit nach vielen Rückschlägen zum ersten Mal geschafft überhaupt Daten aus dem co2Monitor zu bekommen.

                    Bekomme allerdings im Log eine Warnung angezeigt.

                    javascript.0	2020-02-23 14:26:11.144	warn	(7569) at Transfer.transferDone (/opt/iobroker/node_modules/iobroker.javascript/node_modules/usb/usb.js:441:9)
                    javascript.0	2020-02-23 14:26:11.143	warn	(7569) at InEndpoint.emit (events.js:198:13)
                    javascript.0	2020-02-23 14:26:11.143	warn	(7569) at InEndpoint._endpoint.on (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-co2-monitor/co2_monitor.js:137:30)
                    javascript.0	2020-02-23 14:26:11.143	warn	(7569) at CO2Monitor.emit (events.js:198:13)
                    javascript.0	2020-02-23 14:26:11.142	warn	(7569) at CO2Monitor.monitor.on (script.js.test1:53:5)
                    javascript.0	2020-02-23 14:26:11.142	warn	(7569) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1404:20)
                    javascript.0	2020-02-23 14:26:11.141	warn	(7569) You are assigning a number to the state "javascript.0.co2sensor.co2" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become a
                    
                    

                    Leider bekomme ich in den Objekten nur die Temperatur angezeigt.

                    5bc6dc90-a35f-49fb-b679-638a010d3081-image.png

                    Hast du ne Idee woran das liegen könnte? Habe dein Script 1 zu 1 übernommen.

                    Grüße Christian

                    realwaxR 1 Antwort Letzte Antwort
                    0
                    • Christian SchulzeC Christian Schulze

                      @realwax Vielen Dank für deine tolle Anleitung. Ich habe es damit nach vielen Rückschlägen zum ersten Mal geschafft überhaupt Daten aus dem co2Monitor zu bekommen.

                      Bekomme allerdings im Log eine Warnung angezeigt.

                      javascript.0	2020-02-23 14:26:11.144	warn	(7569) at Transfer.transferDone (/opt/iobroker/node_modules/iobroker.javascript/node_modules/usb/usb.js:441:9)
                      javascript.0	2020-02-23 14:26:11.143	warn	(7569) at InEndpoint.emit (events.js:198:13)
                      javascript.0	2020-02-23 14:26:11.143	warn	(7569) at InEndpoint._endpoint.on (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-co2-monitor/co2_monitor.js:137:30)
                      javascript.0	2020-02-23 14:26:11.143	warn	(7569) at CO2Monitor.emit (events.js:198:13)
                      javascript.0	2020-02-23 14:26:11.142	warn	(7569) at CO2Monitor.monitor.on (script.js.test1:53:5)
                      javascript.0	2020-02-23 14:26:11.142	warn	(7569) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1404:20)
                      javascript.0	2020-02-23 14:26:11.141	warn	(7569) You are assigning a number to the state "javascript.0.co2sensor.co2" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become a
                      
                      

                      Leider bekomme ich in den Objekten nur die Temperatur angezeigt.

                      5bc6dc90-a35f-49fb-b679-638a010d3081-image.png

                      Hast du ne Idee woran das liegen könnte? Habe dein Script 1 zu 1 übernommen.

                      Grüße Christian

                      realwaxR Offline
                      realwaxR Offline
                      realwax
                      schrieb am zuletzt editiert von realwax
                      #10

                      @Christian-Schulze

                      Du bekommst einige Warnungen aus dem Skript und anderen Modulen, da sind meine Skills zu schwach um wirklich zu helfen, ABER die letzte Zeile und die sagt, dein co2 Objekt ist vom Typ "String" also Text, anstelle von "number" Bitte ändere das Objekt von string zu number (deutsch Zeichenkette zu Zahl - drück mal auf den Bleistift neben dem Mistkübel). Vielleicht klappt es dann.

                      Die restlichen Warnungen hmmm.... die Frage ist vermutlich hier welche Version von javascript, admin, npm/nodejs ist installiert. Aber wie gesagt, kein Profi um hier gut weiterzuhelfen. Kann dir meine sagen... 6.13 und 10.0.17 und die js engine 4.4.2. - die usb lib wird mitinstalliert, da depencies.... wichtig ist auch, dass die Rechte auf das usb device passen, siehe weiter oben in den Posts, aber da du Temperatur Werte bekommst, ist das gegeben.

                      Versuch mal das Umstellen auf Zahl und schick einfach nochmal dein debug - wenn ich helfen kann tue ich das gerne!

                      Viel Erfolg!

                      1 Antwort Letzte Antwort
                      0
                      • bowaoB Offline
                        bowaoB Offline
                        bowao
                        Developer
                        schrieb am zuletzt editiert von
                        #11

                        Hi,

                        bin zufällig über diesen alten thread gestolpert.
                        Ich habe vor geraumer Zeit einen ioBroker-Adapter für den CO2 Monitor zusammengebastelt und seither bei mir im Einsatz.

                        Falls interesse besteht, schaut mal unter: https://github.com/bowao/ioBroker.co2mini

                        T R 2 Antworten Letzte Antwort
                        2
                        • bowaoB bowao

                          Hi,

                          bin zufällig über diesen alten thread gestolpert.
                          Ich habe vor geraumer Zeit einen ioBroker-Adapter für den CO2 Monitor zusammengebastelt und seither bei mir im Einsatz.

                          Falls interesse besteht, schaut mal unter: https://github.com/bowao/ioBroker.co2mini

                          T Offline
                          T Offline
                          Tiggr
                          schrieb am zuletzt editiert von
                          #12

                          @bowao Habs gerade eingerichtet und es funktionierte auf Anhieb, vielen Dank! :+1:

                          1 Antwort Letzte Antwort
                          0
                          • bowaoB bowao

                            Hi,

                            bin zufällig über diesen alten thread gestolpert.
                            Ich habe vor geraumer Zeit einen ioBroker-Adapter für den CO2 Monitor zusammengebastelt und seither bei mir im Einsatz.

                            Falls interesse besteht, schaut mal unter: https://github.com/bowao/ioBroker.co2mini

                            R Offline
                            R Offline
                            RockDude
                            schrieb am zuletzt editiert von
                            #13

                            @bowao: Super! Vielen Dank. Das erleichtert einiges!

                            Für alle, die (wie ich) kurz überlegen müssten, wie man einen Adapter aus GitHub direkt installiert:

                            Im Admin-Panel unter Adapter:
                            74e9b2f7-9594-4e58-ae2d-e5cec097c973-grafik.png

                            09c0dff6-77fc-4b7c-b712-0150c84ad209-grafik.png

                            Dann den Adapter noch unter "Apater" hinzufügen.

                            Grüße, Stefan

                            HomoranH 1 Antwort Letzte Antwort
                            0
                            • R RockDude

                              @bowao: Super! Vielen Dank. Das erleichtert einiges!

                              Für alle, die (wie ich) kurz überlegen müssten, wie man einen Adapter aus GitHub direkt installiert:

                              Im Admin-Panel unter Adapter:
                              74e9b2f7-9594-4e58-ae2d-e5cec097c973-grafik.png

                              09c0dff6-77fc-4b7c-b712-0150c84ad209-grafik.png

                              Dann den Adapter noch unter "Apater" hinzufügen.

                              Grüße, Stefan

                              HomoranH Nicht stören
                              HomoranH Nicht stören
                              Homoran
                              Global Moderator Administrators
                              schrieb am zuletzt editiert von Homoran
                              #14

                              @RockDude sagte in Projekt: CO2 Monitor TFA Dostmann:

                              Dann den Adapter noch unter "Apater" hinzufügen.

                              du meinst sicherlich "über die Seite Adapter noch eine Instanz erstellen", oder?

                              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              1 Antwort Letzte Antwort
                              0
                              • ruhr70R ruhr70

                                CO2 Monitor von TFA Dostmann

                                Getestet unter:

                                • Windows 10 am Intel NUC

                                • Rasbian am Raspberry Pi3

                                CO2 Moonitor bei Amazon: http://amzn.to/2jCGGfQ

                                ca.: 65,00 EUR

                                Am Gerät interessant:

                                • kleines schickes Gehäuse

                                • mit LCD für Anzeige CO2 und Temperatur

                                • LED Ampel für CO2 (rot/gelb/grün). Direkte Visualisierung an der Messstelle

                                • Messergebnisse einigermaßen schlüssig

                                • der verwendete Sensor soll für 15 Jahre ausgelegt sein

                                • schnell realisierbar, keine Anfertigung von Hardware nötig

                                Bild vom CO2 Monitor:
                                327_tfa_hostmann_co2_monitor.jpg

                                Den CO2 Monitor gibt es auch von anderen Herstellern. Über zwei Schalter sind diverse Einstellungen möglich. Bei der Version von TFA Dosmann sind diese Schalter im Gehäuse und man muss die Rückwand abnehmen um diese zu erreichen. Ich habe die Schalter nicht benötigt.

                                Webseite eines anderen Herstellers(Anbieters:

                                https://www.co2meter.com/products/co2mi … ty-monitor

                                Dokumentation der beiden Tasten:

                                http://co2meters.com/Documentation/Manu … D-0301.pdf

                                Beschreibung des USB-Protokolls:

                                http://www.co2meters.com/Documentation/ … otocol.pdf

                                Dort gibt es auch eine ältere Windowssoftware (läuft unter Windows 10), die die Messwerte lokal in einer Tabelle speichert, sie grafisch anzeigt und die beim Erreichen von Schwellwerten eine Alarminfo anzeigen kann.

                                http://co2meters.com/co2mini/co2mini-install.zip

                                Das Gerät kalibriert sich automatisch, in dem es den niedrigsten Wert einer Woche als Basis nimmt.

                                Bisher hatte ich das Gerät nicht produktiv eingesetzt, da ich das Beenden der Kommunikation zum Gerät beim Skript-Stop nicht hinbekommen habe.

                                Die Lösung stand dann im Forum, die ich leider erst später gesehen habe (danke an den User redoced)

                                http://forum.iobroker.net/viewtopic.php … =20#p69382

                                Andere CO2 Projekte im ioBroker Forum

                                CO2 Monitor auf Basis eines Wemos und einem ZH-19 Sensor

                                http://forum.iobroker.net/viewtopic.php … 009#p96012

                                Von: spaceduck

                                • sehr günstig

                                • klein und Kompakt (Steckernetzgerätgehäuse)

                                Sobald der ZH-19 aus China eingetroffen ist, werde ich das Projekt auf jeden Fall nachbauen und mit dem Dostmann vergleichen.

                                Wäre eine schöne Ergänzung in Räumen, in denen ich eine direkte optische Signalisierung nicht benötige.

                                iAQ Core-C von ams

                                http://forum.iobroker.net/viewtopic.php … co2#p37143

                                D Offline
                                D Offline
                                Dragon
                                schrieb am zuletzt editiert von
                                #15

                                @ruhr70 Ich habe zwei exemplare der ZH-19 laufen. einen 5000er und einen 2000er. Die Geräte liegen direkt nebeneinander und haben ca 350 ppm Differenz und ich weiß nicht warum...

                                HomoranH 1 Antwort Letzte Antwort
                                0
                                • D Dragon

                                  @ruhr70 Ich habe zwei exemplare der ZH-19 laufen. einen 5000er und einen 2000er. Die Geräte liegen direkt nebeneinander und haben ca 350 ppm Differenz und ich weiß nicht warum...

                                  HomoranH Nicht stören
                                  HomoranH Nicht stören
                                  Homoran
                                  Global Moderator Administrators
                                  schrieb am zuletzt editiert von Homoran
                                  #16

                                  @David-Froebus du weisst schon dass der Beitrag von

                                  ruhr70 19. Nov. 2017, 11:42

                                  3 Jahre alt ist?

                                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  D 1 Antwort Letzte Antwort
                                  0
                                  • HomoranH Homoran

                                    @David-Froebus du weisst schon dass der Beitrag von

                                    ruhr70 19. Nov. 2017, 11:42

                                    3 Jahre alt ist?

                                    D Offline
                                    D Offline
                                    Dragon
                                    schrieb am zuletzt editiert von
                                    #17

                                    @Homoran Super Tip, habe ich nicht gesehen, Danke!

                                    1 Antwort Letzte Antwort
                                    0
                                    • T Offline
                                      T Offline
                                      tristan
                                      schrieb am zuletzt editiert von
                                      #18

                                      Hallo Zusammen,

                                      gibts zum Thema CO2-Melder und MQTT auch aktuellere Topics? Ich finde nur selbstbau-Lösungen mit EPS+Sensor. Finde aber die Erweiterung eines vollständigen Gehäuses ganz attraktiv.

                                      VG Tristan

                                      1 Antwort Letzte Antwort
                                      0
                                      Antworten
                                      • In einem neuen Thema antworten
                                      Anmelden zum Antworten
                                      • Älteste zuerst
                                      • Neuste zuerst
                                      • Meiste Stimmen


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      853

                                      Online

                                      32.5k

                                      Benutzer

                                      81.6k

                                      Themen

                                      1.3m

                                      Beiträge
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                      ioBroker Community 2014-2025
                                      logo
                                      • Anmelden

                                      • Du hast noch kein Konto? Registrieren

                                      • Anmelden oder registrieren, um zu suchen
                                      • Erster Beitrag
                                        Letzter Beitrag
                                      0
                                      • Home
                                      • Aktuell
                                      • Tags
                                      • Ungelesen 0
                                      • Kategorien
                                      • Unreplied
                                      • Beliebt
                                      • GitHub
                                      • Docu
                                      • Hilfe