Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Bitte Hilfe beim Erstellen einer kleinen Programmzeile

    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

    Bitte Hilfe beim Erstellen einer kleinen Programmzeile

    This topic has been deleted. Only users with topic management privileges can see it.
    • TH G
      TH G @paul53 last edited by

      @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
      
      
      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @TH G last edited by

        @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 G 1 Reply Last reply Reply Quote 0
        • TH G
          TH G @paul53 last edited by 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)

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

            @TH-G sagte:

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

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

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

              @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.

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

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

                TH G 1 Reply Last reply Reply Quote 0
                • TH G
                  TH G @paul53 last edited by 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"
                  }
                  
                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @TH G last edited by

                    @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 G 1 Reply Last reply Reply Quote 0
                    • TH G
                      TH G @paul53 last edited by 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

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

                        @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;
                        });
                        
                        TH G 1 Reply Last reply Reply Quote 0
                        • TH G
                          TH G @paul53 last edited by

                          @paul53

                          Ja der stimmte bisher immer 🙂

                          Habe ich geändert und keine Fehlermeldung mehr.

                          Ich werde das nun testen

                          Vielen Dank für deine Hilfe und Ausdauert!

                          TH G 1 Reply Last reply Reply Quote 0
                          • TH G
                            TH G @TH G last edited by

                            @paul53

                            Erste Anwendung hat schon geklappt und die Grundlast wurde erhöht

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            708
                            Online

                            31.8k
                            Users

                            80.0k
                            Topics

                            1.3m
                            Posts

                            2
                            28
                            814
                            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