Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Bitte Hilfe beim Erstellen einer kleinen Programmzeile

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

Bitte Hilfe beim Erstellen einer kleinen Programmzeile

Geplant Angeheftet Gesperrt Verschoben JavaScript
28 Beiträge 2 Kommentatoren 913 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • paul53P paul53

    @TH-G
    grundlast wird an 2 Stellen verwendet. Wie willst Du das ohne Eingriff in das Script (Update) anpassen ?

    TH GT Offline
    TH GT Offline
    TH G
    schrieb am zuletzt editiert von TH G
    #7

    @paul53

    Ich hatte die Hoffnung, Grundlast einfach zu erhöhen, wenn die Kühlung aktiv ist bzw. wenn nicht, wieder auf den Grundwert zurückzugehen.

    Der statische Teil des Skripts ändert sich in der Regel nicht. Bei Updates muss nur der Teil danach neu rein kopiert werden.

    paul53P 1 Antwort Letzte Antwort
    0
    • TH GT TH G

      @paul53

      Ich hatte die Hoffnung, Grundlast einfach zu erhöhen, wenn die Kühlung aktiv ist bzw. wenn nicht, wieder auf den Grundwert zurückzugehen.

      Der statische Teil des Skripts ändert sich in der Regel nicht. Bei Updates muss nur der Teil danach neu rein kopiert werden.

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #8

      @TH-G sagte:

      Der statische Teil des Skripts ändert sich in der Regel nicht. Bei Updates muss nur der Teil danach neu rein kopiert werden.

      "BETRIEBSSTATUS.KUEHLEN" ist aber dynamisch, muss also auch in der zyklischen Funktion ausgewertet werden. Oder Du baust vor der zyklischen Funktion einen Trigger ein.

      if(getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN').val) grundlast +=  3000;
      on('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN', function(dp) {
          if(dp.state.val) grundlast += 3000;
          else grundlast -= 3000;
      });
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      TH GT 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @TH-G sagte:

        Der statische Teil des Skripts ändert sich in der Regel nicht. Bei Updates muss nur der Teil danach neu rein kopiert werden.

        "BETRIEBSSTATUS.KUEHLEN" ist aber dynamisch, muss also auch in der zyklischen Funktion ausgewertet werden. Oder Du baust vor der zyklischen Funktion einen Trigger ein.

        if(getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN').val) grundlast +=  3000;
        on('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN', function(dp) {
            if(dp.state.val) grundlast += 3000;
            else grundlast -= 3000;
        });
        
        TH GT Offline
        TH GT Offline
        TH G
        schrieb am zuletzt editiert von
        #9

        @paul53

        Danke

        Das ganze Skript wird doch zyklisch abgefragt

        var Interval = setInterval(function () {
          processing(); /*start processing in interval*/
        }, (update*1000));
        

        Das bedeute doch dann auch, dass die Grundlast ständig angepasst wird oder?

        paul53P 1 Antwort Letzte Antwort
        0
        • TH GT TH G

          @paul53

          Danke

          Das ganze Skript wird doch zyklisch abgefragt

          var Interval = setInterval(function () {
            processing(); /*start processing in interval*/
          }, (update*1000));
          

          Das bedeute doch dann auch, dass die Grundlast ständig angepasst wird oder?

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #10

          @TH-G sagte:

          Das bedeute doch dann auch, dass die Grundlast ständig angepasst wird oder?

          Nicht ständig, sondern nur bei Umschaltung auf "Kühlen". Die Änderung von grundlast muss vor der Deklaration der zyklisch aufgerufenen Funktion processing() erfolgen (vor Zeile 63).

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          TH GT 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @TH-G sagte:

            Das bedeute doch dann auch, dass die Grundlast ständig angepasst wird oder?

            Nicht ständig, sondern nur bei Umschaltung auf "Kühlen". Die Änderung von grundlast muss vor der Deklaration der zyklisch aufgerufenen Funktion processing() erfolgen (vor Zeile 63).

            TH GT Offline
            TH GT Offline
            TH G
            schrieb am zuletzt editiert von TH G
            #11

            @paul53

            Sorry Paul wenn ich anstrengend bin aber ich möchte es gerne verstehen.

            Wenn das gesamte Skript alle 1000 ms abgefragt wird, wird doch auch der Status von Kühlen angefragt oder?

            Ah ich verstehe. In dem Skript wird erst ab Zeile 63 alle 1000 abgefragt.

            paul53P 1 Antwort Letzte Antwort
            0
            • TH GT TH G

              @paul53

              Sorry Paul wenn ich anstrengend bin aber ich möchte es gerne verstehen.

              Wenn das gesamte Skript alle 1000 ms abgefragt wird, wird doch auch der Status von Kühlen angefragt oder?

              Ah ich verstehe. In dem Skript wird erst ab Zeile 63 alle 1000 abgefragt.

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #12

              @TH-G sagte:

              Wenn das gesamte Skript alle 1000 ms abgefragt wird, wird doch auch der Status von Kühlen angefragt oder?

              Nein, es wird nur die Funktion processing() zyklisch abgearbeitet. Alles davor nicht. Kühlen wird bisher nicht abgefragt, deshalb muss es vor Zeile 63 ergänzt werden.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              TH GT 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @TH-G sagte:

                Wenn das gesamte Skript alle 1000 ms abgefragt wird, wird doch auch der Status von Kühlen angefragt oder?

                Nein, es wird nur die Funktion processing() zyklisch abgearbeitet. Alles davor nicht. Kühlen wird bisher nicht abgefragt, deshalb muss es vor Zeile 63 ergänzt werden.

                TH GT Offline
                TH GT Offline
                TH G
                schrieb am zuletzt editiert von TH G
                #13

                @paul53

                Wenn ich dein Script nach Zeile 63 einbaue, würde es doch zyklisch abgefragt werden oder?

                Noch eine andere Frage. Warum steht hinter val kein true? Woher weiss das Skript das Kühlung aktiv ist?

                paul53P 1 Antwort Letzte Antwort
                0
                • TH GT TH G

                  @paul53

                  Wenn ich dein Script nach Zeile 63 einbaue, würde es doch zyklisch abgefragt werden oder?

                  Noch eine andere Frage. Warum steht hinter val kein true? Woher weiss das Skript das Kühlung aktiv ist?

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #14

                  @TH-G sagte:

                  Wenn ich dein Script nach Zeile 63 einbaue, würde es doch zyklisch abgefragt werden oder?

                  Ja, das wäre aber kontraproduktiv. Mein Vorschlag passt die Variable grundlast per Trigger an, wenn sich der Status von Kühlen ändert. Bau es anstelle der leeren Zeile 62 ein.

                  if(getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN').val) grundlast +=  3000;
                  on('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN', function(dp) { // triggert bei Änderung des Status Kühlen
                      if(dp.state.val) grundlast += 3000;
                      else grundlast -= 3000;
                  });
                  
                  // ab hier Programmcode, nichts ändern!
                  function processing() {
                  

                  @TH-G sagte in Bitte Hilfe beim Erstellen einer kleinen Programmzeile:

                  Woher weiss das Skript das Kühlung aktiv ist?

                  Weil dann der Wert des Datenpunktes true ist.

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  TH GT 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @TH-G sagte:

                    Wenn ich dein Script nach Zeile 63 einbaue, würde es doch zyklisch abgefragt werden oder?

                    Ja, das wäre aber kontraproduktiv. Mein Vorschlag passt die Variable grundlast per Trigger an, wenn sich der Status von Kühlen ändert. Bau es anstelle der leeren Zeile 62 ein.

                    if(getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN').val) grundlast +=  3000;
                    on('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN', function(dp) { // triggert bei Änderung des Status Kühlen
                        if(dp.state.val) grundlast += 3000;
                        else grundlast -= 3000;
                    });
                    
                    // ab hier Programmcode, nichts ändern!
                    function processing() {
                    

                    @TH-G sagte in Bitte Hilfe beim Erstellen einer kleinen Programmzeile:

                    Woher weiss das Skript das Kühlung aktiv ist?

                    Weil dann der Wert des Datenpunktes true ist.

                    TH GT Offline
                    TH GT Offline
                    TH G
                    schrieb am zuletzt editiert von
                    #15

                    @paul53

                    Habe ich in Zeile 62 eingefügt. Folgende Warnung kommt dann:

                    7.8.2020, 16:14:46.668 [info ]: javascript.0 (31544) Stop script script.js.common.SMA_Bat_Regelung_2_1
                    7.8.2020, 16:14:46.682 [info ]: javascript.0 (31544) Start javascript script.js.common.SMA_Bat_Regelung_2_1
                    7.8.2020, 16:14:46.731 [warn ]: javascript.0 (31544) at script.js.common.SMA_Bat_Regelung_2_1:62:4
                    7.8.2020, 16:14:46.735 [info ]: javascript.0 (31544) script.js.common.SMA_Bat_Regelung_2_1: registered 1 subscription and 0 schedules

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • TH GT TH G

                      @paul53

                      Habe ich in Zeile 62 eingefügt. Folgende Warnung kommt dann:

                      7.8.2020, 16:14:46.668 [info ]: javascript.0 (31544) Stop script script.js.common.SMA_Bat_Regelung_2_1
                      7.8.2020, 16:14:46.682 [info ]: javascript.0 (31544) Start javascript script.js.common.SMA_Bat_Regelung_2_1
                      7.8.2020, 16:14:46.731 [warn ]: javascript.0 (31544) at script.js.common.SMA_Bat_Regelung_2_1:62:4
                      7.8.2020, 16:14:46.735 [info ]: javascript.0 (31544) script.js.common.SMA_Bat_Regelung_2_1: registered 1 subscription and 0 schedules

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #16

                      @TH-G
                      Ich hatte getState falsch geschrieben (inzwischen korrigiert).

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      TH GT 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @TH-G
                        Ich hatte getState falsch geschrieben (inzwischen korrigiert).

                        TH GT Offline
                        TH GT Offline
                        TH G
                        schrieb am zuletzt editiert von
                        #17

                        @paul53

                        Warnung ist immer noch da:

                        // PV-WR Register Definition, nur bei Bedarf anpassen
                          var PV_Dev_Type = ModBusPV + ".inputRegisters.30053_DevTypeId", /*Typnummer*/
                              PVWR_limit = ModBusPV + ".holdingRegisters.41255_WNomPrc";
                              
                        if(getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN').val) grundlast +=  3000;
                        on('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN', function(dp) { // triggert bei Änderung des Status Kühlen
                            if(dp.state.val) grundlast += 3000;
                            else grundlast -= 3000;
                        });
                        
                        // ab hier Programmcode, nichts ändern!
                        function processing() {
                        // Start der Parametrierung
                        
                        
                        paul53P 1 Antwort Letzte Antwort
                        0
                        • TH GT TH G

                          @paul53

                          Warnung ist immer noch da:

                          // PV-WR Register Definition, nur bei Bedarf anpassen
                            var PV_Dev_Type = ModBusPV + ".inputRegisters.30053_DevTypeId", /*Typnummer*/
                                PVWR_limit = ModBusPV + ".holdingRegisters.41255_WNomPrc";
                                
                          if(getState('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN').val) grundlast +=  3000;
                          on('stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN', function(dp) { // triggert bei Änderung des Status Kühlen
                              if(dp.state.val) grundlast += 3000;
                              else grundlast -= 3000;
                          });
                          
                          // ab hier Programmcode, nichts ändern!
                          function processing() {
                          // Start der Parametrierung
                          
                          
                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #18

                          @TH-G sagte:

                          Warnung ist immer noch da

                          Schau mal im Tab "Log" nach. Dort gibt es meist mehr Informationen. Ist die Datenpunkt-ID richtig geschrieben ?

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          TH GT 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @TH-G sagte:

                            Warnung ist immer noch da

                            Schau mal im Tab "Log" nach. Dort gibt es meist mehr Informationen. Ist die Datenpunkt-ID richtig geschrieben ?

                            TH GT Offline
                            TH GT Offline
                            TH G
                            schrieb am zuletzt editiert von TH G
                            #19

                            @paul53

                            Ja der DP ist richtig: stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN

                            javascript.0 2020-08-07 16:25:44.150 warn (31544) at script.js.common.SMA_Bat_Regelung_2_1:62:4
                            javascript.0 2020-08-07 16:25:44.145 warn (31544) getState "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN" not found (3)

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • TH GT TH G

                              @paul53

                              Ja der DP ist richtig: stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN

                              javascript.0 2020-08-07 16:25:44.150 warn (31544) at script.js.common.SMA_Bat_Regelung_2_1:62:4
                              javascript.0 2020-08-07 16:25:44.145 warn (31544) getState "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN" not found (3)

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von
                              #20

                              @TH-G sagte:

                              "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN" not found (3)

                              Die Warnung sagt aus, dass der Datenpunkt nicht gefunden wurde.

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              TH GT 1 Antwort Letzte Antwort
                              0
                              • paul53P paul53

                                @TH-G sagte:

                                "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN" not found (3)

                                Die Warnung sagt aus, dass der Datenpunkt nicht gefunden wurde.

                                TH GT Offline
                                TH GT Offline
                                TH G
                                schrieb am zuletzt editiert von
                                #21

                                @paul53

                                Verstehe aber er ist da und nutze diesen auch für VIS und da wird es richtig angezeigt.

                                Der DP ist auch über die Kopierfuktion kopiert worden, damit es keine Schreibfehler gibt.

                                paul53P 1 Antwort Letzte Antwort
                                0
                                • TH GT TH G

                                  @paul53

                                  Verstehe aber er ist da und nutze diesen auch für VIS und da wird es richtig angezeigt.

                                  Der DP ist auch über die Kopierfuktion kopiert worden, damit es keine Schreibfehler gibt.

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von
                                  #22

                                  @TH-G
                                  Poste mal die RAW-Ansicht des Objektes in Code tags.

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                  TH GT 1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @TH-G
                                    Poste mal die RAW-Ansicht des Objektes in Code tags.

                                    TH GT Offline
                                    TH GT Offline
                                    TH G
                                    schrieb am zuletzt editiert von TH G
                                    #23

                                    @paul53

                                    Hallo Paul,

                                    es gab für VIS damals auch das Problem, das es nicht möglich ist, ein leeres Feld zu triggern. Kann das hier auch das Problem sein?

                                    https://forum.iobroker.net/topic/34677/triggern-dp-ohne-wert-nicht-möglich-true-leer-stiebel-isg/53

                                    AlCalzone schrieb damals dazu:

                                    Der Adapter nutzt die expire-Funktion, um states automatisch nach gewisser Zeit zurück (auf null) zu setzen. Scheint als bekommt der JS-Adapter diese Änderung nicht mit.

                                    {
                                      "from": "system.adapter.stiebel-isg.0",
                                      "user": "system.user.admin",
                                      "ts": 1592375626112,
                                      "common": {
                                        "name": "KÜHLEN",
                                        "type": "boolean",
                                        "unit": "",
                                        "role": "indicator.state",
                                        "read": true,
                                        "write": false
                                      },
                                      "native": {},
                                      "acl": {
                                        "object": 1636,
                                        "owner": "system.user.admin",
                                        "ownerGroup": "system.group.administrator",
                                        "state": 1636
                                      },
                                      "_id": "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN",
                                      "type": "state"
                                    }
                                    
                                    paul53P 1 Antwort Letzte Antwort
                                    0
                                    • TH GT TH G

                                      @paul53

                                      Hallo Paul,

                                      es gab für VIS damals auch das Problem, das es nicht möglich ist, ein leeres Feld zu triggern. Kann das hier auch das Problem sein?

                                      https://forum.iobroker.net/topic/34677/triggern-dp-ohne-wert-nicht-möglich-true-leer-stiebel-isg/53

                                      AlCalzone schrieb damals dazu:

                                      Der Adapter nutzt die expire-Funktion, um states automatisch nach gewisser Zeit zurück (auf null) zu setzen. Scheint als bekommt der JS-Adapter diese Änderung nicht mit.

                                      {
                                        "from": "system.adapter.stiebel-isg.0",
                                        "user": "system.user.admin",
                                        "ts": 1592375626112,
                                        "common": {
                                          "name": "KÜHLEN",
                                          "type": "boolean",
                                          "unit": "",
                                          "role": "indicator.state",
                                          "read": true,
                                          "write": false
                                        },
                                        "native": {},
                                        "acl": {
                                          "object": 1636,
                                          "owner": "system.user.admin",
                                          "ownerGroup": "system.group.administrator",
                                          "state": 1636
                                        },
                                        "_id": "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN",
                                        "type": "state"
                                      }
                                      
                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      schrieb am zuletzt editiert von
                                      #24

                                      @TH-G
                                      Wird der Datenpunkt vom Adapter "stiebel-isg" erzeugt und geschrieben ? Dann erstelle ein Issue auf Github, dass der Wert nur false und true enthalten darf und nicht null.

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                      TH GT 1 Antwort Letzte Antwort
                                      0
                                      • paul53P paul53

                                        @TH-G
                                        Wird der Datenpunkt vom Adapter "stiebel-isg" erzeugt und geschrieben ? Dann erstelle ein Issue auf Github, dass der Wert nur false und true enthalten darf und nicht null.

                                        TH GT Offline
                                        TH GT Offline
                                        TH G
                                        schrieb am zuletzt editiert von TH G
                                        #25

                                        @paul53

                                        Das Thema ist schon mehrfach angesprochen worden und es scheint keine Lösung dafür zu geben.

                                        So ist es ja für VIS gelöst worden. Kann man daraus nicht etwas auch für das Problem hier nutzen?

                                        var Intervall;
                                        
                                        
                                        on({id: "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN"/*KÜHLEN*/, change: "ne"}, function (obj) {
                                          var value = obj.state.val;
                                          var oldValue = obj.oldState.val;
                                          Intervall = setInterval(function () {
                                            if (getState("stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN").val == true) {
                                              setState("0_userdata.0.Status_WP"/*Status_WP*/, 'Kühlen', true);
                                            } else {
                                              setState("0_userdata.0.Status_WP"/*Status_WP*/, 'nicht aktiv', true);
                                              (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                                            }
                                          }, 1000);
                                        });
                                        
                                        

                                        z.B. mit dem DP 0_userdata.0.Status_WP

                                        Dort gibt es folgende Texteinträge:

                                        Kühlen
                                        Heizen
                                        Warmwasser
                                        nicht aktiv

                                        paul53P 1 Antwort Letzte Antwort
                                        0
                                        • TH GT TH G

                                          @paul53

                                          Das Thema ist schon mehrfach angesprochen worden und es scheint keine Lösung dafür zu geben.

                                          So ist es ja für VIS gelöst worden. Kann man daraus nicht etwas auch für das Problem hier nutzen?

                                          var Intervall;
                                          
                                          
                                          on({id: "stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN"/*KÜHLEN*/, change: "ne"}, function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            Intervall = setInterval(function () {
                                              if (getState("stiebel-isg.0.Info.STATUS.BETRIEBSSTATUS.KUEHLEN").val == true) {
                                                setState("0_userdata.0.Status_WP"/*Status_WP*/, 'Kühlen', true);
                                              } else {
                                                setState("0_userdata.0.Status_WP"/*Status_WP*/, 'nicht aktiv', true);
                                                (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                                              }
                                            }, 1000);
                                          });
                                          
                                          

                                          z.B. mit dem DP 0_userdata.0.Status_WP

                                          Dort gibt es folgende Texteinträge:

                                          Kühlen
                                          Heizen
                                          Warmwasser
                                          nicht aktiv

                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von paul53
                                          #26

                                          @TH-G sagte:

                                          mit dem DP 0_userdata.0.Status_WP

                                          Dieser Datenpunkt zeigt immer den richtigen Zustand an ? Dann ändere es so:

                                          if(getState('0_userdata.0.Status_WP').val == 'Kühlen') grundlast +=  3000;
                                          on('0_userdata.0.Status_WP', function(dp) { // triggert bei Änderung des Status
                                              if(dp.state.val == 'Kühlen') grundlast += 3000;
                                              else grundlast = 550;
                                          });
                                          

                                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                          TH GT 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          639

                                          Online

                                          32.4k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe