Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Bei höherer Temperatur und heating-Mermal Teleg. versenden

    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

    Bei höherer Temperatur und heating-Mermal Teleg. versenden

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

      Hi,

      ich überwachte mittels diesem Skript meine Heizkörper, wenn die Temperatur ab 23.5 steigt.

      const sensor = getObject('enum.functions.heating_temperature').common.members;
      
      for(let i = 0; i < sensor.length; i++) {
          var name = getObject(sensor[i]).common.name;
          on(sensor[i] + '.state', function (dp) { 
              if(dp.state.val >= 23.5) {
                  var name = getObject(sensor[i]).common.name;
                  sendTo('telegram.0', {
                      text:   'Die Temperatur vom Sensor ' + name + ' ist über 23.5°C gestiegen. Die aktuelle Temperatur beträgt ' + dp.state.val + '°C.'
                  });
              }
          });
      }
      

      Dies mache ich, weil mal die Homematic-IP Heizkörper mal so aus ihrer Range rauslaufen, jedenfalls ist es bei mir 2-3malo vorgekommen. Allerdings werden die Heizkörper jetzt aufgrund der aktuellen Temperaturen schon so warm.

      Hier noch die Funktionskategorie als Screenshot:
      Screenshot 2025-04-23 115402.jpg

      Jetzt möchte ich, das obigen Skript nur ausgeführt wird und eine Nachricht versendet wird, wenn dieses Element auf heating und nicht auf idle steht:

      hass.0.entities.climate.hmip_heizkorperthermostat_schlafzimmer.hvac_action

      Allerdings ist der Objektpfad wo anders, siehe Screenshot.

      Vielleicht hat jemand eine gute Idee, wie man das skripten kann, bzw. wie man von den Elementen in der Funktionskategorie mittels wegschneiden und hinzufügen auf das genannte Objekt kommt.

      LG, Mitch

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Mitch last edited by paul53

        @mitch sagte: Hier noch die Funktionskategorie als Screenshot:

        Das ist nicht "enum.functions.heating_temperature".

        Weshalb verwendest du nicht den Selektor?

        M 1 Reply Last reply Reply Quote 0
        • M
          Mitch @paul53 last edited by

          @paul53 sagte in Bei höherer Temperatur und heating-Mermal Teleg. versenden:

          @mitch sagte: Hier noch die Funktionskategorie als Screenshot:

          Das ist nicht "enum.functions.heating_temperature".

          Weshalb verwendest du nicht den Selektor?

          Das stimmt, ich habe den Screenshot ausgetauscht. Was kann man mit dem Selektor machen?

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Mitch last edited by paul53

            @mitch sagte: Was kann man mit dem Selektor machen?

            Etwa so, wenn "hass.0.entities.climate.hmip_heizkorperthermostat_schlafzimmer.hvac_action" einen String liefert:

            const idsTemp = $('*.state(functions=heating_temperature)').toArray();
             
            on(idsTemp, function (dp) {
                const idHVAC = dp.id.replace('sensor', 'climate').replace('_temperatur.state', '.hvac_action');
                const hvac = getState(idHVAC).val;
                if(hvac == 'heating' && dp.state.val >= 23.5 && dp.oldState.val < 23.5) {
                    const name = getObject(dp.id.replace('.state', '')).common.name;
                    sendTo('telegram.0', {
                        text:   'Die Temperatur vom Sensor ' + name + ' ist über 23.5°C gestiegen. Die aktuelle Temperatur beträgt ' + dp.state.val + '°C.'
                    });
                }
            });
            
            M 1 Reply Last reply Reply Quote 0
            • M
              Mitch @paul53 last edited by Mitch

              @paul53

              Vielen Dank, ich teste die Anpassung aus.

              Noch eine Verständnisfrage:

              Screenshot 2025-04-25 093906-neu.jpg

              Woher nimmst du oldstate? Kann man das irgendwo über die Objektansicht abfragen? Oder ist ein ioBroker Standard?

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Mitch last edited by

                @mitch sagte: ist ein ioBroker Standard?

                Ja, siehe Doku.

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

                Support us

                ioBroker
                Community Adapters
                Donate

                455
                Online

                31.9k
                Users

                80.2k
                Topics

                1.3m
                Posts

                2
                6
                160
                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