Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Tageszähler

    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

    SOLVED [gelöst] Tageszähler

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

      Wie kann man eine Steuerung bauen die ab einem angegebenen Datum die Tage bis Heute zählt und diesen Tageswert in einen Datenpunkt schriebt.
      Hintergrund:
      Meine schon bestehende Triton Lösungs Steuerungen die astrein Funktionieren dank @paul53 .
      Würde ich gerne ab dem Tag wo ich die Lösungen jeweils neu ansetze zählen lassen. damit ich genau weiß, seid wann eine Lösung läuft. Damit ich meinen Verbrauch ermitteln kann um somit dann eine Meldung raus zu geben wann es Zeit ist neue Lösungen zu kaufen.
      Klar kann man auch auf die Kanister gucken und schätzen ok noch ein Liter also langsam mal neue Lösungen besorgen.
      Diese Steuerung soll ja dann auch für die Osmose in einer neuen Steuerung zählen wann es Zeit ist die Sediment Filter zu wechseln oder die Haupt Membran zu wechseln.

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

        @Aphofis sagte:

        ab einem angegebenen Datum die Tage bis Heute

        Blockly_temp.JPG

        1 Reply Last reply Reply Quote 1
        • bahnuhr
          bahnuhr Forum Testing Most Active last edited by

          https://forum.iobroker.net/topic/8203/beispiel-skript-errechnet-tage-bis-termin

          1 Reply Last reply Reply Quote 0
          • Aphofis
            Aphofis last edited by Aphofis

            Ergebnis ist 0
            Was ist denn da falsch !?

            on({id: "Aqua_Control.0.System.Test"/*Test*/, change: "ne"}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              if (getState("Aqua_Control.0.System.Test").val == true) {
                setState("alexa2.0.Echo-Devices.G090LV0371040175.Commands.speak"/*speak*/, (String(Math.floor(86400000 / ((new Date().getTime()) - getDateObject('2019-07-28').getTime()))) + ''));
              }
            });
            
            paul53 1 Reply Last reply Reply Quote 0
            • Aphofis
              Aphofis last edited by

              Warum sind deine Blöcke eigentlich immer untereinander!? Meine sind immer nebeneinander, kann man das irgendwie umstellen?

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

                @Aphofis sagte in Tageszähler:

                Was ist denn da falsch !?

                Nicht 86400000 / Zeitdifferenz, sondern so wie im Blockly zu sehen: Zeitdifferenz / 86400000.

                @Aphofis sagte in Tageszähler:

                kann man das irgendwie umstellen?

                Mauszeiger über dem Block - rechte Maustaste - externe Eingänge auswählen

                Aphofis 1 Reply Last reply Reply Quote 1
                • Aphofis
                  Aphofis @paul53 last edited by Aphofis

                  @paul53
                  Ja jetzt versteht man die Bausteine auch besser wenn sie übereinander sind!
                  So ist es viel Besser!
                  Danke

                  1 Reply Last reply Reply Quote 0
                  • Aphofis
                    Aphofis last edited by Aphofis

                    Hab den Zähler eingebaut und er funktioniert! Vielen Dank @paul53

                    1 Reply Last reply Reply Quote 0
                    • Aphofis
                      Aphofis last edited by Aphofis

                      @paul53
                      noch ein kleiner Nachtrag !?
                      Kann man auch ein Datum im Format 01.02.2019 das in einem Datenpunkt steht als gemischt
                      als Ausgangsdatum nehmen und dann das Aktuelle Datum und die vergangenen Tage zählen und ausgeben lassen !?
                      Ich hab es versucht es wird immer NaN angeben.

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

                        @Aphofis sagte:

                        ein Datum im Format 01.02.2019 das in einem Datenpunkt

                        Blockly_temp.JPG

                        Aphofis 1 Reply Last reply Reply Quote 1
                        • Aphofis
                          Aphofis @paul53 last edited by Aphofis

                          @paul53
                          Das schon mal sehr geil !?
                          Jedes mal wie Weihnachten, man stellt dir eine Frage und kurze Zeit später.
                          Hast Du eine Steuerug gebastelt.
                          Ist es so möglich, Alexa diesen Datums Datenpunkt & Den Rollenverbrauch aktuallisierungen zu lassen per sprachbefehl!?

                          In dieser Form !?

                          var Vliesrollen_L_C3_A4nge;
                          
                          
                          Vliesrollen_L_C3_A4nge = getState("Aqua_Control.0.Vliesfilter.Vlies_Rollenlänge").val;
                          on({id: 'Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset', change: "ne"}, function (obj) {
                            var value = obj.state.val;
                            var oldValue = obj.oldState.val;
                            if (getState("Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset").val == true) {
                              // Datums Reset
                              setState("Aqua_Control.0.Vliesfilter.Vliesrolle_eingesetzt"/*Vliesrolle_eingesetzt*/, formatDate(new Date(), "DD.MM.YYYY"), true);
                              // 100 Meter Reset
                              setState("Aqua_Control.0.Vliesfilter.Vliesrolle"/*Vliesrolle*/, Vliesrollen_L_C3_A4nge, true);
                              setStateDelayed("Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset"/*Vliesfilter_Vlies_&_Datum_Reset*/, false, 10000, false);
                            }
                          });
                          

                          Alexa Sprachsteuerung auf dem Datenpunkt
                          IMG_5887.jpg

                          Datenpunkte:

                          Bildschirmfoto 2019-09-22 um 07.01.40.png

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

                            @Aphofis sagte:

                            Alexa diesen Datums Datenpunkt & Den Rollenverbrauch aktuallisierungen zu lassen per sprachbefehl!?

                            Mit Alexa kenne ich mich nicht aus.

                            @Aphofis sagte in [gelöst] Tageszähler:

                            In dieser Form !?

                            Die Variable Vliesrollen_Länge sollte innerhalb des Triggers auf den Wert des entsprechenden Datenpunktes gesetzt werden, da sie sonst praktisch eine Konstante ist. Die Verzögerung im letzten Befehl ist nicht erforderlich.

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

                              @paul53
                              Du meinst so?
                              Das ist gut zu wissen, das keine Zeitverzögerung da rein muss!
                              Ich habe einige Steuerungen die auch sehr umfangreich aber simpel sind, wo mehrere Geräte gesteuert werden sollen und Steuerungen ein oder ausgeschaltet werden müssen. da habe ich sowas auch drin. Vielleicht, müssen die ja garnicht sein. Nur kommt es manchmal zu fehl schaltungen.

                              var Vliesrollen_Laenge;
                              
                              
                              Vliesrollen_Laenge = getState("Aqua_Control.0.Vliesfilter.Vlies_Rollenlänge").val;
                              on({id: 'Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset', change: "ne"}, function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                if (getState("Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset").val == true) {
                                  Vliesrollen_Laenge = Vliesrollen_Laenge;
                                  // Datums Reset
                                  setState("Aqua_Control.0.Vliesfilter.Vliesrolle_eingesetzt"/*Vliesrolle_eingesetzt*/, formatDate(new Date(), "DD.MM.YYYY"), true);
                                  // 100 Meter Reset
                                  setState("Aqua_Control.0.Vliesfilter.Vliesrolle"/*Vliesrolle*/, Vliesrollen_Laenge, true);
                                  setState("alexa2.0.Echo-Devices.G090LV0371040175.Commands.speak"/*speak*/, ('Ich habe,, das Vliesfilter Datum und den Vliesrollenverbrauch,, zurückgesetzt'));
                                  sendTo("telegram.0", "send", {
                                      text: (['Vliesfilter Datum und Vliesrollenverbrauch','\n','wurden auf das heutige Datum und ',getState("Aqua_Control.0.Vliesfilter.Vlies_Rollenlänge").val / 100,'Meter Rolle zurückgesetzt'].join(''))
                                  });
                                  console.log("telegram: " + (['Vliesfilter Datum und Vliesrollenverbrauch','\n','wurden auf das heutige Datum und ',getState("Aqua_Control.0.Vliesfilter.Vlies_Rollenlänge").val / 100,'Meter Rolle zurückgesetzt'].join('')));
                                  setState("Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset"/*Vliesfilter_Vlies_&_Datum_Reset*/, false);
                                }
                              });
                              
                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @Aphofis last edited by

                                @Aphofis sagte:

                                Du meinst so?

                                Nein, die ehemalige Zeile 4 muss in die neue Zeile 9.
                                setze Vliesrollen_Laenge auf Wert von Objekt Vlies_Rollenlänge

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

                                  @paul53
                                  Korregt ?

                                  var Vliesrollen_Laenge;
                                  
                                  
                                  Vliesrollen_Laenge = getState("Aqua_Control.0.Vliesfilter.Vlies_Rollenlänge").val;
                                  on({id: 'Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset', change: "ne"}, function (obj) {
                                    var value = obj.state.val;
                                    var oldValue = obj.oldState.val;
                                    if (getState("Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset").val == true) {
                                      Vliesrollen_Laenge = getState("Aqua_Control.0.Vliesfilter.Vlies_Rollenlänge").val;
                                      // Datums Reset
                                      setState("Aqua_Control.0.Vliesfilter.Vliesrolle_eingesetzt"/*Vliesrolle_eingesetzt*/, formatDate(new Date(), "DD.MM.YYYY"), true);
                                      // 100 Meter Reset
                                      setState("Aqua_Control.0.Vliesfilter.Vliesrolle"/*Vliesrolle*/, Vliesrollen_Laenge, true);
                                      setState("alexa2.0.Echo-Devices.G090LV0371040175.Commands.speak"/*speak*/, ('Ich habe,, das Vliesfilter Datum und den Vliesrollenverbrauch,, zurückgesetzt'));
                                      sendTo("telegram.0", "send", {
                                          text: (['Vliesfilter Datum und Vliesrollenverbrauch','\n','wurden auf das heutige Datum und ',getState("Aqua_Control.0.Vliesfilter.Vlies_Rollenlänge").val / 100,'Meter Rolle zurückgesetzt'].join(''))
                                      });
                                      console.log("telegram: " + (['Vliesfilter Datum und Vliesrollenverbrauch','\n','wurden auf das heutige Datum und ',getState("Aqua_Control.0.Vliesfilter.Vlies_Rollenlänge").val / 100,'Meter Rolle zurückgesetzt'].join('')));
                                      setState("Aqua_Control.0.Vliesfilter.Vliesfilter_Vlies_&_Datum_Reset"/*Vliesfilter_Vlies_&_Datum_Reset*/, false);
                                    }
                                  });
                                  
                                  
                                  paul53 1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @Aphofis last edited by

                                    @Aphofis
                                    Korrekt.

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

                                      @paul53
                                      Dann kanns ja los gehen.
                                      Hatte die Sprachsteuerung mal getestet Datenpunkte werden korregt gesetzt.
                                      Prima 👍 👍 👍
                                      Vielen Dank

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      960
                                      Online

                                      31.9k
                                      Users

                                      80.3k
                                      Topics

                                      1.3m
                                      Posts

                                      blockly
                                      3
                                      17
                                      1334
                                      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