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. [Gelöst] Ölvorrat Enddatum berechnen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

[Gelöst] Ölvorrat Enddatum berechnen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
26 Beiträge 3 Kommentatoren 743 Aufrufe 2 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.
  • B bloop

    @bloop
    Mit "rolle" und "type" wie bei dir funktionierts. Allerdings erhalte ich immer noch die Warnung das der Datenpunkt eine Nummer möchte und String erhält.

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

    @bloop sagte: Warnung das der Datenpunkt eine Nummer möchte und String erhält.

    Du meinst umgekehrt? Du schreibst eine Zahl in "Datum_Ölstand_leer". Richtig:

    Bild_2022-10-08_135332723.png

    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

    B 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @bloop sagte: Warnung das der Datenpunkt eine Nummer möchte und String erhält.

      Du meinst umgekehrt? Du schreibst eine Zahl in "Datum_Ölstand_leer". Richtig:

      Bild_2022-10-08_135332723.png

      B Offline
      B Offline
      bloop
      schrieb am zuletzt editiert von
      #22

      @paul53 nein war schon richtig

      Aktuell funktioniert das gesamte Skript wieder nicht. Ich teste gerade an was es liegen könnte.
      Es scheint so als würde die Listenfunktion nicht ordnungsgemäß funktioniert...

      14:50:07.932	error	javascript.0 (59155) script.js.common.Heizung.Öl-Verbrauch1: TypeError: Liste.shift is not a function
      14:50:07.932	error	javascript.0 (59155) at Object.<anonymous> (script.js.common.Heizung.Öl-Verbrauch1:32:9)
      
      on({id: "0_userdata.0.test"/*test*/, change: "any"}, async function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
       Liste[Liste.length - 1] = getState("0_userdata.0.test").val;
        Liste.shift();
        setState("0_userdata.0.Heizung.Öl_Heizung.Durchschnittsvortagsverbräuche"/*Durchschnittsvortagsverbräuche*/, Liste, true);
        Resttage = parseFloat(getState("0_userdata.0.Heizung.Füllstand_Öltank").val) / mathMean(Liste);
        Enddatum = parseFloat((new Date().getTime())) + parseFloat(86400000) * Resttage;
        setState("0_userdata.0.Heizung.Öl_Heizung.Datum_Ölstand_leer"/*Datum_Ölstand_leer*/, formatDate(getDateObject(Enddatum), "DD.MM.YYYY"), true);
      });
      

      cd269160-c4f7-4cde-8869-e2f489dd11aa-image.png

      paul53P 1 Antwort Letzte Antwort
      0
      • B bloop

        @paul53 nein war schon richtig

        Aktuell funktioniert das gesamte Skript wieder nicht. Ich teste gerade an was es liegen könnte.
        Es scheint so als würde die Listenfunktion nicht ordnungsgemäß funktioniert...

        14:50:07.932	error	javascript.0 (59155) script.js.common.Heizung.Öl-Verbrauch1: TypeError: Liste.shift is not a function
        14:50:07.932	error	javascript.0 (59155) at Object.<anonymous> (script.js.common.Heizung.Öl-Verbrauch1:32:9)
        
        on({id: "0_userdata.0.test"/*test*/, change: "any"}, async function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
         Liste[Liste.length - 1] = getState("0_userdata.0.test").val;
          Liste.shift();
          setState("0_userdata.0.Heizung.Öl_Heizung.Durchschnittsvortagsverbräuche"/*Durchschnittsvortagsverbräuche*/, Liste, true);
          Resttage = parseFloat(getState("0_userdata.0.Heizung.Füllstand_Öltank").val) / mathMean(Liste);
          Enddatum = parseFloat((new Date().getTime())) + parseFloat(86400000) * Resttage;
          setState("0_userdata.0.Heizung.Öl_Heizung.Datum_Ölstand_leer"/*Datum_Ölstand_leer*/, formatDate(getDateObject(Enddatum), "DD.MM.YYYY"), true);
        });
        

        cd269160-c4f7-4cde-8869-e2f489dd11aa-image.png

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

        @bloop
        "setze für Letzte ein" ist falsch. Dann wird die Liste immer kürzer. Man muss an die Liste anfügen "füge als Letzte ein".

        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

        B 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @bloop
          "setze für Letzte ein" ist falsch. Dann wird die Liste immer kürzer. Man muss an die Liste anfügen "füge als Letzte ein".

          B Offline
          B Offline
          bloop
          schrieb am zuletzt editiert von
          #24

          @paul53
          Klappt leider auch nicht

          javascript.0 (59155) script.js.common.Heizung.Öl-Verbrauch: TypeError: Liste.push is not a function
          
          // Berechnung Resttage
          if (getState("0_userdata.0.Heizung.Öl_Heizung.Durchschnittsvortagsverbräuche").val) {
            Liste = getState("0_userdata.0.Heizung.Öl_Heizung.Durchschnittsvortagsverbräuche").val;
          } else {
            Liste = listsRepeat(getState("0_userdata.0.test").val, 14);
          }
          on({id: "0_userdata.0.test"/*test*/, change: "any"}, async function (obj) {
            var value = obj.state.val;
            var oldValue = obj.oldState.val;
            Liste.push(getState("0_userdata.0.test").val);
            Liste.shift();
            setState("0_userdata.0.Heizung.Öl_Heizung.Durchschnittsvortagsverbräuche"/*Durchschnittsvortagsverbräuche*/, Liste, true);
            Resttage = parseFloat(getState("0_userdata.0.Heizung.Füllstand_Öltank").val) / mathMean(Liste);
            Enddatum = parseFloat((new Date().getTime())) + parseFloat(86400000) * Resttage;
            setState("0_userdata.0.Heizung.Öl_Heizung.Datum_Ölstand_leer"/*Datum_Ölstand_leer*/, formatDate(getDateObject(Enddatum), "DD.MM.YYYY"), true);
          });
          
          
          paul53P 1 Antwort Letzte Antwort
          0
          • B bloop

            @paul53
            Klappt leider auch nicht

            javascript.0 (59155) script.js.common.Heizung.Öl-Verbrauch: TypeError: Liste.push is not a function
            
            // Berechnung Resttage
            if (getState("0_userdata.0.Heizung.Öl_Heizung.Durchschnittsvortagsverbräuche").val) {
              Liste = getState("0_userdata.0.Heizung.Öl_Heizung.Durchschnittsvortagsverbräuche").val;
            } else {
              Liste = listsRepeat(getState("0_userdata.0.test").val, 14);
            }
            on({id: "0_userdata.0.test"/*test*/, change: "any"}, async function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              Liste.push(getState("0_userdata.0.test").val);
              Liste.shift();
              setState("0_userdata.0.Heizung.Öl_Heizung.Durchschnittsvortagsverbräuche"/*Durchschnittsvortagsverbräuche*/, Liste, true);
              Resttage = parseFloat(getState("0_userdata.0.Heizung.Füllstand_Öltank").val) / mathMean(Liste);
              Enddatum = parseFloat((new Date().getTime())) + parseFloat(86400000) * Resttage;
              setState("0_userdata.0.Heizung.Öl_Heizung.Datum_Ölstand_leer"/*Datum_Ölstand_leer*/, formatDate(getDateObject(Enddatum), "DD.MM.YYYY"), true);
            });
            
            
            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #25

            @bloop sagte in [Gelöst] Ölvorrat Enddatum berechnen:

            Klappt leider auch nicht

            Wenn sich die Liste im Datenpunkt schon verkürzt hat, muss neu initialisiert werden: Stoppe das Skript, trage 0 in den Datenpunkt "0_userdata.0.Heizung.Öl_Heizung.Durchschnittsvortagsverbräuche" ein und starte das Skript.

            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

            B 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @bloop sagte in [Gelöst] Ölvorrat Enddatum berechnen:

              Klappt leider auch nicht

              Wenn sich die Liste im Datenpunkt schon verkürzt hat, muss neu initialisiert werden: Stoppe das Skript, trage 0 in den Datenpunkt "0_userdata.0.Heizung.Öl_Heizung.Durchschnittsvortagsverbräuche" ein und starte das Skript.

              B Offline
              B Offline
              bloop
              schrieb am zuletzt editiert von
              #26

              @paul53
              Hat geklappt indem ich einen neuen Datenpunkt für die Durchschnittsverbräuche angelegt habe!

              Herzlichen Dank!

              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

              343

              Online

              32.6k

              Benutzer

              82.2k

              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