Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Vergleich Innen- zu Außen-/temperatur

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Vergleich Innen- zu Außen-/temperatur

    This topic has been deleted. Only users with topic management privileges can see it.
    • Ag3nt_Sn4k3
      Ag3nt_Sn4k3 last edited by 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();
      });
      
      
      paul53 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @Ag3nt_Sn4k3 last edited by 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_Sn4k3 1 Reply Last reply Reply Quote 0
        • Ag3nt_Sn4k3
          Ag3nt_Sn4k3 @paul53 last edited by

          @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 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Ag3nt_Sn4k3 last edited by paul53

            @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();
            });
            
            1 Reply Last reply Reply Quote 0
            • Ag3nt_Sn4k3
              Ag3nt_Sn4k3 last edited by

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

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

              Support us

              ioBroker
              Community Adapters
              Donate

              707
              Online

              31.9k
              Users

              80.2k
              Topics

              1.3m
              Posts

              blockly climate communication javascript
              2
              5
              465
              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