Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Heizungssteuerung

    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

    Heizungssteuerung

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      nolimitek @nolimitek last edited by

      Bin nun endlich dabei von Fhem auf Iobroker umzusteigen

      Habe nun dieses Script im Einsatz wie oben beschrieben

      const idAktor = "sonoff.0.DVES_12A646.POWER1";
       
      var cacheVentile = $('state(functions=heizungsventile)');
      var aktor = getState(idAktor).val;
       
      function therme() {
          var highest = 0;
       
          cacheVentile.each(function(id) {
              if (getState(id).val > highest) {
                  highest = getState(id).val;
              }
          });
       
          if (highest <= 30 && aktor) {
              setState(idAktor, false);
          }
          if (highest >= 60 && !aktor) {
              setState(idAktor, true);
          }
      }
       
      therme(); // Skriptstart
       
      cacheVentile.on(therme);
       
      on({id: idAktor, ack: true}, function(dp) {
         aktor = dp.state.val;
      });
      

      Ansich sollte der Schalter erst unter 30 Prozentt Ventilöffnung ausschalten
      Er schaltet aber bereits früher ab. Soeben waren noch 2 Thermostet über 30% Ventilöffnung und das Script hat den Schalter aber ausgeschalten

      Jemand eine Idee warum dem so ist

      besten Dank

      lg
      Chris

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

        @nolimitek
        Der Selektor ist richtig ?
        Kann getestet werden mit

        $('state(functions=heizungsventile)').each(function(id, i) {
           log(id);
        });
        
        N 1 Reply Last reply Reply Quote 0
        • N
          nolimitek @paul53 last edited by

          @paul53

          Danke für die rasche Antwort.
          Was meinst du mit Selektor ?

          lg

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

            @nolimitek sagte:

            Was meinst du mit Selektor ?

            Der Ausdruck mit dem $ nennt sich Selektor.

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

              @paul53

              Da kommt dann im Log folgendes.
              Das Script hat doch mit den anderen Blocklys gar nichts zu tun . ???

              javascript.0	2020-12-30 20:12:44.573	info	(5874) script.js.Heizung.Pumpeheizung: registered 10 subscriptions and 0 schedules
              javascript.0	2020-12-30 20:12:44.571	info	(5874) script.js.Heizung.Pumpeheizung: fhem.0.01_Thermostat_Wohnzimmer.valveposition
              javascript.0	2020-12-30 20:12:44.571	info	(5874) script.js.Heizung.Pumpeheizung: fhem.0.01_Thermostat_Wintergarten.valveposition
              javascript.0	2020-12-30 20:12:44.570	info	(5874) script.js.Heizung.Pumpeheizung: fhem.0.01_Thermostat_Vorraum.valveposition
              javascript.0	2020-12-30 20:12:44.570	info	(5874) script.js.Heizung.Pumpeheizung: fhem.0.01_Thermostat_Kueche.valveposition
              javascript.0	2020-12-30 20:12:44.570	info	(5874) script.js.Heizung.Pumpeheizung: fhem.0.01_Thermostat_Kinderzimmer.valveposition
              javascript.0	2020-12-30 20:12:44.569	info	(5874) script.js.Heizung.Pumpeheizung: fhem.0.01_Thermostat_Gaestezimmer.valveposition
              javascript.0	2020-12-30 20:12:44.569	info	(5874) script.js.Heizung.Pumpeheizung: fhem.0.01_Thermostat_Esszimmer.valveposition
              javascript.0	2020-12-30 20:12:44.566	info	(5874) script.js.Heizung.Pumpeheizung: fhem.0.01_Thermostat_Buegelzimmer.valveposition
              javascript.0	2020-12-30 20:12:44.526	info	(5874) Start javascript script.js.Heizung.Pumpeheizung
              javascript.0	2020-12-30 20:12:44.525	info	(5874) script.js.Heizung.WCOBEN_Heizung: registered 10 subscriptions and 0 schedules
              javascript.0	2020-12-30 20:12:44.524	info	(5874) script.js.Heizung.WCOBEN_Heizung: fhem.0.01_Thermostat_Wohnzimmer.valveposition
              javascript.0	2020-12-30 20:12:44.524	info	(5874) script.js.Heizung.WCOBEN_Heizung: fhem.0.01_Thermostat_Wintergarten.valveposition
              javascript.0	2020-12-30 20:12:44.523	info	(5874) script.js.Heizung.WCOBEN_Heizung: fhem.0.01_Thermostat_Vorraum.valveposition
              javascript.0	2020-12-30 20:12:44.523	info	(5874) script.js.Heizung.WCOBEN_Heizung: fhem.0.01_Thermostat_Kueche.valveposition
              javascript.0	2020-12-30 20:12:44.523	info	(5874) script.js.Heizung.WCOBEN_Heizung: fhem.0.01_Thermostat_Kinderzimmer.valveposition
              javascript.0	2020-12-30 20:12:44.523	info	(5874) script.js.Heizung.WCOBEN_Heizung: fhem.0.01_Thermostat_Gaestezimmer.valveposition
              javascript.0	2020-12-30 20:12:44.523	info	(5874) script.js.Heizung.WCOBEN_Heizung: fhem.0.01_Thermostat_Esszimmer.valveposition
              javascript.0	2020-12-30 20:12:44.522	info	(5874) script.js.Heizung.WCOBEN_Heizung: fhem.0.01_Thermostat_Buegelzimmer.valveposition
              javascript.0	2020-12-30 20:12:44.508	info	(5874) Start javascript script.js.Heizung.WCOBEN_Heizung
              javascript.0	2020-12-30 20:12:44.507	info	(5874) script.js.Heizung.Badezimmer_heizung: registered 10 subscriptions and 0 schedules
              javascript.0	2020-12-30 20:12:44.506	info	(5874) script.js.Heizung.Badezimmer_heizung: fhem.0.01_Thermostat_Wohnzimmer.valveposition
              javascript.0	2020-12-30 20:12:44.505	info	(5874) script.js.Heizung.Badezimmer_heizung: fhem.0.01_Thermostat_Wintergarten.valveposition
              javascript.0	2020-12-30 20:12:44.505	info	(5874) script.js.Heizung.Badezimmer_heizung: fhem.0.01_Thermostat_Vorraum.valveposition
              javascript.0	2020-12-30 20:12:44.505	info	(5874) script.js.Heizung.Badezimmer_heizung: fhem.0.01_Thermostat_Kueche.valveposition
              javascript.0	2020-12-30 20:12:44.504	info	(5874) script.js.Heizung.Badezimmer_heizung: fhem.0.01_Thermostat_Kinderzimmer.valveposition
              javascript.0	2020-12-30 20:12:44.504	info	(5874) script.js.Heizung.Badezimmer_heizung: fhem.0.01_Thermostat_Gaestezimmer.valveposition
              javascript.0	2020-12-30 20:12:44.503	info	(5874) script.js.Heizung.Badezimmer_heizung: fhem.0.01_Thermostat_Esszimmer.valveposition
              javascript.0	2020-12-30 20:12:44.503	info	(5874) script.js.Heizung.Badezimmer_heizung: fhem.0.01_Thermostat_Buegelzimmer.valveposition
              javascript.0	2020-12-30 20:12:44.480	info	(5874) Start javascript script.js.Heizung.Badezimmer_heizung
              javascript.0	2020-12-30 20:12:44.479	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht1: registered 9 subscriptions and 2 schedules
              javascript.0	2020-12-30 20:12:44.474	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht1: fhem.0.01_Thermostat_Wohnzimmer.valveposition
              javascript.0	2020-12-30 20:12:44.474	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht1: fhem.0.01_Thermostat_Wintergarten.valveposition
              javascript.0	2020-12-30 20:12:44.473	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht1: fhem.0.01_Thermostat_Vorraum.valveposition
              javascript.0	2020-12-30 20:12:44.473	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht1: fhem.0.01_Thermostat_Kueche.valveposition
              javascript.0	2020-12-30 20:12:44.472	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht1: fhem.0.01_Thermostat_Kinderzimmer.valveposition
              javascript.0	2020-12-30 20:12:44.472	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht1: fhem.0.01_Thermostat_Gaestezimmer.valveposition
              javascript.0	2020-12-30 20:12:44.471	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht1: fhem.0.01_Thermostat_Esszimmer.valveposition
              javascript.0	2020-12-30 20:12:44.471	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht1: fhem.0.01_Thermostat_Buegelzimmer.valveposition
              javascript.0	2020-12-30 20:12:44.453	info	(5874) Start javascript script.js.Zeitschaltuhren.Aquarium_Licht1
              javascript.0	2020-12-30 20:12:44.452	info	(5874) script.js.Zeitschaltuhren.Solar_aus_Nacht: registered 9 subscriptions and 2 schedules
              javascript.0	2020-12-30 20:12:44.444	info	(5874) script.js.Zeitschaltuhren.Solar_aus_Nacht: fhem.0.01_Thermostat_Wohnzimmer.valveposition
              javascript.0	2020-12-30 20:12:44.444	info	(5874) script.js.Zeitschaltuhren.Solar_aus_Nacht: fhem.0.01_Thermostat_Wintergarten.valveposition
              javascript.0	2020-12-30 20:12:44.443	info	(5874) script.js.Zeitschaltuhren.Solar_aus_Nacht: fhem.0.01_Thermostat_Vorraum.valveposition
              javascript.0	2020-12-30 20:12:44.443	info	(5874) script.js.Zeitschaltuhren.Solar_aus_Nacht: fhem.0.01_Thermostat_Kueche.valveposition
              javascript.0	2020-12-30 20:12:44.443	info	(5874) script.js.Zeitschaltuhren.Solar_aus_Nacht: fhem.0.01_Thermostat_Kinderzimmer.valveposition
              javascript.0	2020-12-30 20:12:44.442	info	(5874) script.js.Zeitschaltuhren.Solar_aus_Nacht: fhem.0.01_Thermostat_Gaestezimmer.valveposition
              javascript.0	2020-12-30 20:12:44.442	info	(5874) script.js.Zeitschaltuhren.Solar_aus_Nacht: fhem.0.01_Thermostat_Esszimmer.valveposition
              javascript.0	2020-12-30 20:12:44.441	info	(5874) script.js.Zeitschaltuhren.Solar_aus_Nacht: fhem.0.01_Thermostat_Buegelzimmer.valveposition
              javascript.0	2020-12-30 20:12:44.413	info	(5874) Start javascript script.js.Zeitschaltuhren.Solar_aus_Nacht
              javascript.0	2020-12-30 20:12:44.406	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht: registered 9 subscriptions and 2 schedules
              javascript.0	2020-12-30 20:12:44.377	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht: fhem.0.01_Thermostat_Wohnzimmer.valveposition
              javascript.0	2020-12-30 20:12:44.377	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht: fhem.0.01_Thermostat_Wintergarten.valveposition
              javascript.0	2020-12-30 20:12:44.376	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht: fhem.0.01_Thermostat_Vorraum.valveposition
              javascript.0	2020-12-30 20:12:44.376	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht: fhem.0.01_Thermostat_Kueche.valveposition
              javascript.0	2020-12-30 20:12:44.375	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht: fhem.0.01_Thermostat_Kinderzimmer.valveposition
              javascript.0	2020-12-30 20:12:44.375	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht: fhem.0.01_Thermostat_Gaestezimmer.valveposition
              javascript.0	2020-12-30 20:12:44.374	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht: fhem.0.01_Thermostat_Esszimmer.valveposition
              javascript.0	2020-12-30 20:12:44.374	info	(5874) script.js.Zeitschaltuhren.Aquarium_Licht: fhem.0.01_Thermostat_Buegelzimmer.valveposition
              
              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @nolimitek last edited by paul53

                @nolimitek sagte:

                Da kommt dann im Log folgendes.

                Das scheint zu passen (8 mal valveposition).
                FHEM: Ich glaube, der Adapter liefert Strings, die in eine Zahl gewandelt werden müssen.

                        if (parseFloat(getState(id).val) > highest) {
                            highest = parseFloat(getState(id).val);
                        }
                
                N 1 Reply Last reply Reply Quote 0
                • N
                  nolimitek @paul53 last edited by

                  @paul53

                  Ahhh das wirds sein . Hatte das bereits bei einem anderen Script das ich in Blockly gemacht habe. Da musste auch in Zahl geändert werden.

                  Ich teste das mal . Besten Dank für deine Hilfe.
                  Wenn ich den Fhem Adapter deaktiviere und die Heizungsthermostate direkt in iobroker anlege (letzte Baustelle) kann ich das Script so weiterlaufen lassen oder wieder retour stellen ?

                  Danke

                  lg
                  Chris

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

                    @nolimitek sagte:

                    kann ich das Script so weiterlaufen lassen oder wieder retour stellen ?

                    parseFloat() funktioniert auch mit Zahlen, verbraucht nur unnötig Ressourcen.

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

                      @paul53 Alles klar dann stelle ich es wieder zurück sobald die Thermostate direkt in Iobroker sind.

                      Eine letzte Frage hätte ich noch 🙂
                      Ich möchte das Script vormittags von 05:00 bis 06:00 deaktivieren und für diese Stunde die Heizung einschalten da ich das Warmwasser aufheizen möchte.

                      Einfach über ein Blockly deaktivieren oder ginge das im Script direkt

                      Danke

                      lg
                      Chris

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

                        @nolimitek sagte:

                        ginge das im Script direkt

                        Ich würde es auf jeden Fall im Script machen.

                        var warmwasser = compareTime('05:00', '06:00', 'between');
                        
                        function therme() {
                            if(warmwasser) setState(idAktor, true);
                            else {
                                // bisherige Funktion
                        

                        und am Ende des Scripts

                        schedule('0 5 * * *', function() {
                            warmwasser = true;
                            therme();
                        });
                        schedule('0 6 * * *', function() {
                            warmwasser = false;
                            therme();
                        });
                        
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        457
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        3
                        24
                        2931
                        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