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. Wie den vorherigen Wert von Datenpunkt setzen?

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.0k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Wie den vorherigen Wert von Datenpunkt setzen?

Geplant Angeheftet Gesperrt Verschoben JavaScript
18 Beiträge 2 Kommentatoren 1.0k Aufrufe
  • Ä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.
  • M Offline
    M Offline
    mguenther
    schrieb am zuletzt editiert von
    #1

    Hallo,
    ich möchte das Erwärmen meines Brauchwassers über meine Heizung steuern. Es gibt dazu 2 Steuerungsmöglichkeiten von 2 Datenpunkten:

    1. Datenpunkt 1 (idWasserMode_USERDATA) - der Modus (Wert des Datenpunkts 0, 1 und 2 = Eco, Normal und Luxus)
    2. Datenpunkt 2 (idtempLuxus_USERDATA) - einen temporären Luxusmodus (0 = aus, 1, 2, 3, 4 - je nach unterschiedlichen Zeiträumen (Timer) für Luxus-Modus aus Datenpunkt1)
      Hier die Eingabemaske meiner VIS:
      e318431f-d929-4aac-9cca-83f089486c35-image.png

    Jetzt folgendes:

    1. Wenn der temporäre Luxus auf den Wert 1 bis 4 gesetzt wird, springt der Modus der Warmwasseraufbereitung auf Luxus (Wert=2) und ein Timer wird gestartet. Der Timer ist noch nicht implementiert und aktuell wird nur ein Datenpunkt auf true/false gesetzt. Wenn der Timer abgelaufen ist, soll der Wert des temp Luxus auf 0 (=Aus) und der Warmwasseraufbereitungsmodus auf den alten Wert (bevor er beim Aktivieren des temp Luxus auf den Wert=2 (=Luxus) ging) gesetzt werden.
    2. Wenn bei aktivem tempLuxus jemand manuell den tempLuxus auf Aus (=0) setzt, dann soll der Timer abgebrochen und der Warmwasseraufbereitungsmodus auf den alten Wert gesetzt werden (siehe Punkt 1)
    3. Wenn jemand bei aktivierten tempLuxus (Wert>0) den Warmwasseraufbereitungsmodus von Luxus (=2) auf 0 oder 1 setzt, soll tempLuxus auf Aus (=0) gesetzt und der Timer abgebrochen werden.

    Ich hoffe, ihr konntet mir folgen. Wie bekomme ich diese drei Varianten unter einen Hut? Was ich bis jetzt habe - ich habe einiges schon umsetzen können, nun komm ich einfach nicht weiter:

    let idWarmwasserMode_MQTT_W = 'mqtt.0.Nibe.47041_WarmwasserMode_W'/*Nibe 47041 WarmwasserMode W*/;
    let idTimer = '0_userdata.0.Heizung.Timer_tempLuxus'/*Timer tempLuxus*/;
    let idWasserMode_USERDATA = '0_userdata.0.Heizung.47041_WarmwasserMode_W'/*47041 WarmwasserMode R*/;
    let idtempLuxus_USERDATA = '0_userdata.0.Heizung.48132_Warmwasser_tempLuxus_R'/*48132 Warmwasser tempLuxus R*/;
    
    let WasserMode = getState(idWasserMode_USERDATA).val;
    let alterWasserMode;
    let virtEingabe_Mode;
    
    on(idWasserMode_USERDATA, function(dp) {
    	virtEingabe_Mode = dp.state.val;
        console.log("Eingabe "+dp.state.val);
        if (virtEingabe_Mode < 2) {
            setState(idtempLuxus_USERDATA, 0);
        };
        setState(idWarmwasserMode_MQTT_W, dp.state.val.toString());
    });
    
    on(idtempLuxus_USERDATA, function(dp) {
    	let wert = dp.state.val;
        console.log("TempLux "+wert);
        WasserMode = getState(idWasserMode_USERDATA).val;
        console.log("Mode "+WasserMode);
        if ((wert > 0) && (WasserMode!=2)) {
            setState(idWasserMode_USERDATA, 2);
            setState(idTimer, true);
        };
        if (wert==0) {
            setState(idWasserMode_USERDATA, 0);
            setState(idTimer, false);
        };
    });
    
    

    für den alten Wassermode habe ich bis jetzt eine Variable angelegt. Mit

    setState(idWasserMode_USERDATA, 0)
    

    setze ich momentan immer den Warmwasseraufbereitungsmodus auf den Wert 0 (=ECO), weil ich es nicht hinbekomme. Daher passt es so noch nicht. Ich würde beim "reseten" gerne immer den Wert wieder schreiben, der vor Wert=2 im Datenpunkt Modus war.

    Wenn ihr mir weiterhelfen könntet, würde ich mich freuen.

    Danke
    Marcus

    paul53P 2 Antworten Letzte Antwort
    0
    • M mguenther

      Hallo,
      ich möchte das Erwärmen meines Brauchwassers über meine Heizung steuern. Es gibt dazu 2 Steuerungsmöglichkeiten von 2 Datenpunkten:

      1. Datenpunkt 1 (idWasserMode_USERDATA) - der Modus (Wert des Datenpunkts 0, 1 und 2 = Eco, Normal und Luxus)
      2. Datenpunkt 2 (idtempLuxus_USERDATA) - einen temporären Luxusmodus (0 = aus, 1, 2, 3, 4 - je nach unterschiedlichen Zeiträumen (Timer) für Luxus-Modus aus Datenpunkt1)
        Hier die Eingabemaske meiner VIS:
        e318431f-d929-4aac-9cca-83f089486c35-image.png

      Jetzt folgendes:

      1. Wenn der temporäre Luxus auf den Wert 1 bis 4 gesetzt wird, springt der Modus der Warmwasseraufbereitung auf Luxus (Wert=2) und ein Timer wird gestartet. Der Timer ist noch nicht implementiert und aktuell wird nur ein Datenpunkt auf true/false gesetzt. Wenn der Timer abgelaufen ist, soll der Wert des temp Luxus auf 0 (=Aus) und der Warmwasseraufbereitungsmodus auf den alten Wert (bevor er beim Aktivieren des temp Luxus auf den Wert=2 (=Luxus) ging) gesetzt werden.
      2. Wenn bei aktivem tempLuxus jemand manuell den tempLuxus auf Aus (=0) setzt, dann soll der Timer abgebrochen und der Warmwasseraufbereitungsmodus auf den alten Wert gesetzt werden (siehe Punkt 1)
      3. Wenn jemand bei aktivierten tempLuxus (Wert>0) den Warmwasseraufbereitungsmodus von Luxus (=2) auf 0 oder 1 setzt, soll tempLuxus auf Aus (=0) gesetzt und der Timer abgebrochen werden.

      Ich hoffe, ihr konntet mir folgen. Wie bekomme ich diese drei Varianten unter einen Hut? Was ich bis jetzt habe - ich habe einiges schon umsetzen können, nun komm ich einfach nicht weiter:

      let idWarmwasserMode_MQTT_W = 'mqtt.0.Nibe.47041_WarmwasserMode_W'/*Nibe 47041 WarmwasserMode W*/;
      let idTimer = '0_userdata.0.Heizung.Timer_tempLuxus'/*Timer tempLuxus*/;
      let idWasserMode_USERDATA = '0_userdata.0.Heizung.47041_WarmwasserMode_W'/*47041 WarmwasserMode R*/;
      let idtempLuxus_USERDATA = '0_userdata.0.Heizung.48132_Warmwasser_tempLuxus_R'/*48132 Warmwasser tempLuxus R*/;
      
      let WasserMode = getState(idWasserMode_USERDATA).val;
      let alterWasserMode;
      let virtEingabe_Mode;
      
      on(idWasserMode_USERDATA, function(dp) {
      	virtEingabe_Mode = dp.state.val;
          console.log("Eingabe "+dp.state.val);
          if (virtEingabe_Mode < 2) {
              setState(idtempLuxus_USERDATA, 0);
          };
          setState(idWarmwasserMode_MQTT_W, dp.state.val.toString());
      });
      
      on(idtempLuxus_USERDATA, function(dp) {
      	let wert = dp.state.val;
          console.log("TempLux "+wert);
          WasserMode = getState(idWasserMode_USERDATA).val;
          console.log("Mode "+WasserMode);
          if ((wert > 0) && (WasserMode!=2)) {
              setState(idWasserMode_USERDATA, 2);
              setState(idTimer, true);
          };
          if (wert==0) {
              setState(idWasserMode_USERDATA, 0);
              setState(idTimer, false);
          };
      });
      
      

      für den alten Wassermode habe ich bis jetzt eine Variable angelegt. Mit

      setState(idWasserMode_USERDATA, 0)
      

      setze ich momentan immer den Warmwasseraufbereitungsmodus auf den Wert 0 (=ECO), weil ich es nicht hinbekomme. Daher passt es so noch nicht. Ich würde beim "reseten" gerne immer den Wert wieder schreiben, der vor Wert=2 im Datenpunkt Modus war.

      Wenn ihr mir weiterhelfen könntet, würde ich mich freuen.

      Danke
      Marcus

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

      @mguenther
      Mittels "mqtt.0.Nibe.47041_WarmwasserMode_W" wird der Mode gesteuert? Welche Werte soll er annehmen?

      Was bedeutet "einmalig" (Wert 4)?

      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

      1 Antwort Letzte Antwort
      0
      • M mguenther

        Hallo,
        ich möchte das Erwärmen meines Brauchwassers über meine Heizung steuern. Es gibt dazu 2 Steuerungsmöglichkeiten von 2 Datenpunkten:

        1. Datenpunkt 1 (idWasserMode_USERDATA) - der Modus (Wert des Datenpunkts 0, 1 und 2 = Eco, Normal und Luxus)
        2. Datenpunkt 2 (idtempLuxus_USERDATA) - einen temporären Luxusmodus (0 = aus, 1, 2, 3, 4 - je nach unterschiedlichen Zeiträumen (Timer) für Luxus-Modus aus Datenpunkt1)
          Hier die Eingabemaske meiner VIS:
          e318431f-d929-4aac-9cca-83f089486c35-image.png

        Jetzt folgendes:

        1. Wenn der temporäre Luxus auf den Wert 1 bis 4 gesetzt wird, springt der Modus der Warmwasseraufbereitung auf Luxus (Wert=2) und ein Timer wird gestartet. Der Timer ist noch nicht implementiert und aktuell wird nur ein Datenpunkt auf true/false gesetzt. Wenn der Timer abgelaufen ist, soll der Wert des temp Luxus auf 0 (=Aus) und der Warmwasseraufbereitungsmodus auf den alten Wert (bevor er beim Aktivieren des temp Luxus auf den Wert=2 (=Luxus) ging) gesetzt werden.
        2. Wenn bei aktivem tempLuxus jemand manuell den tempLuxus auf Aus (=0) setzt, dann soll der Timer abgebrochen und der Warmwasseraufbereitungsmodus auf den alten Wert gesetzt werden (siehe Punkt 1)
        3. Wenn jemand bei aktivierten tempLuxus (Wert>0) den Warmwasseraufbereitungsmodus von Luxus (=2) auf 0 oder 1 setzt, soll tempLuxus auf Aus (=0) gesetzt und der Timer abgebrochen werden.

        Ich hoffe, ihr konntet mir folgen. Wie bekomme ich diese drei Varianten unter einen Hut? Was ich bis jetzt habe - ich habe einiges schon umsetzen können, nun komm ich einfach nicht weiter:

        let idWarmwasserMode_MQTT_W = 'mqtt.0.Nibe.47041_WarmwasserMode_W'/*Nibe 47041 WarmwasserMode W*/;
        let idTimer = '0_userdata.0.Heizung.Timer_tempLuxus'/*Timer tempLuxus*/;
        let idWasserMode_USERDATA = '0_userdata.0.Heizung.47041_WarmwasserMode_W'/*47041 WarmwasserMode R*/;
        let idtempLuxus_USERDATA = '0_userdata.0.Heizung.48132_Warmwasser_tempLuxus_R'/*48132 Warmwasser tempLuxus R*/;
        
        let WasserMode = getState(idWasserMode_USERDATA).val;
        let alterWasserMode;
        let virtEingabe_Mode;
        
        on(idWasserMode_USERDATA, function(dp) {
        	virtEingabe_Mode = dp.state.val;
            console.log("Eingabe "+dp.state.val);
            if (virtEingabe_Mode < 2) {
                setState(idtempLuxus_USERDATA, 0);
            };
            setState(idWarmwasserMode_MQTT_W, dp.state.val.toString());
        });
        
        on(idtempLuxus_USERDATA, function(dp) {
        	let wert = dp.state.val;
            console.log("TempLux "+wert);
            WasserMode = getState(idWasserMode_USERDATA).val;
            console.log("Mode "+WasserMode);
            if ((wert > 0) && (WasserMode!=2)) {
                setState(idWasserMode_USERDATA, 2);
                setState(idTimer, true);
            };
            if (wert==0) {
                setState(idWasserMode_USERDATA, 0);
                setState(idTimer, false);
            };
        });
        
        

        für den alten Wassermode habe ich bis jetzt eine Variable angelegt. Mit

        setState(idWasserMode_USERDATA, 0)
        

        setze ich momentan immer den Warmwasseraufbereitungsmodus auf den Wert 0 (=ECO), weil ich es nicht hinbekomme. Daher passt es so noch nicht. Ich würde beim "reseten" gerne immer den Wert wieder schreiben, der vor Wert=2 im Datenpunkt Modus war.

        Wenn ihr mir weiterhelfen könntet, würde ich mich freuen.

        Danke
        Marcus

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

        @mguenther sagte: Wert wieder schreiben, der vor Wert=2 im Datenpunkt Modus war.

        const idWarmwasserMode_MQTT_W = 'mqtt.0.Nibe.47041_WarmwasserMode_W'/*Nibe 47041 WarmwasserMode W*/;
        const idTimer = '0_userdata.0.Heizung.Timer_tempLuxus'/*Timer tempLuxus*/;
        const idWasserMode_USERDATA = '0_userdata.0.Heizung.47041_WarmwasserMode_W'/*47041 WarmwasserMode R*/;
        const idtempLuxus_USERDATA = '0_userdata.0.Heizung.48132_Warmwasser_tempLuxus_R'/*48132 Warmwasser tempLuxus R*/;
         
        let WasserMode = getState(idWasserMode_USERDATA).val; // 0: Eco, 1: Normal, 2: Luxus
        let alterWasserMode = WasserMode;
        let luxus = 0;
         
        on(idWasserMode_USERDATA, function(dp) {
            WasserMode = dp.state.val;
            console.log("Eingabe "+ WasserMode);
            if (WasserMode < 2) {
                alterWasserMode = WasserMode;
                setState(idtempLuxus_USERDATA, 0, true);
            };
            setState(idWarmwasserMode_MQTT_W, WasserMode.toString()); // ?? 0...2 als String?
        });
         
        on(idtempLuxus_USERDATA, function(dp) {
            luxus = dp.state.val;
            console.log("TempLux " + luxus);
            console.log("Mode " + WasserMode);
            let neuerWasserMode = 2;
            if(luxus == 0) neuerWasserMode = alterWasserMode;
            if(neuerWasserMode != WasserMode) {
                setState(idWasserMode_USERDATA, neuerWasserMode, true);
                setState(idTimer, neuerWasserMode == 2, true);
            }
        });
        

        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

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          mguenther
          schrieb am zuletzt editiert von
          #4

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

          @mguenther
          Mittels "mqtt.0.Nibe.47041_WarmwasserMode_W" wird der Mode gesteuert? Welche Werte soll er annehmen?

          Was bedeutet "einmalig" (Wert 4)?

          Hallo Paul,
          genau, über mqtt wird gesteuert. Mache ich erfolgreich über:

          setState(idWarmwasserMode_MQTT_W, dp.state.val.toString());
          

          und einmalig heißt, dass das Brauchwasser einmalig auf die max Temp von Luxus erhitzt wird. Den Punkt hatte ich auch noch nicht auf den Schirm. Das wäre quasi etwas wie:

          • stelle auf Luxus (Datenpunkt1) und einmalig (Datenpunkt2)
          • sobald max Temp erreicht ist, setze wieder den alten Wert des Mode in Datenpunkt1 und setze Datenpunkt2 auf Aus.

          Marcus

          paul53P 1 Antwort Letzte Antwort
          0
          • M mguenther

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

            @mguenther
            Mittels "mqtt.0.Nibe.47041_WarmwasserMode_W" wird der Mode gesteuert? Welche Werte soll er annehmen?

            Was bedeutet "einmalig" (Wert 4)?

            Hallo Paul,
            genau, über mqtt wird gesteuert. Mache ich erfolgreich über:

            setState(idWarmwasserMode_MQTT_W, dp.state.val.toString());
            

            und einmalig heißt, dass das Brauchwasser einmalig auf die max Temp von Luxus erhitzt wird. Den Punkt hatte ich auch noch nicht auf den Schirm. Das wäre quasi etwas wie:

            • stelle auf Luxus (Datenpunkt1) und einmalig (Datenpunkt2)
            • sobald max Temp erreicht ist, setze wieder den alten Wert des Mode in Datenpunkt1 und setze Datenpunkt2 auf Aus.

            Marcus

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

            @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);

            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

            M 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @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 Offline
              M Offline
              mguenther
              schrieb am zuletzt editiert von
              #6

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

              paul53P 1 Antwort Letzte Antwort
              0
              • M mguenther

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

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

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

                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

                M 1 Antwort Letzte Antwort
                0
                • paul53P 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 Offline
                  M Offline
                  mguenther
                  schrieb am zuletzt editiert von
                  #8

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

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • M mguenther

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

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

                    @mguenther sagte: Die anderen Werte sind nur auslesbar

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

                    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

                    M 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @mguenther sagte: Die anderen Werte sind nur auslesbar

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

                      M Offline
                      M Offline
                      mguenther
                      schrieb am zuletzt editiert von
                      #10

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

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • M mguenther

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

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

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

                        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

                        M 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @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 Offline
                          M Offline
                          mguenther
                          schrieb am zuletzt editiert von
                          #12

                          @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

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • M mguenther

                            @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

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

                            @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);
                                }
                            });
                            

                            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

                            M 1 Antwort Letzte Antwort
                            0
                            • paul53P 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 Offline
                              M Offline
                              mguenther
                              schrieb am zuletzt editiert von
                              #14

                              @paul53

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

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • M mguenther

                                @paul53

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

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

                                @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());
                                });
                                

                                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

                                M 1 Antwort Letzte Antwort
                                1
                                • paul53P 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 Offline
                                  M Offline
                                  mguenther
                                  schrieb am zuletzt editiert von mguenther
                                  #16

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

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • M 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?

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

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

                                    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

                                    M 1 Antwort Letzte Antwort
                                    0
                                    • paul53P 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 Offline
                                      M Offline
                                      mguenther
                                      schrieb am zuletzt editiert von
                                      #18

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

                                      679

                                      Online

                                      32.6k

                                      Benutzer

                                      82.3k

                                      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