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. Cloud Dienste
  4. Keine smarte Geräte im iot Adapter

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    927

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Keine smarte Geräte im iot Adapter

Geplant Angeheftet Gesperrt Verschoben Cloud Dienste
iot
24 Beiträge 5 Kommentatoren 2.2k Aufrufe 2 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.
  • M Offline
    M Offline
    markus-now
    schrieb am zuletzt editiert von
    #6

    hier sieht man auch im iot Blog, das das Anlegen eigentlich funktioniert.100.PNG
    101.PNG
    Link Text

    Wie gesagt sollte eigentlich alles in dem Skript passieren, aber manuell kann ich sie auch nicht anlegen.

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      markus-now
      schrieb am zuletzt editiert von
      #7

      Hat keiner eine Idee, ich suche mich dumm und dusselig.

      dslraserD 1 Antwort Letzte Antwort
      0
      • M markus-now

        Hat keiner eine Idee, ich suche mich dumm und dusselig.

        dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #8

        @markus-now
        ich hatte mal ein ähnliches Problem.
        Beim Datenpunkt erstellen mit write auf true ging das einfügen. Das habe ich dann hinterher wieder auf false geändert.

        Dein Script im Spoiler ist irgendwie nicht richtig in Code Tag eingepackt...

        M 1 Antwort Letzte Antwort
        0
        • dslraserD dslraser

          @markus-now
          ich hatte mal ein ähnliches Problem.
          Beim Datenpunkt erstellen mit write auf true ging das einfügen. Das habe ich dann hinterher wieder auf false geändert.

          Dein Script im Spoiler ist irgendwie nicht richtig in Code Tag eingepackt...

          M Offline
          M Offline
          markus-now
          schrieb am zuletzt editiert von
          #9

          @dslraser Danke für die Info, ich sitze schon 14 h an der Maschine muss abbrechen, aber wie kann ich den Code richtig einfügen. Melde mich morgen nochmal.
          // Program Ventilation Check
          /*

          • @author Moritz Heusinger moritz.heusinger@gmail.com
          • The program checks the absolute humidity of an inside room and outside.
          • If the difference is above a specified threshold, a ventilation recommendation
          • is set as state. The absolute humidity values are set as state too.
          • The script also contains a datapoint, which triggers speech output of the
          • last used Amazon Alexa device.
          • Require: Instance of Alexa2 Adapter
          • Create your rooms in the rooms array with a name and the states which contain the desired values.
          • Humidity Threshold is used to only give a ventilate claculation if outside absolute humidity - the
          • threshold is less than inside absolute humidity. Min Humidity is used to make sure that you only get a
          • ventilation recommendation, if the relative inside humidity is above the min value.
          • Also configure javascript instance if it differs from 0.
            */

          const logging = true;
          const javaScriptInstance = 0;
          const rooms = [
          {
          roomName: aufenthaltsraum,
          outsideHumidityState: 'hm-rpc.0.000ED8A9A28112.1.HUMIDITY',/Garten Temperatursensor:1 HUMIDITY/
          outsideTemperatureState: 'hm-rpc.0.000ED8A9A28112.1.ACTUAL_TEMPERATURE',/Garten Temperatursensor:1 ACTUAL TEMPERATURE/
          insideHumidityState: 'hm-rpc.0.000CD709A78225.1.HUMIDITY',/DG Aufenthaltsraum Wandthermostat:1 HUMIDITY/
          insideTemperatureState: 'hm-rpc.0.000CD709A78225.1.ACTUAL_TEMPERATURE',/DG Aufenthaltsraum Wandthermostat:1 ACTUAL TEMPERATURE/
          humidityThreshold: 2, /* YOU ARE ALLOWED TO CHANGE IF YOU WANT /
          minHumidity: 45 /
          YOU ARE ALLOWED TO CHANGE IF YOU WANT /
          },
          {
          roomName: badezimmer,
          outsideHumidityState: 'hm-rpc.0.000ED8A9A28112.1.HUMIDITY',/Garten Temperatursensor:1 HUMIDITY/
          outsideTemperatureState: 'hm-rpc.0.000ED8A9A28112.1.ACTUAL_TEMPERATURE',/Garten Temperatursensor:1 ACTUAL TEMPERATURE/
          insideHumidityState: 'hm-rpc.0.000CD709A7817D.1.HUMIDITY',/OG Badezimmer Wandthermostat:1 HUMIDITY/
          insideTemperatureState: 'hm-rpc.0.000CD709A7817D.1.ACTUAL_TEMPERATURE',/OG Badezimmer Wandthermostat:1 ACTUAL TEMPERATURE/
          humidityThreshold: 2, /
          YOU ARE ALLOWED TO CHANGE IF YOU WANT /
          minHumidity: 45 /
          YOU ARE ALLOWED TO CHANGE IF YOU WANT /
          },
          {
          roomName: dgflur,
          outsideHumidityState: 'hm-rpc.0.000ED8A9A28112.1.HUMIDITY',/Garten Temperatursensor:1 HUMIDITY/
          outsideTemperatureState: 'hm-rpc.0.000ED8A9A28112.1.ACTUAL_TEMPERATURE',/Garten Temperatursensor:1 ACTUAL TEMPERATURE/
          insideHumidityState: 'hm-rpc.0.000CD709A7807D.1.HUMIDITY',/DG Flur Wandthermostat:1 HUMIDITY/
          insideTemperatureState: 'hm-rpc.0.000CD709A7807D.1.ACTUAL_TEMPERATURE',/DG Flur Wandthermostat:1 ACTUAL TEMPERATURE/
          humidityThreshold: 2, /
          YOU ARE ALLOWED TO CHANGE IF YOU WANT /
          minHumidity: 45 /
          YOU ARE ALLOWED TO CHANGE IF YOU WANT /
          },
          {
          roomName: gaestezimmer,
          outsideHumidityState: 'hm-rpc.0.000ED8A9A28112.1.HUMIDITY',/Garten Temperatursensor:1 HUMIDITY/
          outsideTemperatureState: 'hm-rpc.0.000ED8A9A28112.1.ACTUAL_TEMPERATURE',/Garten Temperatursensor:1 ACTUAL TEMPERATURE/
          insideHumidityState: 'hm-rpc.0.000CD709A7817F.1.HUMIDITY',/DG Gaestezimmer Wandthermostat:1 HUMIDITY/
          insideTemperatureState: 'hm-rpc.0.000CD709A7817F.1.ACTUAL_TEMPERATURE',/DG Gaestezimmer Wandthermostat:1 ACTUAL TEMPERATURE/
          humidityThreshold: 2, /
          YOU ARE ALLOWED TO CHANGE IF YOU WANT /
          minHumidity: 45 /
          YOU ARE ALLOWED TO CHANGE IF YOU WANT /
          },
          {
          roomName: katzenzimmer,
          outsideHumidityState: 'hm-rpc.0.000ED8A9A28112.1.HUMIDITY',/Garten Temperatursensor:1 HUMIDITY/
          outsideTemperatureState: 'hm-rpc.0.000ED8A9A28112.1.ACTUAL_TEMPERATURE',/Garten Temperatursensor:1 ACTUAL TEMPERATURE/
          insideHumidityState: 'hm-rpc.0.000CD709A7817B.1.HUMIDITY',/DG Katzenzimmer Wandthermostat:1 HUMIDITY/
          insideTemperatureState: 'hm-rpc.0.000CD709A7817B.1.ACTUAL_TEMPERATURE',/DG Katzenzimmer Wandthermostat:1 ACTUAL TEMPERATURE/
          humidityThreshold: 2, /
          YOU ARE ALLOWED TO CHANGE IF YOU WANT /
          minHumidity: 45 /
          YOU ARE ALLOWED TO CHANGE IF YOU WANT /
          },
          {
          roomName: kinderzimmer,
          outsideHumidityState: 'hm-rpc.0.000ED8A9A28112.1.HUMIDITY',/Garten Temperatursensor:1 HUMIDITY/
          outsideTemperatureState: 'hm-rpc.0.000ED8A9A28112.1.ACTUAL_TEMPERATURE',/Garten Temperatursensor:1 ACTUAL TEMPERATURE/
          insideHumidityState: 'hm-rpc.0.000CD709A78186.1.HUMIDITY',/OG Kinderzimmer Wandthermostat:1 HUMIDITY/
          insideTemperatureState: 'hm-rpc.0.000CD709A78186.1.ACTUAL_TEMPERATURE',/OG Kinderzimmer Wandthermostat:1 ACTUAL TEMPERATURE/
          humidityThreshold: 2, /
          YOU ARE ALLOWED TO CHANGE IF YOU WANT /
          minHumidity: 45 /
          YOU ARE ALLOWED TO CHANGE IF YOU WANT /
          },
          {
          roomName: ogflur,
          outsideHumidityState: 'hm-rpc.0.000ED8A9A28112.1.HUMIDITY',/Garten Temperatursensor:1 HUMIDITY/
          outsideTemperatureState: 'hm-rpc.0.000ED8A9A28112.1.ACTUAL_TEMPERATURE',/Garten Temperatursensor:1 ACTUAL TEMPERATURE/
          insideHumidityState: 'hm-rpc.0.000CD709A78188.1.HUMIDITY',/OG Flur Wandthermostat:1 HUMIDITY/
          insideTemperatureState: 'hm-rpc.0.000CD709A78188.1.ACTUAL_TEMPERATURE',/OG Flur Wandthermostat:1 ACTUAL TEMPERATURE/
          humidityThreshold: 2, /
          YOU ARE ALLOWED TO CHANGE IF YOU WANT /
          minHumidity: 45 /
          YOU ARE ALLOWED TO CHANGE IF YOU WANT /
          },
          {
          roomName: schlafzimmer,
          outsideHumidityState: 'hm-rpc.0.000ED8A9A28112.1.HUMIDITY',/Garten Temperatursensor:1 HUMIDITY/
          outsideTemperatureState: 'hm-rpc.0.000ED8A9A28112.1.ACTUAL_TEMPERATURE',/Garten Temperatursensor:1 ACTUAL TEMPERATURE/
          insideHumidityState: 'hm-rpc.0.000CD709A780AD.1.HUMIDITY',/OG Schlafzimmer Wandthermostat:1 HUMIDITY/
          insideTemperatureState: 'hm-rpc.0.000CD709A780AD.1.ACTUAL_TEMPERATURE',/OG Schlafzimmer Wandthermostat:1 ACTUAL TEMPERATURE/
          humidityThreshold: 2, /
          YOU ARE ALLOWED TO CHANGE IF YOU WANT /
          minHumidity: 45 /
          YOU ARE ALLOWED TO CHANGE IF YOU WANT */
          }
          ];

          const triggersInsideHumidity = [];
          const triggersAlexa = [];

          for (const room of rooms) {
          createState(${room.roomName}.absoluteHumidity, {
          type: number,
          read: true,
          write: false,
          unit: g/m^3,
          name: ${room.roomName} Absolute Feuchtigkeit
          });

          createState(`${room.roomName}.outsideAbsoluteHumidity`, {
              type: `number`,
              read: true,
              write: false,
              unit: `g/m^3`,
              name: `${room.roomName} Absolute Feuchtigkeit Außen`
          });
          
          createState(`${room.roomName}.ventilationRecommendation`, {
              type: `boolean`,
              read: true,
              write: false,
              name: `${room.roomName} Lüftungsempfehlung`
          });
          
          createState(`${room.roomName}.alexaTriggerLuftfeuchtigkeit`, {
              type: `boolean`,
              read: true,
              write: true,
              role: `button`,
              name: `${room.roomName} Alexa Trigger Luftfeuchtigkeit`,
              smartName: {
                  de: `${room.roomName} Alexa Trigger Luftfeuchtigkeit`
              }
          });
          
          triggersAlexa.push(`javascript.${javaScriptInstance}.${room.roomName}.alexaTriggerLuftfeuchtigkeit`);
          triggersInsideHumidity.push(room.insideHumidityState);
          

          } // endFor

          on({id: triggersAlexa, change: any}, obj => {
          if (logging) log(Alexa ventilation check triggered, info);
          const room = rooms[triggersAlexa.indexOf(obj.id)];
          const ventilate = getState(${room.roomName}.ventilationRecommendation).val;
          const randomState = getRandomArbitrary(1, 2);
          let text;

          if(ventilate) {
              switch (randomState) {
                  case 1:
                      text = `Du solltest lüften, da es draußen trockener ist`;
                      break;
                  case 2:
                      text = `Lüfte, es ist so feucht hier drin`;
                      break;
              } // endSwitch
          } else {
              switch (randomState) {
                  case 1:
                      text = `Du solltest nicht lüften`;
                      break;
                  case 2:
                      text = `Bitte nicht lüften`;
                      break;
              } // endSwitch
          } // endElse
          
          // Get serial number of last used echo device, maybe timeout is unnecessary with new adapter version
          setTimeout(() => {
              const serialNumber = getState(`alexa2.0.History.serialNumber`).val;
              setState(`alexa2.0.Echo-Devices.${serialNumber}.Commands.speak`, text, false);
          }, 300);
          

          });

          on({id: triggersInsideHumidity, change: any}, obj => {
          const room = rooms[triggersInsideHumidity.indexOf(obj.id)];
          // Get inside and outside humidity and temperature
          const relHumidityOutdside = getState(room.outsideHumidityState).val;
          const temperatureOutside = getState(room.outsideTemperatureState).val;
          const relHumidityInside = getState(room.insideHumidityState).val;
          const temperatureInside = getState(room.insideTemperatureState).val;
          // Calc ventilation recommendation and absolute humidity inside and outside
          const jsonRes = ventilateRoom(relHumidityInside, temperatureInside, relHumidityOutdside,
          temperatureOutside, room.humidityThreshold, room.minHumidity);
          // Set states
          setState(${room.roomName}.absoluteHumidity, jsonRes.insideAbsoluteHumidity, true);
          setState(${room.roomName}.outsideAbsoluteHumidity, jsonRes.outsideAbsoluteHumidity, true);
          setState(${room.roomName}.ventilationRecommendation, jsonRes.ventilate, true);
          });

          /* Internals */

          function calcAbsoluteHumidity(relHumidity, temperature) {
          const res = ((6.112 * Math.pow(Math.E, ((17.67 * temperature) / (temperature + 243.5))) * relHumidity * 2.1674)) / (273.15 + temperature);
          return Math.round(res * 100) / 100;
          } // endCalcAbsoluteHumidity

          function ventilateRoom(relHumidityInside, tempInside, relHumidityOutside, tempOutside,
          threshold=2.0, minHumidity=50.0) {
          const res = {};
          res.insideAbsoluteHumidity = calcAbsoluteHumidity(relHumidityInside, tempInside);
          res.outsideAbsoluteHumidity = calcAbsoluteHumidity(relHumidityOutside, tempOutside);
          res.diff = Math.round((res.insideAbsoluteHumidity - res.outsideAbsoluteHumidity) * 100) / 100;

          if (res.diff > threshold && relHumidityInside > minHumidity)
              res.ventilate = true;
          else 
              res.ventilate = false;
          return res;
          

          } // endVentilateRoom

          function getRandomArbitrary(min, max) {
          return Math.round(Math.random() * ((max + 0.4) - (min - 0.4)) + (min - 0.4));
          } // endGetRandomArbitrary

          dslraserD 1 Antwort Letzte Antwort
          0
          • M markus-now

            @dslraser Danke für die Info, ich sitze schon 14 h an der Maschine muss abbrechen, aber wie kann ich den Code richtig einfügen. Melde mich morgen nochmal.
            // Program Ventilation Check
            /*

            • @author Moritz Heusinger moritz.heusinger@gmail.com
            • The program checks the absolute humidity of an inside room and outside.
            • If the difference is above a specified threshold, a ventilation recommendation
            • is set as state. The absolute humidity values are set as state too.
            • The script also contains a datapoint, which triggers speech output of the
            • last used Amazon Alexa device.
            • Require: Instance of Alexa2 Adapter
            • Create your rooms in the rooms array with a name and the states which contain the desired values.
            • Humidity Threshold is used to only give a ventilate claculation if outside absolute humidity - the
            • threshold is less than inside absolute humidity. Min Humidity is used to make sure that you only get a
            • ventilation recommendation, if the relative inside humidity is above the min value.
            • Also configure javascript instance if it differs from 0.
              */

            const logging = true;
            const javaScriptInstance = 0;
            const rooms = [
            {
            roomName: aufenthaltsraum,
            outsideHumidityState: 'hm-rpc.0.000ED8A9A28112.1.HUMIDITY',/Garten Temperatursensor:1 HUMIDITY/
            outsideTemperatureState: 'hm-rpc.0.000ED8A9A28112.1.ACTUAL_TEMPERATURE',/Garten Temperatursensor:1 ACTUAL TEMPERATURE/
            insideHumidityState: 'hm-rpc.0.000CD709A78225.1.HUMIDITY',/DG Aufenthaltsraum Wandthermostat:1 HUMIDITY/
            insideTemperatureState: 'hm-rpc.0.000CD709A78225.1.ACTUAL_TEMPERATURE',/DG Aufenthaltsraum Wandthermostat:1 ACTUAL TEMPERATURE/
            humidityThreshold: 2, /* YOU ARE ALLOWED TO CHANGE IF YOU WANT /
            minHumidity: 45 /
            YOU ARE ALLOWED TO CHANGE IF YOU WANT /
            },
            {
            roomName: badezimmer,
            outsideHumidityState: 'hm-rpc.0.000ED8A9A28112.1.HUMIDITY',/Garten Temperatursensor:1 HUMIDITY/
            outsideTemperatureState: 'hm-rpc.0.000ED8A9A28112.1.ACTUAL_TEMPERATURE',/Garten Temperatursensor:1 ACTUAL TEMPERATURE/
            insideHumidityState: 'hm-rpc.0.000CD709A7817D.1.HUMIDITY',/OG Badezimmer Wandthermostat:1 HUMIDITY/
            insideTemperatureState: 'hm-rpc.0.000CD709A7817D.1.ACTUAL_TEMPERATURE',/OG Badezimmer Wandthermostat:1 ACTUAL TEMPERATURE/
            humidityThreshold: 2, /
            YOU ARE ALLOWED TO CHANGE IF YOU WANT /
            minHumidity: 45 /
            YOU ARE ALLOWED TO CHANGE IF YOU WANT /
            },
            {
            roomName: dgflur,
            outsideHumidityState: 'hm-rpc.0.000ED8A9A28112.1.HUMIDITY',/Garten Temperatursensor:1 HUMIDITY/
            outsideTemperatureState: 'hm-rpc.0.000ED8A9A28112.1.ACTUAL_TEMPERATURE',/Garten Temperatursensor:1 ACTUAL TEMPERATURE/
            insideHumidityState: 'hm-rpc.0.000CD709A7807D.1.HUMIDITY',/DG Flur Wandthermostat:1 HUMIDITY/
            insideTemperatureState: 'hm-rpc.0.000CD709A7807D.1.ACTUAL_TEMPERATURE',/DG Flur Wandthermostat:1 ACTUAL TEMPERATURE/
            humidityThreshold: 2, /
            YOU ARE ALLOWED TO CHANGE IF YOU WANT /
            minHumidity: 45 /
            YOU ARE ALLOWED TO CHANGE IF YOU WANT /
            },
            {
            roomName: gaestezimmer,
            outsideHumidityState: 'hm-rpc.0.000ED8A9A28112.1.HUMIDITY',/Garten Temperatursensor:1 HUMIDITY/
            outsideTemperatureState: 'hm-rpc.0.000ED8A9A28112.1.ACTUAL_TEMPERATURE',/Garten Temperatursensor:1 ACTUAL TEMPERATURE/
            insideHumidityState: 'hm-rpc.0.000CD709A7817F.1.HUMIDITY',/DG Gaestezimmer Wandthermostat:1 HUMIDITY/
            insideTemperatureState: 'hm-rpc.0.000CD709A7817F.1.ACTUAL_TEMPERATURE',/DG Gaestezimmer Wandthermostat:1 ACTUAL TEMPERATURE/
            humidityThreshold: 2, /
            YOU ARE ALLOWED TO CHANGE IF YOU WANT /
            minHumidity: 45 /
            YOU ARE ALLOWED TO CHANGE IF YOU WANT /
            },
            {
            roomName: katzenzimmer,
            outsideHumidityState: 'hm-rpc.0.000ED8A9A28112.1.HUMIDITY',/Garten Temperatursensor:1 HUMIDITY/
            outsideTemperatureState: 'hm-rpc.0.000ED8A9A28112.1.ACTUAL_TEMPERATURE',/Garten Temperatursensor:1 ACTUAL TEMPERATURE/
            insideHumidityState: 'hm-rpc.0.000CD709A7817B.1.HUMIDITY',/DG Katzenzimmer Wandthermostat:1 HUMIDITY/
            insideTemperatureState: 'hm-rpc.0.000CD709A7817B.1.ACTUAL_TEMPERATURE',/DG Katzenzimmer Wandthermostat:1 ACTUAL TEMPERATURE/
            humidityThreshold: 2, /
            YOU ARE ALLOWED TO CHANGE IF YOU WANT /
            minHumidity: 45 /
            YOU ARE ALLOWED TO CHANGE IF YOU WANT /
            },
            {
            roomName: kinderzimmer,
            outsideHumidityState: 'hm-rpc.0.000ED8A9A28112.1.HUMIDITY',/Garten Temperatursensor:1 HUMIDITY/
            outsideTemperatureState: 'hm-rpc.0.000ED8A9A28112.1.ACTUAL_TEMPERATURE',/Garten Temperatursensor:1 ACTUAL TEMPERATURE/
            insideHumidityState: 'hm-rpc.0.000CD709A78186.1.HUMIDITY',/OG Kinderzimmer Wandthermostat:1 HUMIDITY/
            insideTemperatureState: 'hm-rpc.0.000CD709A78186.1.ACTUAL_TEMPERATURE',/OG Kinderzimmer Wandthermostat:1 ACTUAL TEMPERATURE/
            humidityThreshold: 2, /
            YOU ARE ALLOWED TO CHANGE IF YOU WANT /
            minHumidity: 45 /
            YOU ARE ALLOWED TO CHANGE IF YOU WANT /
            },
            {
            roomName: ogflur,
            outsideHumidityState: 'hm-rpc.0.000ED8A9A28112.1.HUMIDITY',/Garten Temperatursensor:1 HUMIDITY/
            outsideTemperatureState: 'hm-rpc.0.000ED8A9A28112.1.ACTUAL_TEMPERATURE',/Garten Temperatursensor:1 ACTUAL TEMPERATURE/
            insideHumidityState: 'hm-rpc.0.000CD709A78188.1.HUMIDITY',/OG Flur Wandthermostat:1 HUMIDITY/
            insideTemperatureState: 'hm-rpc.0.000CD709A78188.1.ACTUAL_TEMPERATURE',/OG Flur Wandthermostat:1 ACTUAL TEMPERATURE/
            humidityThreshold: 2, /
            YOU ARE ALLOWED TO CHANGE IF YOU WANT /
            minHumidity: 45 /
            YOU ARE ALLOWED TO CHANGE IF YOU WANT /
            },
            {
            roomName: schlafzimmer,
            outsideHumidityState: 'hm-rpc.0.000ED8A9A28112.1.HUMIDITY',/Garten Temperatursensor:1 HUMIDITY/
            outsideTemperatureState: 'hm-rpc.0.000ED8A9A28112.1.ACTUAL_TEMPERATURE',/Garten Temperatursensor:1 ACTUAL TEMPERATURE/
            insideHumidityState: 'hm-rpc.0.000CD709A780AD.1.HUMIDITY',/OG Schlafzimmer Wandthermostat:1 HUMIDITY/
            insideTemperatureState: 'hm-rpc.0.000CD709A780AD.1.ACTUAL_TEMPERATURE',/OG Schlafzimmer Wandthermostat:1 ACTUAL TEMPERATURE/
            humidityThreshold: 2, /
            YOU ARE ALLOWED TO CHANGE IF YOU WANT /
            minHumidity: 45 /
            YOU ARE ALLOWED TO CHANGE IF YOU WANT */
            }
            ];

            const triggersInsideHumidity = [];
            const triggersAlexa = [];

            for (const room of rooms) {
            createState(${room.roomName}.absoluteHumidity, {
            type: number,
            read: true,
            write: false,
            unit: g/m^3,
            name: ${room.roomName} Absolute Feuchtigkeit
            });

            createState(`${room.roomName}.outsideAbsoluteHumidity`, {
                type: `number`,
                read: true,
                write: false,
                unit: `g/m^3`,
                name: `${room.roomName} Absolute Feuchtigkeit Außen`
            });
            
            createState(`${room.roomName}.ventilationRecommendation`, {
                type: `boolean`,
                read: true,
                write: false,
                name: `${room.roomName} Lüftungsempfehlung`
            });
            
            createState(`${room.roomName}.alexaTriggerLuftfeuchtigkeit`, {
                type: `boolean`,
                read: true,
                write: true,
                role: `button`,
                name: `${room.roomName} Alexa Trigger Luftfeuchtigkeit`,
                smartName: {
                    de: `${room.roomName} Alexa Trigger Luftfeuchtigkeit`
                }
            });
            
            triggersAlexa.push(`javascript.${javaScriptInstance}.${room.roomName}.alexaTriggerLuftfeuchtigkeit`);
            triggersInsideHumidity.push(room.insideHumidityState);
            

            } // endFor

            on({id: triggersAlexa, change: any}, obj => {
            if (logging) log(Alexa ventilation check triggered, info);
            const room = rooms[triggersAlexa.indexOf(obj.id)];
            const ventilate = getState(${room.roomName}.ventilationRecommendation).val;
            const randomState = getRandomArbitrary(1, 2);
            let text;

            if(ventilate) {
                switch (randomState) {
                    case 1:
                        text = `Du solltest lüften, da es draußen trockener ist`;
                        break;
                    case 2:
                        text = `Lüfte, es ist so feucht hier drin`;
                        break;
                } // endSwitch
            } else {
                switch (randomState) {
                    case 1:
                        text = `Du solltest nicht lüften`;
                        break;
                    case 2:
                        text = `Bitte nicht lüften`;
                        break;
                } // endSwitch
            } // endElse
            
            // Get serial number of last used echo device, maybe timeout is unnecessary with new adapter version
            setTimeout(() => {
                const serialNumber = getState(`alexa2.0.History.serialNumber`).val;
                setState(`alexa2.0.Echo-Devices.${serialNumber}.Commands.speak`, text, false);
            }, 300);
            

            });

            on({id: triggersInsideHumidity, change: any}, obj => {
            const room = rooms[triggersInsideHumidity.indexOf(obj.id)];
            // Get inside and outside humidity and temperature
            const relHumidityOutdside = getState(room.outsideHumidityState).val;
            const temperatureOutside = getState(room.outsideTemperatureState).val;
            const relHumidityInside = getState(room.insideHumidityState).val;
            const temperatureInside = getState(room.insideTemperatureState).val;
            // Calc ventilation recommendation and absolute humidity inside and outside
            const jsonRes = ventilateRoom(relHumidityInside, temperatureInside, relHumidityOutdside,
            temperatureOutside, room.humidityThreshold, room.minHumidity);
            // Set states
            setState(${room.roomName}.absoluteHumidity, jsonRes.insideAbsoluteHumidity, true);
            setState(${room.roomName}.outsideAbsoluteHumidity, jsonRes.outsideAbsoluteHumidity, true);
            setState(${room.roomName}.ventilationRecommendation, jsonRes.ventilate, true);
            });

            /* Internals */

            function calcAbsoluteHumidity(relHumidity, temperature) {
            const res = ((6.112 * Math.pow(Math.E, ((17.67 * temperature) / (temperature + 243.5))) * relHumidity * 2.1674)) / (273.15 + temperature);
            return Math.round(res * 100) / 100;
            } // endCalcAbsoluteHumidity

            function ventilateRoom(relHumidityInside, tempInside, relHumidityOutside, tempOutside,
            threshold=2.0, minHumidity=50.0) {
            const res = {};
            res.insideAbsoluteHumidity = calcAbsoluteHumidity(relHumidityInside, tempInside);
            res.outsideAbsoluteHumidity = calcAbsoluteHumidity(relHumidityOutside, tempOutside);
            res.diff = Math.round((res.insideAbsoluteHumidity - res.outsideAbsoluteHumidity) * 100) / 100;

            if (res.diff > threshold && relHumidityInside > minHumidity)
                res.ventilate = true;
            else 
                res.ventilate = false;
            return res;
            

            } // endVentilateRoom

            function getRandomArbitrary(min, max) {
            return Math.round(Math.random() * ((max + 0.4) - (min - 0.4)) + (min - 0.4));
            } // endGetRandomArbitrary

            dslraserD Offline
            dslraserD Offline
            dslraser
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #10

            @markus-now

            es gab auch schon andere Beiträge hier im Forum, ist aber schon länger her. Ich suche noch einen bestimmten, den finde ich aber gerade nicht.
            Hier ein ähnliches Problem mit Lösungsansatz.

            https://forum.iobroker.net/post/149413

            M 1 Antwort Letzte Antwort
            0
            • dslraserD dslraser

              @markus-now

              es gab auch schon andere Beiträge hier im Forum, ist aber schon länger her. Ich suche noch einen bestimmten, den finde ich aber gerade nicht.
              Hier ein ähnliches Problem mit Lösungsansatz.

              https://forum.iobroker.net/post/149413

              M Offline
              M Offline
              markus-now
              schrieb am zuletzt editiert von
              #11

              @dslraser
              okay Danke.
              Hört sich gut an, werde ich heute Nachmittag wenn ich nach Hause komme gleich mal versuchen.

              dslraserD 1 Antwort Letzte Antwort
              0
              • M markus-now

                @dslraser
                okay Danke.
                Hört sich gut an, werde ich heute Nachmittag wenn ich nach Hause komme gleich mal versuchen.

                dslraserD Offline
                dslraserD Offline
                dslraser
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #12

                @markus-now

                1 und 2 funktioniert (A und AA) und 3 und 4 (AAA und AAAA) nicht

                //Datenpunkt erstellen
                createState("1", {
                    name: '1', 
                    role: 'button',
                    type: 'boolean', 
                    read:  true, 
                    write: true,
                    "smartName": {
                    "de": "A",
                    "smartType": "SWITCH"
                }
                });
                
                //Datenpunkt erstellen
                createState("2", {
                    name: '2', 
                    role: 'button',
                    type: 'boolean', 
                    read:  false, 
                    write: true,
                    "smartName": {
                    "de": "AA",
                    "smartType": "SWITCH"
                }
                });
                //Datenpunkt erstellen
                createState("3", {
                    name: '3', 
                    role: 'button',
                    type: 'boolean', 
                    read:  false, 
                    write: false,
                    "smartName": {
                    "de": "AAA",
                    "smartType": "SWITCH"
                }
                });
                //Datenpunkt erstellen
                createState("4", {
                    name: '4', 
                    role: 'button',
                    type: 'boolean', 
                    read:  true, 
                    write: false,
                    "smartName": {
                    "de": "AAAA",
                    "smartType": "SWITCH"
                }
                });
                

                Ergebnis:

                Bildschirmfoto 2019-05-16 um 09.06.42.png

                Bildschirmfoto 2019-05-16 um 09.07.24.png

                AlCalzoneA M 2 Antworten Letzte Antwort
                0
                • dslraserD dslraser

                  @markus-now

                  1 und 2 funktioniert (A und AA) und 3 und 4 (AAA und AAAA) nicht

                  //Datenpunkt erstellen
                  createState("1", {
                      name: '1', 
                      role: 'button',
                      type: 'boolean', 
                      read:  true, 
                      write: true,
                      "smartName": {
                      "de": "A",
                      "smartType": "SWITCH"
                  }
                  });
                  
                  //Datenpunkt erstellen
                  createState("2", {
                      name: '2', 
                      role: 'button',
                      type: 'boolean', 
                      read:  false, 
                      write: true,
                      "smartName": {
                      "de": "AA",
                      "smartType": "SWITCH"
                  }
                  });
                  //Datenpunkt erstellen
                  createState("3", {
                      name: '3', 
                      role: 'button',
                      type: 'boolean', 
                      read:  false, 
                      write: false,
                      "smartName": {
                      "de": "AAA",
                      "smartType": "SWITCH"
                  }
                  });
                  //Datenpunkt erstellen
                  createState("4", {
                      name: '4', 
                      role: 'button',
                      type: 'boolean', 
                      read:  true, 
                      write: false,
                      "smartName": {
                      "de": "AAAA",
                      "smartType": "SWITCH"
                  }
                  });
                  

                  Ergebnis:

                  Bildschirmfoto 2019-05-16 um 09.06.42.png

                  Bildschirmfoto 2019-05-16 um 09.07.24.png

                  AlCalzoneA Offline
                  AlCalzoneA Offline
                  AlCalzone
                  Developer
                  schrieb am zuletzt editiert von
                  #13

                  @dslraser Macht Sinn. Ein Button, der nicht beschreibbar ist, hat keine Funktion.

                  Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                  M 1 Antwort Letzte Antwort
                  0
                  • dslraserD dslraser

                    @markus-now

                    1 und 2 funktioniert (A und AA) und 3 und 4 (AAA und AAAA) nicht

                    //Datenpunkt erstellen
                    createState("1", {
                        name: '1', 
                        role: 'button',
                        type: 'boolean', 
                        read:  true, 
                        write: true,
                        "smartName": {
                        "de": "A",
                        "smartType": "SWITCH"
                    }
                    });
                    
                    //Datenpunkt erstellen
                    createState("2", {
                        name: '2', 
                        role: 'button',
                        type: 'boolean', 
                        read:  false, 
                        write: true,
                        "smartName": {
                        "de": "AA",
                        "smartType": "SWITCH"
                    }
                    });
                    //Datenpunkt erstellen
                    createState("3", {
                        name: '3', 
                        role: 'button',
                        type: 'boolean', 
                        read:  false, 
                        write: false,
                        "smartName": {
                        "de": "AAA",
                        "smartType": "SWITCH"
                    }
                    });
                    //Datenpunkt erstellen
                    createState("4", {
                        name: '4', 
                        role: 'button',
                        type: 'boolean', 
                        read:  true, 
                        write: false,
                        "smartName": {
                        "de": "AAAA",
                        "smartType": "SWITCH"
                    }
                    });
                    

                    Ergebnis:

                    Bildschirmfoto 2019-05-16 um 09.06.42.png

                    Bildschirmfoto 2019-05-16 um 09.07.24.png

                    M Offline
                    M Offline
                    markus-now
                    schrieb am zuletzt editiert von
                    #14

                    @dslraser
                    Ich habe seit gestern vieles versucht Test Butten angelegt (nur lesen, nur schreiben und und und).
                    Ich blicke überhaupt nicht mehr durch, wo ich noch ansetzen kann.
                    00000.PNG
                    1111111.PNG

                    Hatte vorher immer funktioniert, wo ich noch den Cloud Adapter hatte.
                    Ist da irgendetwas mit den Adaptern?
                    Hat vorhin nämlich auch noch irgendwie einen hm-rpc.3 Adapter im Hintergrund laufen.
                    Den hatte ich mal testweise mal installiert und wieder gelöscht trotzdem hatte er mir in der Objektübersicht immer wieder den Ordner .3 erstellt.
                    Hate den Adapter dann über das terminal gelöscht und alles war gut.
                    Lange rede kurzer Sinn was ich damit sagen will ist, habe ich eventuell Probleme mit meinem System allgemein.

                    Ich hatte vorher auch keine Probleme mit den smarten Aufzählungen die jetzt auch nicht mehr auftauchen.

                    1 Antwort Letzte Antwort
                    0
                    • D Offline
                      D Offline
                      dornkaat
                      schrieb am zuletzt editiert von
                      #15

                      Moin,
                      ich bin auch "dummerweise" auf den iot adapter umgestiegen, weil es heisst der ALEXA Adapter wird abgeschaltet.
                      Ich konnte vorher mit Alexa prima meinen Rasenmäher Starten und Stoppen , was nun nicht mehr funzt .
                      Hab ich was faslch gemacht ? Der adapter hat die smartgeräte gefunden , muss ich deie anderen 2 adapter Alexa und den Cloudapadter löschen ??
                      Dann läuft auch bmein e Rufnummern ansage mit Alexa nicht mehr ...
                      Seufz

                      LG Dornkaat

                      Altes Computerwesen :)

                      Heimautomation mit IO-Broker auf PI3+B :?: :shock:

                      ESP8266 Neuling (need some Help) :mrgreen:

                      dslraserD 1 Antwort Letzte Antwort
                      0
                      • D dornkaat

                        Moin,
                        ich bin auch "dummerweise" auf den iot adapter umgestiegen, weil es heisst der ALEXA Adapter wird abgeschaltet.
                        Ich konnte vorher mit Alexa prima meinen Rasenmäher Starten und Stoppen , was nun nicht mehr funzt .
                        Hab ich was faslch gemacht ? Der adapter hat die smartgeräte gefunden , muss ich deie anderen 2 adapter Alexa und den Cloudapadter löschen ??
                        Dann läuft auch bmein e Rufnummern ansage mit Alexa nicht mehr ...
                        Seufz

                        LG Dornkaat

                        dslraserD Offline
                        dslraserD Offline
                        dslraser
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von dslraser
                        #16

                        @dornkaat
                        Wo hast Du diese Info her ? Alexa2 Adapter hat nichts mit cloud/iot Adapter zu tun und wird auch nicht abgeschaltet.

                        Du meinst sicherlich den Cloud Adapter. Dieser soll zukünftig durch iot ersetzt werden. Dazu gibt es im Forum reichlich Info und auch Anleitungen.

                        https://forum.iobroker.net/topic/18517/anleitung-iot-pro-cloud-assistenten-service-iobroker-iot-reloaded-alexa-und-services

                        1 Antwort Letzte Antwort
                        0
                        • D Offline
                          D Offline
                          dornkaat
                          schrieb am zuletzt editiert von
                          #17

                          ok > du hast recht ich habe mich schlecht ausgedrückt .... es stellt sich mir die Frage ob ich zb. alles was unter dem Alexa 2.0 adapter eingestellt ist auch weiterhin funktioniert .... ? Den der Adater ist seit der Einrichtung des IOT gelb und im log meckert der IOB , dass die Credentials nicht richtig sind, obwohl ich nix verändert habe , iss dat normal ?

                          Achso danke für deine Antwirt/Hinweis :)
                          lg dornkaat

                          Altes Computerwesen :)

                          Heimautomation mit IO-Broker auf PI3+B :?: :shock:

                          ESP8266 Neuling (need some Help) :mrgreen:

                          dslraserD 1 Antwort Letzte Antwort
                          0
                          • D dornkaat

                            ok > du hast recht ich habe mich schlecht ausgedrückt .... es stellt sich mir die Frage ob ich zb. alles was unter dem Alexa 2.0 adapter eingestellt ist auch weiterhin funktioniert .... ? Den der Adater ist seit der Einrichtung des IOT gelb und im log meckert der IOB , dass die Credentials nicht richtig sind, obwohl ich nix verändert habe , iss dat normal ?

                            Achso danke für deine Antwirt/Hinweis :)
                            lg dornkaat

                            dslraserD Offline
                            dslraserD Offline
                            dslraser
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #18

                            @dornkaat
                            ich habe oben noch einen Link eingefügt.

                            D 1 Antwort Letzte Antwort
                            0
                            • dslraserD dslraser

                              @dornkaat
                              ich habe oben noch einen Link eingefügt.

                              D Offline
                              D Offline
                              dornkaat
                              schrieb am zuletzt editiert von
                              #19

                              @dslraser danke hatte ich übersehen ...
                              doch stellt sich die freage weiterhin,wieso er den alexa 2 adp nicht grünmacht ??
                              hast du ne ahnung .. die credentials habe ich wie gesagt nicht verändert

                              dabke
                              d.

                              Altes Computerwesen :)

                              Heimautomation mit IO-Broker auf PI3+B :?: :shock:

                              ESP8266 Neuling (need some Help) :mrgreen:

                              dslraserD 1 Antwort Letzte Antwort
                              0
                              • D dornkaat

                                @dslraser danke hatte ich übersehen ...
                                doch stellt sich die freage weiterhin,wieso er den alexa 2 adp nicht grünmacht ??
                                hast du ne ahnung .. die credentials habe ich wie gesagt nicht verändert

                                dabke
                                d.

                                dslraserD Offline
                                dslraserD Offline
                                dslraser
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #20

                                @dornkaat
                                welche Version vom Alexa2 Adapter ?

                                1 Antwort Letzte Antwort
                                0
                                • D Offline
                                  D Offline
                                  dornkaat
                                  schrieb am zuletzt editiert von
                                  #21

                                  version 2.2.0 ist drauf

                                  Altes Computerwesen :)

                                  Heimautomation mit IO-Broker auf PI3+B :?: :shock:

                                  ESP8266 Neuling (need some Help) :mrgreen:

                                  dslraserD 1 Antwort Letzte Antwort
                                  0
                                  • D dornkaat

                                    version 2.2.0 ist drauf

                                    dslraserD Offline
                                    dslraserD Offline
                                    dslraser
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #22

                                    @dornkaat
                                    mal den Adapter neu gestartet ?
                                    (kompletter ioBroker Neustart kann auch nicht schaden...)
                                    Ansonsten zeig mal das Log wenn Du den Adapter neu startest.

                                    D 1 Antwort Letzte Antwort
                                    0
                                    • dslraserD dslraser

                                      @dornkaat
                                      mal den Adapter neu gestartet ?
                                      (kompletter ioBroker Neustart kann auch nicht schaden...)
                                      Ansonsten zeig mal das Log wenn Du den Adapter neu startest.

                                      D Offline
                                      D Offline
                                      dornkaat
                                      schrieb am zuletzt editiert von
                                      #23

                                      @dslraser danke dir, habe den iob mehermals restartet etc. = null

                                      adapter f alexa deisntall/reinstall geht nu wieder prima , es lag am cokkie

                                      danke lg

                                      dornkaat

                                      Altes Computerwesen :)

                                      Heimautomation mit IO-Broker auf PI3+B :?: :shock:

                                      ESP8266 Neuling (need some Help) :mrgreen:

                                      1 Antwort Letzte Antwort
                                      0
                                      • AlCalzoneA AlCalzone

                                        @dslraser Macht Sinn. Ein Button, der nicht beschreibbar ist, hat keine Funktion.

                                        M Offline
                                        M Offline
                                        markus-now
                                        schrieb am zuletzt editiert von
                                        #24

                                        @AlCalzone er ist doch beschreibbar, oder?3.PNG
                                        1.PNG
                                        es kommt aber nichts !!!
                                        ich glaube das die Probleme von dem Konfigurationssysteme, cash Windows Explorer Firefox … Je nachdem wie sie konfiguriert sind und was im speicher cash oder sonst was wahr oder auch was gelöscht wurden, ich bin total verwirrt.
                                        Bei manchen gehts und bei wenigen nicht warum auch immer???
                                        Danke und Grüße
                                        Markus

                                        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
                                        FAQ Cloud / IOT
                                        HowTo: Node.js-Update
                                        HowTo: Backup/Restore
                                        Downloads
                                        BLOG

                                        682

                                        Online

                                        32.6k

                                        Benutzer

                                        82.2k

                                        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