Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    21
    1
    938

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Bitte Hilfe beim Erstellen einer kleinen Programmzeile

Scheduled Pinned Locked Moved JavaScript
28 Posts 2 Posters 915 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • paul53P paul53

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

    TH GT Offline
    TH GT Offline
    TH G
    wrote on last edited by
    #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 Reply Last reply
    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
      wrote on last edited by
      #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 Reply Last reply
      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
        wrote on last edited by 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 Reply Last reply
        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
          wrote on last edited by
          #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 Reply Last reply
          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
            wrote on last edited by
            #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 Reply Last reply
            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
              wrote on last edited by
              #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 Reply Last reply
              0
              • paul53P paul53

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

                TH GT Offline
                TH GT Offline
                TH G
                wrote on last edited by 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 Reply Last reply
                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
                  wrote on last edited by
                  #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 Reply Last reply
                  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
                    wrote on last edited by 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 Reply Last reply
                    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
                      wrote on last edited by 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 Reply Last reply
                      0
                      • paul53P 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 GT Offline
                        TH GT Offline
                        TH G
                        wrote on last edited by
                        #27

                        @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 GT 1 Reply Last reply
                        0
                        • TH GT TH G

                          @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 GT Offline
                          TH GT Offline
                          TH G
                          wrote on last edited by
                          #28

                          @paul53

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

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          690

                          Online

                          32.5k

                          Users

                          81.6k

                          Topics

                          1.3m

                          Posts
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Home
                          • Recent
                          • Tags
                          • Unread 0
                          • Categories
                          • Unreplied
                          • Popular
                          • GitHub
                          • Docu
                          • Hilfe