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.
    • BuZZy
      BuZZy last edited by

      Klar, höchste ist Temperatur feststellen, mit höchster soll Temperatur vergleichen… 😉

      Gruß

      1 Reply Last reply Reply Quote 0
      • 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

                          832
                          Online

                          31.9k
                          Users

                          80.2k
                          Topics

                          1.3m
                          Posts

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