Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Homekit Luftwerte ausgeben als Qualität

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Homekit Luftwerte ausgeben als Qualität

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TomTom24 last edited by TomTom24

      Mit diesem Script steuere ich in Homekit die Anzeige der Luftqualität. Der schlechtere der beiden Werte wird für die Gesamtbewertung genommen.
      IMG_5077.jpeg IMG_5078.PNG

      Was braucht ihr:

      1. CO2 oder
      2. VOC oder
      3. beides
      4. Yhaka Adapter

      Einbauen:

      1. Script in global_Funktionen einfügen
      // Luftqualität für Homekit
      // 1 beste Qualität, 5 schlechteste Qualität 
      // es wird immer die schlechteste Qualität ausgegeben.
      
      function bewerteLuftqualitaet(co2, voc) {
        var co2Bewertung = 0;
        var vocBewertung = 0;
      // 1 sehr gut - 5 sehr schlecht
        if (co2 < 800) {
          co2Bewertung = 1;
        } else if (co2 < 1000) {
          co2Bewertung = 2;
        } else if (co2 < 1200) {
          co2Bewertung = 3;
        } else if (co2 < 1400) {
          co2Bewertung = 4;
        } else {
          co2Bewertung = 5;
        }
      
        if (voc < 65) {
          vocBewertung = 1;
        } else if (voc < 220) {
          vocBewertung = 2;
        } else if (voc < 660) {
          vocBewertung = 3;
        } else if (voc < 5500) {
          vocBewertung = 4;
        } else {
          vocBewertung = 5;
        }
      
        if (co2Bewertung > vocBewertung) {
          return co2Bewertung ;
        } else {
          return vocBewertung;
        }
      }
      
      

      2. Datenpunkte anlegen:
      Ihr müsst für jeden Raum einen Raumklima Wert anlegen. Wenn ihr meine Pfade nutzt, müsst ihr nichts weiter anpassen:
      0_userdata.0.Raumklima.Raumklima_<raum>
      Den Raumnamen nehme ich aus dem Objektname des Auslösers - dass heißt, dass der Raumname immer gleich sein muss, sonst wird nichts geschrieben.

      objekte_raumklima_iobroker.jpg

      Das folgende Script müsst ihr noch anlegen und laufen lassen. Die Sensoren lese ich als array aus - da müsst ihr mal schauen, wie die bei Euch heißen. Meine werden über openknx ausgelesen und kommen von Steinel true presence - bei mir heissen die immer

      • CO2_Messwert
      • VOC_Messwert
      // Luftqualität für Homekit berechnen
      
      on({ id: [].concat(Array.prototype.slice.apply($('channel[state.id=*VOC_Messwert*]'))).concat(Array.prototype.slice.apply($('channel[state.id=*CO2_Messwert*]'))), change: 'ne' }, async (obj) => {
      console.log('Datenpunkt ' + obj.id + ' wurde geändert.');    
      
      // hier lese ich den Raum aus meinen KNX Daten, in dem ich den String nach Punkten teile und mir das Teil mit dem Raumname nehme. 
      var datenpunkt = obj.id;
      var teile = datenpunkt.split('.');
      //console.log(teile);
      var haus = teile[4];
      //console.log("haus:" + haus)
      teile = haus.split('_');
      var raum = teile[0];
      
      // jetzt baue ich den Raumnamen ein, so dass das ganze Script übersichtlich bleibt.
      
      var co2=getState("openknx.0.Messwerte_BWM.Haus."+raum+"_CO2_Messwert").val;
      var voc=getState("openknx.0.Messwerte_BWM.Haus."+raum+"_VOC_Messwert").val;
      setState("0_userdata.0.Raumklima.Raumklima_"+raum,bewerteLuftqualitaet(co2,voc));
      console.log(raum + "-Luftqualität: "+bewerteLuftqualitaet(co2,voc) );
      });
      
      

      In Yahka legt ihr einen Airquality Sensor an.
      In den Datenpunkten Airqality tragt ihr dann den Datenpunkt für die Qualität ein
      z.b. Arbeitszimmer: 0_userdata.0.Raumklima.Raumklima_Arbeitszimmer
      Ihr könnt natürlich noch unter dem Voc Sensor die Vocdaten eintragen.

      yahka2.jpg yahka3.jpg

      Das war es schon. Bei Fragen einfach fragen.
      Gruß Tom

      B 1 Reply Last reply Reply Quote 1
      • B
        BooStar @TomTom24 last edited by

        @tomtom24
        Hallo Tom,
        vielen Dank für diese Lösung. Ich habe nach deiner Anleitung erfolgreich einen KNX-Sensor in HomeKit integrieren können. Ich suche allerdings noch nach einer Lösung um die ppb, welche vom KNX-Sensor (ebenfalls ein Steinel Multisensor) kommen, nach ug/m³ umzurechnen.
        Auch die Möglichkeit die Einheit in HomeKit zu ändern habe ich nicht gefunden.

        Hast du vielleicht eine idee?

        LG
        BooStar

        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate

        928
        Online

        31.7k
        Users

        79.7k
        Topics

        1.3m
        Posts

        2
        2
        214
        Loading More Posts
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes
        Reply
        • Reply as topic
        Log in to reply
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
        The ioBroker Community 2014-2023
        logo