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. Skripten / Logik
  4. Vergleich Innen- zu Außen-/temperatur

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Vergleich Innen- zu Außen-/temperatur

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascriptblocklyclimatecommunication
5 Beiträge 2 Kommentatoren 573 Aufrufe
  • Ä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.
  • Ag3nt_Sn4k3A Offline
    Ag3nt_Sn4k3A Offline
    Ag3nt_Sn4k3
    schrieb am zuletzt editiert von Ag3nt_Sn4k3
    #1

    Hallo zusammen,
    vielleicht könnt ihr mir helfen.
    Ich möchte gerne per Telegramm informiert werden wenn die Aussentemperatur soweit gefallen ist (Innentemperatur) das ich die Fenster öffnen kann.
    Super wäre wenn das Scrtipt von 18:00-01:00 Uhr laufen würde darüberhinaus nicht, und nur einmal nicht jede Minute/Sekunde eine Benachrichtigung.

    Die suche habe ich schon bemüht und ein Java Script gefunden den ich leider nicht ganz verstehe.
    https://forum.iobroker.net/topic/7091/vergleich-innen-zu-außentemperatur

    Leider habe ich bisher noch nichts mit Java Script gemacht.

    Das ist der Blocky den ich bisher gebaut habe aber leider habe ich noch keine Benachrichtigung bekommen :-(
    Bild1.PNG

    /**
     * Beschreibe diese Funktion …
     */
    function oder() {
      schedule("* * * * * *", function () {
        if (getState("zigbee.1.00158d0002f8201b.temperature").val >= getState("xs1.0.Sensors.Aussen_Temperatur").val) {
          sendTo("telegram", "send", {
              text: (['Die Temperatur in deiner Wohnung ist:',getState("zigbee.1.00158d0002f8201b.temperature").val,'Öffne die Fenster'].join(''))
          });
        }
      });
    }
    

    Was ich mich frage, muss ich die Werte erst umwandeln in eine Zahl?
    So bekomme ich sie im Iobroker;
    Bild2.PNG
    Bild3.PNG

    Vielleicht kann mir auch eine helfen das zu verstehen
    Das ist das Script aus dem Link abgeändert so das ich benachrichtigt werde. (funktioniert auch allerdings bekomme ich so wie es aussieht bei jeder Änderung eine Push Benachrichtigung.)

    Was passiert bei Zeile 13 und von 18-26?

    var idTa = 'xs1.0.Sensors.Aussen_Temperatur';
    var idTi = 'zigbee.1.00158d0002f8201b.temperature';
     
    var ta = getState(idTa).val;
    var ti = getState(idTi).val;
    var gesendet = false;  // Merker, dass schon gesendet wurde
     
    function vergleich() {
        if(ta <= ti && !gesendet) {
            sendTo('telegram.0', 'Außen kühler als Innen');
            gesendet = true;
        }
        else if(ta > ti - 0.5) gesendet = false;  // 0,5 K Hysterese
    }
     
    vergleich();  // Script start
     
    on(idTa, function(dp) {
        ta = dp.state.val;
        vergleich();
    });
     
    on(idTi, function(dp) {
        ti = dp.state.val;
        vergleich();
    });
    
    
    paul53P 2 Antworten Letzte Antwort
    0
    • Ag3nt_Sn4k3A Ag3nt_Sn4k3

      Hallo zusammen,
      vielleicht könnt ihr mir helfen.
      Ich möchte gerne per Telegramm informiert werden wenn die Aussentemperatur soweit gefallen ist (Innentemperatur) das ich die Fenster öffnen kann.
      Super wäre wenn das Scrtipt von 18:00-01:00 Uhr laufen würde darüberhinaus nicht, und nur einmal nicht jede Minute/Sekunde eine Benachrichtigung.

      Die suche habe ich schon bemüht und ein Java Script gefunden den ich leider nicht ganz verstehe.
      https://forum.iobroker.net/topic/7091/vergleich-innen-zu-außentemperatur

      Leider habe ich bisher noch nichts mit Java Script gemacht.

      Das ist der Blocky den ich bisher gebaut habe aber leider habe ich noch keine Benachrichtigung bekommen :-(
      Bild1.PNG

      /**
       * Beschreibe diese Funktion …
       */
      function oder() {
        schedule("* * * * * *", function () {
          if (getState("zigbee.1.00158d0002f8201b.temperature").val >= getState("xs1.0.Sensors.Aussen_Temperatur").val) {
            sendTo("telegram", "send", {
                text: (['Die Temperatur in deiner Wohnung ist:',getState("zigbee.1.00158d0002f8201b.temperature").val,'Öffne die Fenster'].join(''))
            });
          }
        });
      }
      

      Was ich mich frage, muss ich die Werte erst umwandeln in eine Zahl?
      So bekomme ich sie im Iobroker;
      Bild2.PNG
      Bild3.PNG

      Vielleicht kann mir auch eine helfen das zu verstehen
      Das ist das Script aus dem Link abgeändert so das ich benachrichtigt werde. (funktioniert auch allerdings bekomme ich so wie es aussieht bei jeder Änderung eine Push Benachrichtigung.)

      Was passiert bei Zeile 13 und von 18-26?

      var idTa = 'xs1.0.Sensors.Aussen_Temperatur';
      var idTi = 'zigbee.1.00158d0002f8201b.temperature';
       
      var ta = getState(idTa).val;
      var ti = getState(idTi).val;
      var gesendet = false;  // Merker, dass schon gesendet wurde
       
      function vergleich() {
          if(ta <= ti && !gesendet) {
              sendTo('telegram.0', 'Außen kühler als Innen');
              gesendet = true;
          }
          else if(ta > ti - 0.5) gesendet = false;  // 0,5 K Hysterese
      }
       
      vergleich();  // Script start
       
      on(idTa, function(dp) {
          ta = dp.state.val;
          vergleich();
      });
       
      on(idTi, function(dp) {
          ti = dp.state.val;
          vergleich();
      });
      
      
      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @Ag3nt_Sn4k3 sagte:

      aber leider habe ich noch keine Benachrichtigung bekommen

      Die Funktion, in der der Zeitplan erzeugt wird, wird nie aufgerufen. Lass die Funktion weg.

      @Ag3nt_Sn4k3 sagte in Vergleich Innen- zu Außen-/temperatur:

      Was passiert bei Zeile 13

      Das Senden wird wieder freigegeben. Allerdings wäre für eine Hysterese richtig:

          else if(ta > ti + 0.5) gesendet = false;  // 0,5 K Hysterese
      

      @Ag3nt_Sn4k3 sagte in Vergleich Innen- zu Außen-/temperatur:

      von 18-26?

      Es wird auf eine Wertänderung des betreffenden Sensors getriggert, der neue Wert in die zugehörige Variable geschrieben und anschließend die Funktion für den Vergleich der Variablen aufgerufen.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      Ag3nt_Sn4k3A 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @Ag3nt_Sn4k3 sagte:

        aber leider habe ich noch keine Benachrichtigung bekommen

        Die Funktion, in der der Zeitplan erzeugt wird, wird nie aufgerufen. Lass die Funktion weg.

        @Ag3nt_Sn4k3 sagte in Vergleich Innen- zu Außen-/temperatur:

        Was passiert bei Zeile 13

        Das Senden wird wieder freigegeben. Allerdings wäre für eine Hysterese richtig:

            else if(ta > ti + 0.5) gesendet = false;  // 0,5 K Hysterese
        

        @Ag3nt_Sn4k3 sagte in Vergleich Innen- zu Außen-/temperatur:

        von 18-26?

        Es wird auf eine Wertänderung des betreffenden Sensors getriggert, der neue Wert in die zugehörige Variable geschrieben und anschließend die Funktion für den Vergleich der Variablen aufgerufen.

        Ag3nt_Sn4k3A Offline
        Ag3nt_Sn4k3A Offline
        Ag3nt_Sn4k3
        schrieb am zuletzt editiert von
        #3

        @paul53

        Danke für deine Schnelle Antwort.

        Zu Punkt eins:
        So wollte ich realiesieren das mir die Nachricht zugeschickt wird in der zeit von, bis.

        Zu Punkt zwei:
        Ist die Hysterese = Werte in °C also die 0.5 = 0,5°C? oder in welchem Verhältnis steht das?

        Zu Punkt drei:
        danke auch dafür das hatte ich nicht verstanden.

        1 Antwort Letzte Antwort
        0
        • Ag3nt_Sn4k3A Ag3nt_Sn4k3

          Hallo zusammen,
          vielleicht könnt ihr mir helfen.
          Ich möchte gerne per Telegramm informiert werden wenn die Aussentemperatur soweit gefallen ist (Innentemperatur) das ich die Fenster öffnen kann.
          Super wäre wenn das Scrtipt von 18:00-01:00 Uhr laufen würde darüberhinaus nicht, und nur einmal nicht jede Minute/Sekunde eine Benachrichtigung.

          Die suche habe ich schon bemüht und ein Java Script gefunden den ich leider nicht ganz verstehe.
          https://forum.iobroker.net/topic/7091/vergleich-innen-zu-außentemperatur

          Leider habe ich bisher noch nichts mit Java Script gemacht.

          Das ist der Blocky den ich bisher gebaut habe aber leider habe ich noch keine Benachrichtigung bekommen :-(
          Bild1.PNG

          /**
           * Beschreibe diese Funktion …
           */
          function oder() {
            schedule("* * * * * *", function () {
              if (getState("zigbee.1.00158d0002f8201b.temperature").val >= getState("xs1.0.Sensors.Aussen_Temperatur").val) {
                sendTo("telegram", "send", {
                    text: (['Die Temperatur in deiner Wohnung ist:',getState("zigbee.1.00158d0002f8201b.temperature").val,'Öffne die Fenster'].join(''))
                });
              }
            });
          }
          

          Was ich mich frage, muss ich die Werte erst umwandeln in eine Zahl?
          So bekomme ich sie im Iobroker;
          Bild2.PNG
          Bild3.PNG

          Vielleicht kann mir auch eine helfen das zu verstehen
          Das ist das Script aus dem Link abgeändert so das ich benachrichtigt werde. (funktioniert auch allerdings bekomme ich so wie es aussieht bei jeder Änderung eine Push Benachrichtigung.)

          Was passiert bei Zeile 13 und von 18-26?

          var idTa = 'xs1.0.Sensors.Aussen_Temperatur';
          var idTi = 'zigbee.1.00158d0002f8201b.temperature';
           
          var ta = getState(idTa).val;
          var ti = getState(idTi).val;
          var gesendet = false;  // Merker, dass schon gesendet wurde
           
          function vergleich() {
              if(ta <= ti && !gesendet) {
                  sendTo('telegram.0', 'Außen kühler als Innen');
                  gesendet = true;
              }
              else if(ta > ti - 0.5) gesendet = false;  // 0,5 K Hysterese
          }
           
          vergleich();  // Script start
           
          on(idTa, function(dp) {
              ta = dp.state.val;
              vergleich();
          });
           
          on(idTi, function(dp) {
              ti = dp.state.val;
              vergleich();
          });
          
          
          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #4

          @Ag3nt_Sn4k3 sagte:

          von 18:00-01:00 Uhr laufen würde darüberhinaus nicht, und nur einmal

          Vorschlag:

          var idTa = 'xs1.0.Sensors.Aussen_Temperatur';
          var idTi = 'zigbee.1.00158d0002f8201b.temperature';
           
          var ta = getState(idTa).val;
          var ti = getState(idTi).val;
          var gesendet = false;  // Merker, dass schon gesendet wurde
           
          function vergleich() {
              if(compareTime('18:00', '1:00', 'between')) {
                  if(ta < ti && !gesendet) {
                      sendTo('telegram.0', 'Außen kühler als Innen');
                      gesendet = true;
                  }
              } else gesendet = false; 
          }
           
          vergleich();  // Script start
           
          on(idTa, function(dp) {
              ta = dp.state.val;
              vergleich();
          });
           
          on(idTi, function(dp) {
              ti = dp.state.val;
              vergleich();
          });
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • Ag3nt_Sn4k3A Offline
            Ag3nt_Sn4k3A Offline
            Ag3nt_Sn4k3
            schrieb am zuletzt editiert von
            #5

            Vielen Dank schon mal, ich werde das gleich einmal einspielen und testen.

            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

            526

            Online

            32.6k

            Benutzer

            82.3k

            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