Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Wie den vorherigen Wert von Datenpunkt setzen?

    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

    Wie den vorherigen Wert von Datenpunkt setzen?

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

      @mguenther sagte: Mache ich erfolgreich über:

      Also die Werte "0", "1", "2" (String)?

      @mguenther sagte in Wie den vorherigen Wert von Datenpunkt setzen?:

      und setze Datenpunkt2 auf Aus.

      Wenn der Luxus-DP auf 0 (Aus) gesetzt wird, wird der Modus-DP automatisch auf den alten Wert (0 oder 1) gesetzt (siehe Zeilen 25, 27);

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

        @paul53
        ja, genau. Dein Skript macht, was es soll, danke.

        Jetzt muss nur noch das einmalige integriert werden. Da habe ich als Datenpunkte zum einen die aktuelle Brauchwassertemperatur und die Sollbrauchwassertemperatur.

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

          @mguenther sagte: das einmalige integriert werden. Da habe ich als Datenpunkte zum einen die aktuelle Brauchwassertemperatur und die Sollbrauchwassertemperatur.

          Für die 3 Modi muss ein Zweipunkt-Regler vorhanden sein, der das Aufheizen steuert, also gibt es einen Datenpunkt für "Aufheizen"? Der wäre besser für das Zurückschalten bei "einmalig" geeignet.

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

            @paul53
            was meinste mit Zweipunktregler?
            Ich kann das Erwärmen leider nur über den Mode und somit über die Stellgröße steuern. Die anderen Werte sind nur auslesbar, aber nicht schreibbar...

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

              @mguenther sagte: Die anderen Werte sind nur auslesbar

              Ist "Aufheizen" / "Ladepumpe" auslesbar? Das würde genügen.

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

                @paul53
                Das sind alle Datenpunkte:
                2a8d853b-458b-4cd4-aeb4-74a5f4c3ad20-grafik.png

                Alle Punkte mit einem _R sind auslesbar, alle Punkte mit einem _W kann ich auch zurückschreiben...

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

                  @mguenther
                  Einen DP für die Speicherladepumpe kann ich leider nicht finden.
                  Dann muss wann wohl mit "Brauchwasser_oben" und "StopTemp_HW_Luxury" arbeiten.

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

                    @paul53 sagte in Wie den vorherigen Wert von Datenpunkt setzen?:

                    @mguenther
                    Einen DP für die Speicherladepumpe kann ich leider nicht finden.
                    Dann muss wann wohl mit "Brauchwasser_oben" und "StopTemp_HW_Luxury" arbeiten.

                    das war mein Plan

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

                      @mguenther sagte: das war mein Plan

                      Dann ergänze das Skript (IDs eintragen!):

                      const idTempOben = '...';
                      const idStopLuxus = '...';
                      
                      on(idTempOben, function(dp) {
                          if(dp.state.val >= getState(idStopLuxus).val && luxus == 4) {
                              setState(idtempLuxus_USERDATA, 0, true);
                          }
                      });
                      
                      M 1 Reply Last reply Reply Quote 0
                      • M
                        mguenther @paul53 last edited by

                        @paul53

                        Top, danke dir... funktioniert genau so wie es soll

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

                          @mguenther sagte: funktioniert genau so wie es soll

                          Ich würde noch den "Luxus" auf 4 (einmalig) stellen, wenn der Modus 2 links im Bild aktiviert wird.

                          on(idWasserMode_USERDATA, function(dp) {
                              WasserMode = dp.state.val;
                              console.log("Eingabe "+ WasserMode);
                              if (WasserMode < 2) {
                                  alterWasserMode = WasserMode;
                                  luxus = 0;
                              } else if(luxus == 0) luxus = 4;
                              setState(idtempLuxus_USERDATA, luxus, true);
                              setState(idWarmwasserMode_MQTT_W, WasserMode.toString());
                          });
                          
                          M 1 Reply Last reply Reply Quote 1
                          • M
                            mguenther @paul53 last edited by mguenther

                            @paul53
                            ja, top - danke, habs übernommen

                            Tante Edith - Moment, steht das nicht im Widerspruch zu der Änderung bei der Luxus Temperatur? Ich meine hiermit:

                            on(idTempOben, function(dp) {
                                if(dp.state.val >= getState(idStopLuxus).val && luxus == 4) {
                                    setState(idtempLuxus_USERDATA, 0, true);
                                }
                            });
                            

                            Dann würde ja Luxus nicht permanent anbleiben, sondern dann wieder zurückspringen - oder?

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

                              @mguenther sagte: Dann würde ja Luxus nicht permanent anbleiben, sondern dann wieder zurückspringen - oder?

                              Erst, wenn die Stop-Temperatur erreicht ist (Modus "einmalig").

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

                                @paul53
                                genau - wenn ich "einmalig" drücke soll das ja auch so sein. Wenn hingegen (aus welchen Gründen auch immer) länger Luxus an sein soll, dann würden wir den Mode komplett ändern. Von daher macht es keinen Sinn, dass sich auch bei Mode = Luxus automatisch "einmalig" aktiviert.
                                Aber danke für deine Anregung, im ersten Moment fand ichs richtig gut 🙂

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                435
                                Online

                                31.9k
                                Users

                                80.1k
                                Topics

                                1.3m
                                Posts

                                2
                                18
                                503
                                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