Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [Gelöst] Steuerung/ Anzeige Temperaturwidget

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Gelöst] Steuerung/ Anzeige Temperaturwidget

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

      Hi,
      arbeite gerade an einen Blockly und komme einfach nicht weiter... Glaube das ich jetzt schon alles durchprobiert habe.
      Was möchte ich:
      Ich verwende ein Temperaturwidget mit dem ich mehrere Thermostate (Homematic Heizungsgruppen) steuere.Bildschirmfoto 2021-08-02 um 18.26.45.png
      Mit dem Schieberegler steuere ich die Thermostate auf einen bestimmten Wert z.B. 18 Grad. Funktioniert schon einmal ohne Probleme.
      Was ich dann möchte ist das der Regler bei einer Durchschnittsberechnung der Raumtemperaturen (passiert ja nicht sofort) auf diesen Wert angepasst wird und dies dann auch anzeigt -> Das Widget kann das ja.
      Jetzt habe ich aber das Problem nach dem die Berechnung durchgeführt und das Widget mit diesen neuen Wert angesteuert wird, die Thermostate dann auch wieder angepingt werden mit dieser neuen Sollwert.
      Ich bin mir sicher das es über die passende Config aus bestätigt und unbestätigt bzw. Aktualisierung und Steuern hinzubekommen sein sollte, aber ich finde die passende Config nicht.
      Anbei mal das Script:

      // MANU Heizungssteuerung Ebene Oben
      on({id: "0_userdata.0.VIS_Datenpunkte.Heizungssteuerung.MANU_Temperatur_Oben"/*MANU_Temperatur_Oben*/, change: "ne"}, async function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        // Wohnzimmer
        setState("hm-rpc.1.INT0000020.1.MANU_MODE"/*MANU_MODE*/, (obj.state ? obj.state.val : ""));
        // Küche
        setState("hm-rpc.1.INT0000015.1.MANU_MODE"/*MANU_MODE*/, (obj.state ? obj.state.val : ""));
        // Büro
        setState("hm-rpc.1.INT0000010.1.MANU_MODE"/*MANU_MODE*/, (obj.state ? obj.state.val : ""));
        // Flur Oben
        setState("hm-rpc.1.INT0000013.1.MANU_MODE"/*MANU_MODE*/, (obj.state ? obj.state.val : ""));
        // Gäste WC
        setState("hm-rpc.1.INT0000012.1.MANU_MODE"/*MANU_MODE*/, (obj.state ? obj.state.val : ""));
        // Hauswirtschaftsraum
        setState("hm-rpc.1.INT0000016.1.MANU_MODE"/*MANU_MODE*/, (obj.state ? obj.state.val : ""));
      });
      // Anzeigeberechung Temperatur MANU Mode
      on({id: new RegExp('hm-rpc\\.1\\.INT0000020\\.1\\.ACTUAL_TEMPERATURE' + "$|" + 'hm-rpc\\.1\\.INT0000015\\.1\\.ACTUAL_TEMPERATURE' + "$|" + 'hm-rpc\\.1\\.INT0000010\\.1\\.ACTUAL_TEMPERATURE' + "$|" + 'hm-rpc\\.1\\.INT0000013\\.1\\.ACTUAL_TEMPERATURE' + "$|" + 'hm-rpc\\.1\\.INT0000012\\.1\\.ACTUAL_TEMPERATURE' + "$|" + 'hm-rpc\\.1\\.INT0000016\\.1\\.ACTUAL_TEMPERATURE' + "$"), change: "ne", ack: true}, async function (obj) {
          setState("0_userdata.0.VIS_Datenpunkte.Heizungssteuerung.MANU_Temperatur_Oben"/*MANU_Temperatur_Oben*/, Math.round(([getState("hm-rpc.1.INT0000020.1.ACTUAL_TEMPERATURE").val, getState("hm-rpc.1.INT0000015.1.ACTUAL_TEMPERATURE").val, getState("hm-rpc.1.INT0000010.1.ACTUAL_TEMPERATURE").val, getState("hm-rpc.1.INT0000013.1.ACTUAL_TEMPERATURE").val, getState("hm-rpc.1.INT0000012.1.ACTUAL_TEMPERATURE").val, getState("hm-rpc.1.INT0000016.1.ACTUAL_TEMPERATURE").val].reduce(function(x, y) {return x + y;}) / 6)*10)/10, true);
      });
      

      Kann mir jemand helfen? Bzw. ist das überhaupt möglich?

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

        @draexler sagte: Kann mir jemand helfen?

        Ändere den Trigger mit "MANU_Temperatur_Oben" auf "Auslösung durch unbestätigte Änderung" (ack: false).

        draexler 1 Reply Last reply Reply Quote 1
        • draexler
          draexler @paul53 last edited by

          @paul53 Das habe ich schon probiert, aber dann wird die Durchschnittsberechnung nicht mehr durchgeführt und das Widget bleibt auf dem Eingestellen Wert stehen.

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

            @draexler sagte: dann wird die Durchschnittsberechnung nicht mehr durchgeführt

            Die Änderung beim oberen Trigger hat keinen Einfluss auf die Durchschnittsberechnung im unteren Trigger.

            draexler 1 Reply Last reply Reply Quote 1
            • draexler
              draexler @paul53 last edited by

              @paul53 Perfekt, das hat funktioniert. Dachte eigentlich das hätte ich auch schon probiert....
              Aber nochmals vielen Dank @paul53 🙂

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

              Support us

              ioBroker
              Community Adapters
              Donate

              852
              Online

              32.0k
              Users

              80.5k
              Topics

              1.3m
              Posts

              2
              5
              122
              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