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. Erster Versuch ein JSON zu erzeugen

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

Erster Versuch ein JSON zu erzeugen

Geplant Angeheftet Gesperrt Verschoben JavaScript
35 Beiträge 2 Kommentatoren 2.2k Aufrufe 1 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.
  • paul53P paul53

    @chris76e sagte: Es werden weiter Dopelte Einträge gemacht

    Das kann nur am Verhalten des Datenpunktes "homeconnect.0.011040388898000963.status.BSH_Common_Status_OperationState" liegen". Logge mal den Wert bei jedem Trigger-Ereignis.

    Chris76eC Online
    Chris76eC Online
    Chris76e
    schrieb am zuletzt editiert von
    #16

    @paul53

    Hier der Eintrag aus dem Log

    1. Start war noch ohne log vom Ende
    20:19:34.230	info	javascript.0 (649) script.js.common.JSON.JASONSP: BSH.Common.EnumType.OperationState.Run
    20:19:34.231	info	javascript.0 (649) script.js.common.JSON.JASONSP: Run
    20:19:34.231	info	javascript.0 (649) script.js.common.JSON.JASONSP: Dishcare.Dishwasher.Program.MachineCare
    20:19:34.231	info	javascript.0 (649) script.js.common.JSON.JASONSP: Maschinenpflege
    20:27:19.463	info	javascript.0 (649) Stop script script.js.common.JSON.JASONSP
    20:27:19.466	info	javascript.0 (649) Start javascript script.js.common.JSON.JASONSP
    20:27:19.479	info	javascript.0 (649) script.js.common.JSON.JASONSP: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
    20:28:02.079	info	javascript.0 (649) script.js.common.JSON.JASONSP: BSH.Common.EnumType.OperationState.Run
    20:28:02.081	info	javascript.0 (649) script.js.common.JSON.JASONSP: Run
    20:28:02.082	info	javascript.0 (649) script.js.common.JSON.JASONSP: Dishcare.Dishwasher.Program.Quick45
    20:28:02.082	info	javascript.0 (649) script.js.common.JSON.JASONSP: Speed 45°
    20:30:16.619	info	javascript.0 (649) script.js.common.JSON.JASONSP: BSH.Common.EnumType.OperationState.Aborting
    20:30:16.619	info	javascript.0 (649) script.js.common.JSON.JASONSP: Aborting
    20:32:02.233	info	javascript.0 (649) script.js.common.JSON.JASONSP: BSH.Common.EnumType.OperationState.Run
    20:32:02.234	info	javascript.0 (649) script.js.common.JSON.JASONSP: Run
    20:32:02.234	info	javascript.0 (649) script.js.common.JSON.JASONSP: Dishcare.Dishwasher.Program.MachineCare
    20:32:02.234	info	javascript.0 (649) script.js.common.JSON.JASONSP: Maschinenpflege
    20:33:17.902	info	javascript.0 (649) script.js.common.JSON.JASONSP: BSH.Common.EnumType.OperationState.Aborting
    20:33:17.902	info	javascript.0 (649) script.js.common.JSON.JASONSP: Aborting
    
    

    Und so sieht die JSON aus

     {
        "Start": "06.09.22 20:19",
        "Programm": "Maschinenpflege",
        "Ende": "06.09.22 20:25"
      },
      {
        "Start": "06.09.22 20:32",
        "Programm": "Maschinenpflege",
        "Ende": "06.09.22 20:33"
      },
      {
        "Start": "06.09.22 20:32",
        "Programm": "Maschinenpflege",
        "Ende": "06.09.22 20:33"
      }
    

    Hier stand auch mal zwischenzeitlich der Eintrag von 20:28 mit Speed 45°

    paul53P 1 Antwort Letzte Antwort
    0
    • Chris76eC Chris76e

      @paul53

      Hier der Eintrag aus dem Log

      1. Start war noch ohne log vom Ende
      20:19:34.230	info	javascript.0 (649) script.js.common.JSON.JASONSP: BSH.Common.EnumType.OperationState.Run
      20:19:34.231	info	javascript.0 (649) script.js.common.JSON.JASONSP: Run
      20:19:34.231	info	javascript.0 (649) script.js.common.JSON.JASONSP: Dishcare.Dishwasher.Program.MachineCare
      20:19:34.231	info	javascript.0 (649) script.js.common.JSON.JASONSP: Maschinenpflege
      20:27:19.463	info	javascript.0 (649) Stop script script.js.common.JSON.JASONSP
      20:27:19.466	info	javascript.0 (649) Start javascript script.js.common.JSON.JASONSP
      20:27:19.479	info	javascript.0 (649) script.js.common.JSON.JASONSP: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      20:28:02.079	info	javascript.0 (649) script.js.common.JSON.JASONSP: BSH.Common.EnumType.OperationState.Run
      20:28:02.081	info	javascript.0 (649) script.js.common.JSON.JASONSP: Run
      20:28:02.082	info	javascript.0 (649) script.js.common.JSON.JASONSP: Dishcare.Dishwasher.Program.Quick45
      20:28:02.082	info	javascript.0 (649) script.js.common.JSON.JASONSP: Speed 45°
      20:30:16.619	info	javascript.0 (649) script.js.common.JSON.JASONSP: BSH.Common.EnumType.OperationState.Aborting
      20:30:16.619	info	javascript.0 (649) script.js.common.JSON.JASONSP: Aborting
      20:32:02.233	info	javascript.0 (649) script.js.common.JSON.JASONSP: BSH.Common.EnumType.OperationState.Run
      20:32:02.234	info	javascript.0 (649) script.js.common.JSON.JASONSP: Run
      20:32:02.234	info	javascript.0 (649) script.js.common.JSON.JASONSP: Dishcare.Dishwasher.Program.MachineCare
      20:32:02.234	info	javascript.0 (649) script.js.common.JSON.JASONSP: Maschinenpflege
      20:33:17.902	info	javascript.0 (649) script.js.common.JSON.JASONSP: BSH.Common.EnumType.OperationState.Aborting
      20:33:17.902	info	javascript.0 (649) script.js.common.JSON.JASONSP: Aborting
      
      

      Und so sieht die JSON aus

       {
          "Start": "06.09.22 20:19",
          "Programm": "Maschinenpflege",
          "Ende": "06.09.22 20:25"
        },
        {
          "Start": "06.09.22 20:32",
          "Programm": "Maschinenpflege",
          "Ende": "06.09.22 20:33"
        },
        {
          "Start": "06.09.22 20:32",
          "Programm": "Maschinenpflege",
          "Ende": "06.09.22 20:33"
        }
      

      Hier stand auch mal zwischenzeitlich der Eintrag von 20:28 mit Speed 45°

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

      @chris76e
      Aus dem Log sehe ich, dass "Run" nur als kurzer Impuls gemeldet wird und danach das Programm, beendet durch "Aborting". Dann versuche es mal so:

      const idTable = '0_userdata.0.JSON.Spülmaschiene'; // ID JSON-Tabelle
      const idStatus = 'homeconnect.0.011040388898000963.status.BSH_Common_Status_OperationState';
      // const idProg = 'homeconnect.0.011040388898000963.programs.active.BSH_Common_Root_ActiveProgram';
       
      var table = [];
      if(getState(idTable).val) table = JSON.parse(getState(idTable).val);
      var obj = {};
       
      on(idStatus, function(dp) {
          if(dp.oldState.val == 'BSH.Common.EnumType.OperationState.Run') {
              obj.Start = formatDate(new Date(), 'DD.MM.YY hh:mm');
              obj.Programm = dp.common.states[dp.state.val];
          } else if (dp.state.val == 'BSH.Common.EnumType.OperationState.Aborting') {
              obj.Ende = formatDate(new Date(), 'DD.MM.YY hh:mm');
              table.push(obj);
              if(table.length > 10) table.shift();
              setState(idTable, JSON.stringify(table), 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

      Chris76eC 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @chris76e
        Aus dem Log sehe ich, dass "Run" nur als kurzer Impuls gemeldet wird und danach das Programm, beendet durch "Aborting". Dann versuche es mal so:

        const idTable = '0_userdata.0.JSON.Spülmaschiene'; // ID JSON-Tabelle
        const idStatus = 'homeconnect.0.011040388898000963.status.BSH_Common_Status_OperationState';
        // const idProg = 'homeconnect.0.011040388898000963.programs.active.BSH_Common_Root_ActiveProgram';
         
        var table = [];
        if(getState(idTable).val) table = JSON.parse(getState(idTable).val);
        var obj = {};
         
        on(idStatus, function(dp) {
            if(dp.oldState.val == 'BSH.Common.EnumType.OperationState.Run') {
                obj.Start = formatDate(new Date(), 'DD.MM.YY hh:mm');
                obj.Programm = dp.common.states[dp.state.val];
            } else if (dp.state.val == 'BSH.Common.EnumType.OperationState.Aborting') {
                obj.Ende = formatDate(new Date(), 'DD.MM.YY hh:mm');
                table.push(obj);
                if(table.length > 10) table.shift();
                setState(idTable, JSON.stringify(table), true);
            }
        });
        
        Chris76eC Online
        Chris76eC Online
        Chris76e
        schrieb am zuletzt editiert von
        #18

        @paul53

        obj.Programm = dp.common.states[dp.state.val];
        

        Wo kommt jetzt der DP herr? Fehlt da nicht was?

        paul53P 1 Antwort Letzte Antwort
        0
        • Chris76eC Chris76e

          @paul53

          obj.Programm = dp.common.states[dp.state.val];
          

          Wo kommt jetzt der DP herr? Fehlt da nicht was?

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

          @chris76e sagte: Wo kommt jetzt der DP herr?

          Aus dem Trigger: Enthält den Zustand "laufendes Programm" nach "Run".

          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

          Chris76eC 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @chris76e sagte: Wo kommt jetzt der DP herr?

            Aus dem Trigger: Enthält den Zustand "laufendes Programm" nach "Run".

            Chris76eC Online
            Chris76eC Online
            Chris76e
            schrieb am zuletzt editiert von
            #20

            @paul53

            Mit der Version wird nichts geschrieben, bekomme auch keine Fehlermeldung.

            paul53P 1 Antwort Letzte Antwort
            0
            • Chris76eC Chris76e

              @paul53

              Mit der Version wird nichts geschrieben, bekomme auch keine Fehlermeldung.

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

              @chris76e sagte: Mit der Version wird nichts geschrieben

              Wurde obj außerhalb des Triggers deklariert? Habe ich oben korrigiert.

              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

              Chris76eC 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @chris76e sagte: Mit der Version wird nichts geschrieben

                Wurde obj außerhalb des Triggers deklariert? Habe ich oben korrigiert.

                Chris76eC Online
                Chris76eC Online
                Chris76e
                schrieb am zuletzt editiert von
                #22

                @paul53
                ist geändert, aber macht immer noch nichts.

                paul53P 1 Antwort Letzte Antwort
                0
                • Chris76eC Chris76e

                  @paul53
                  ist geändert, aber macht immer noch nichts.

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

                  @chris76e sagte: ist geändert, aber macht immer noch nichts.

                  @chris76e sagte in Erster Versuch ein JSON zu erzeugen:

                  Hier der Eintrag aus dem Log

                  Das ist wirklich der Wert des Trigger-Datenpunktes. Es sind zumindest zwei Log-Ausgaben. Logge mal nur den Trigger-Wert:

                  on(idStatus, function(dp) {
                      log(dp.state.val);
                  

                  Alle anderen Logs kommentiere aus.

                  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

                  Chris76eC 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @chris76e sagte: ist geändert, aber macht immer noch nichts.

                    @chris76e sagte in Erster Versuch ein JSON zu erzeugen:

                    Hier der Eintrag aus dem Log

                    Das ist wirklich der Wert des Trigger-Datenpunktes. Es sind zumindest zwei Log-Ausgaben. Logge mal nur den Trigger-Wert:

                    on(idStatus, function(dp) {
                        log(dp.state.val);
                    

                    Alle anderen Logs kommentiere aus.

                    Chris76eC Online
                    Chris76eC Online
                    Chris76e
                    schrieb am zuletzt editiert von
                    #24

                    @paul53

                    log sieht so aus

                    23:48:20.661	info	javascript.0 (649) script.js.common.JSON.JASONTest: BSH.Common.EnumType.OperationState.Ready
                    23:48:25.593	info	javascript.0 (649) script.js.common.JSON.JASONTest: BSH.Common.EnumType.OperationState.Run
                    23:49:37.318	info	javascript.0 (649) script.js.common.JSON.JASONTest: BSH.Common.EnumType.OperationState.Aborting
                    23:50:02.051	info	javascript.0 (649) script.js.common.JSON.JASONTest: BSH.Common.EnumType.OperationState.Ready
                    

                    Wird aber nichts geschrieben

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • Chris76eC Chris76e

                      @paul53

                      log sieht so aus

                      23:48:20.661	info	javascript.0 (649) script.js.common.JSON.JASONTest: BSH.Common.EnumType.OperationState.Ready
                      23:48:25.593	info	javascript.0 (649) script.js.common.JSON.JASONTest: BSH.Common.EnumType.OperationState.Run
                      23:49:37.318	info	javascript.0 (649) script.js.common.JSON.JASONTest: BSH.Common.EnumType.OperationState.Aborting
                      23:50:02.051	info	javascript.0 (649) script.js.common.JSON.JASONTest: BSH.Common.EnumType.OperationState.Ready
                      

                      Wird aber nichts geschrieben

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

                      @chris76e
                      Habe mich hier durch die weiteren Logs täuschen lassen, da sie nicht gekennzeichnet sind.
                      Weshalb das Skript doppelte Einträge erzeugt, erschließt sich mir bisher nicht. Deshalb erzeuge bitte Logs mit Datenpunkt-Kennung:

                      const idTable = '0_userdata.0.JSON.Spülmaschiene'; // ID JSON-Tabelle
                      const idStatus = 'homeconnect.0.011040388898000963.status.BSH_Common_Status_OperationState';
                      const idProg = 'homeconnect.0.011040388898000963.programs.selected.BSH_Common_Root_SelectedProgram';
                      const idAktiv = 'homeconnect.0.011040388898000963.programs.active.BSH_Common_Root_ActiveProgram';
                      
                      var table = [];
                      if(getState(idTable).val) table = JSON.parse(getState(idTable).val);
                      var obj = {};
                      
                      on(idAktiv, function(dp) {
                          log('Aktiv: ' + dp.state.val);
                      });
                      
                      on(idStatus, function(dp) {
                          log('gewählt: ' + getState(idProg).val);
                          log('alter Status: ' + dp.oldState.val);
                          log('neuer Status: ' + dp.state.val);
                          
                          if(dp.state.val == 'BSH.Common.EnumType.OperationState.Run') {
                              obj.Start = formatDate(new Date(), 'DD.MM.YY hh:mm'); 
                              obj.Programm = getObject(idProg).common.states[getState(idProg).val];
                          } else if(dp.oldState.val == 'BSH.Common.EnumType.OperationState.Run') {
                              obj.Ende = formatDate(new Date(), 'DD.MM.YY hh:mm');
                              table.push(obj);
                              if(table.length > 10) table.shift();
                              setState(idTable, JSON.stringify(table), 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

                      Chris76eC 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @chris76e
                        Habe mich hier durch die weiteren Logs täuschen lassen, da sie nicht gekennzeichnet sind.
                        Weshalb das Skript doppelte Einträge erzeugt, erschließt sich mir bisher nicht. Deshalb erzeuge bitte Logs mit Datenpunkt-Kennung:

                        const idTable = '0_userdata.0.JSON.Spülmaschiene'; // ID JSON-Tabelle
                        const idStatus = 'homeconnect.0.011040388898000963.status.BSH_Common_Status_OperationState';
                        const idProg = 'homeconnect.0.011040388898000963.programs.selected.BSH_Common_Root_SelectedProgram';
                        const idAktiv = 'homeconnect.0.011040388898000963.programs.active.BSH_Common_Root_ActiveProgram';
                        
                        var table = [];
                        if(getState(idTable).val) table = JSON.parse(getState(idTable).val);
                        var obj = {};
                        
                        on(idAktiv, function(dp) {
                            log('Aktiv: ' + dp.state.val);
                        });
                        
                        on(idStatus, function(dp) {
                            log('gewählt: ' + getState(idProg).val);
                            log('alter Status: ' + dp.oldState.val);
                            log('neuer Status: ' + dp.state.val);
                            
                            if(dp.state.val == 'BSH.Common.EnumType.OperationState.Run') {
                                obj.Start = formatDate(new Date(), 'DD.MM.YY hh:mm'); 
                                obj.Programm = getObject(idProg).common.states[getState(idProg).val];
                            } else if(dp.oldState.val == 'BSH.Common.EnumType.OperationState.Run') {
                                obj.Ende = formatDate(new Date(), 'DD.MM.YY hh:mm');
                                table.push(obj);
                                if(table.length > 10) table.shift();
                                setState(idTable, JSON.stringify(table), true);
                            }
                        });
                        
                        Chris76eC Online
                        Chris76eC Online
                        Chris76e
                        schrieb am zuletzt editiert von
                        #26

                        @paul53

                        Hier der log von 2 Abgebrochenen Durchgänge:

                        08:58:09.745	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: gewählt: Dishcare.Dishwasher.Program.Eco50
                        08:58:09.745	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: alter Status: BSH.Common.EnumType.OperationState.Ready
                        08:58:09.746	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: neuer Status: BSH.Common.EnumType.OperationState.Run
                        08:58:09.746	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: Dishcare.Dishwasher.Program.Eco50
                        08:58:09.746	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: Eco 50°
                        08:58:09.918	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: aktiv: Dishcare.Dishwasher.Program.Eco50
                        09:00:36.446	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: aktiv: null
                        09:00:36.847	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: gewählt: Dishcare.Dishwasher.Program.Eco50
                        09:00:36.847	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: alter Status: BSH.Common.EnumType.OperationState.Run
                        09:00:36.847	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: neuer Status: BSH.Common.EnumType.OperationState.Aborting
                        09:01:03.132	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: gewählt: Dishcare.Dishwasher.Program.Eco50
                        09:01:03.132	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: alter Status: BSH.Common.EnumType.OperationState.Aborting
                        09:01:03.133	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: neuer Status: BSH.Common.EnumType.OperationState.Ready
                        09:09:34.041	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: gewählt: Dishcare.Dishwasher.Program.Quick65
                        09:09:34.042	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: alter Status: BSH.Common.EnumType.OperationState.Ready
                        09:09:34.042	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: neuer Status: BSH.Common.EnumType.OperationState.Run
                        09:09:34.042	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: Dishcare.Dishwasher.Program.Quick65
                        09:09:34.042	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: Speed 65°
                        09:09:34.107	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: aktiv: Dishcare.Dishwasher.Program.Quick65
                        09:10:56.316	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: aktiv: null
                        09:10:56.480	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: gewählt: Dishcare.Dishwasher.Program.Quick65
                        09:10:56.480	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: alter Status: BSH.Common.EnumType.OperationState.Run
                        09:10:56.480	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: neuer Status: BSH.Common.EnumType.OperationState.Aborting
                        09:11:20.331	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: gewählt: Dishcare.Dishwasher.Program.Quick65
                        09:11:20.332	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: alter Status: BSH.Common.EnumType.OperationState.Aborting
                        09:11:20.332	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: neuer Status: BSH.Common.EnumType.OperationState.Ready
                        
                        

                        So sieht die JSON nach dem 1. aus:

                        [
                          {
                            "Start": "06.09.22 23:48",
                            "Programm": "Intensiv 70°",
                            "Ende": "06.09.22 23:49"
                          },
                          {
                            "Start": "07.09.22 08:58",
                            "Programm": "Eco 50°",
                            "Ende": "07.09.22 09:00"
                          }
                        ]
                        

                        und so nach dem 2.

                        [
                          {
                            "Start": "06.09.22 23:48",
                            "Programm": "Intensiv 70°",
                            "Ende": "06.09.22 23:49"
                          },
                          {
                            "Start": "07.09.22 09:09",
                            "Programm": "Speed 65°",
                            "Ende": "07.09.22 09:10"
                          },
                          {
                            "Start": "07.09.22 09:09",
                            "Programm": "Speed 65°",
                            "Ende": "07.09.22 09:10"
                          }
                        ]
                        
                        paul53P 1 Antwort Letzte Antwort
                        0
                        • Chris76eC Chris76e

                          @paul53

                          Hier der log von 2 Abgebrochenen Durchgänge:

                          08:58:09.745	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: gewählt: Dishcare.Dishwasher.Program.Eco50
                          08:58:09.745	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: alter Status: BSH.Common.EnumType.OperationState.Ready
                          08:58:09.746	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: neuer Status: BSH.Common.EnumType.OperationState.Run
                          08:58:09.746	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: Dishcare.Dishwasher.Program.Eco50
                          08:58:09.746	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: Eco 50°
                          08:58:09.918	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: aktiv: Dishcare.Dishwasher.Program.Eco50
                          09:00:36.446	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: aktiv: null
                          09:00:36.847	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: gewählt: Dishcare.Dishwasher.Program.Eco50
                          09:00:36.847	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: alter Status: BSH.Common.EnumType.OperationState.Run
                          09:00:36.847	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: neuer Status: BSH.Common.EnumType.OperationState.Aborting
                          09:01:03.132	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: gewählt: Dishcare.Dishwasher.Program.Eco50
                          09:01:03.132	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: alter Status: BSH.Common.EnumType.OperationState.Aborting
                          09:01:03.133	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: neuer Status: BSH.Common.EnumType.OperationState.Ready
                          09:09:34.041	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: gewählt: Dishcare.Dishwasher.Program.Quick65
                          09:09:34.042	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: alter Status: BSH.Common.EnumType.OperationState.Ready
                          09:09:34.042	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: neuer Status: BSH.Common.EnumType.OperationState.Run
                          09:09:34.042	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: Dishcare.Dishwasher.Program.Quick65
                          09:09:34.042	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: Speed 65°
                          09:09:34.107	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: aktiv: Dishcare.Dishwasher.Program.Quick65
                          09:10:56.316	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: aktiv: null
                          09:10:56.480	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: gewählt: Dishcare.Dishwasher.Program.Quick65
                          09:10:56.480	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: alter Status: BSH.Common.EnumType.OperationState.Run
                          09:10:56.480	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: neuer Status: BSH.Common.EnumType.OperationState.Aborting
                          09:11:20.331	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: gewählt: Dishcare.Dishwasher.Program.Quick65
                          09:11:20.332	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: alter Status: BSH.Common.EnumType.OperationState.Aborting
                          09:11:20.332	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: neuer Status: BSH.Common.EnumType.OperationState.Ready
                          
                          

                          So sieht die JSON nach dem 1. aus:

                          [
                            {
                              "Start": "06.09.22 23:48",
                              "Programm": "Intensiv 70°",
                              "Ende": "06.09.22 23:49"
                            },
                            {
                              "Start": "07.09.22 08:58",
                              "Programm": "Eco 50°",
                              "Ende": "07.09.22 09:00"
                            }
                          ]
                          

                          und so nach dem 2.

                          [
                            {
                              "Start": "06.09.22 23:48",
                              "Programm": "Intensiv 70°",
                              "Ende": "06.09.22 23:49"
                            },
                            {
                              "Start": "07.09.22 09:09",
                              "Programm": "Speed 65°",
                              "Ende": "07.09.22 09:10"
                            },
                            {
                              "Start": "07.09.22 09:09",
                              "Programm": "Speed 65°",
                              "Ende": "07.09.22 09:10"
                            }
                          ]
                          
                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #27

                          @chris76e
                          Aus dem Log erkennt man, dass "ActiveProgram" zu Beginn und zu Ende triggert - am Ende mit Wert null. Damit kann man das Programm vereinfachen:

                          const idTable = '0_userdata.0.JSON.Spülmaschiene'; // ID JSON-Tabelle
                          // const idStatus = 'homeconnect.0.011040388898000963.status.BSH_Common_Status_OperationState';
                          // const idProg = 'homeconnect.0.011040388898000963.programs.selected.BSH_Common_Root_SelectedProgram';
                          const idAktiv = 'homeconnect.0.011040388898000963.programs.active.BSH_Common_Root_ActiveProgram';
                          
                          var table = [];
                          if(getState(idTable).val) table = JSON.parse(getState(idTable).val);
                          var obj = {};
                          
                          on(idAktiv, function(dp) {
                              if(dp.state.val) {
                                  obj = {};
                                  obj.Start = formatDate(new Date(), 'DD.MM.YY hh:mm'); 
                                  obj.Programm = dp.common.states[dp.state.val];
                              } else {
                                  obj.Ende = formatDate(new Date(), 'DD.MM.YY hh:mm');
                          //        log(table);
                                  table.push(obj);
                                  if(table.length > 10) table.shift();
                                  setState(idTable, JSON.stringify(table), true);
                          //        log(table);
                              }
                          });
                          

                          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

                          Chris76eC 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @chris76e
                            Aus dem Log erkennt man, dass "ActiveProgram" zu Beginn und zu Ende triggert - am Ende mit Wert null. Damit kann man das Programm vereinfachen:

                            const idTable = '0_userdata.0.JSON.Spülmaschiene'; // ID JSON-Tabelle
                            // const idStatus = 'homeconnect.0.011040388898000963.status.BSH_Common_Status_OperationState';
                            // const idProg = 'homeconnect.0.011040388898000963.programs.selected.BSH_Common_Root_SelectedProgram';
                            const idAktiv = 'homeconnect.0.011040388898000963.programs.active.BSH_Common_Root_ActiveProgram';
                            
                            var table = [];
                            if(getState(idTable).val) table = JSON.parse(getState(idTable).val);
                            var obj = {};
                            
                            on(idAktiv, function(dp) {
                                if(dp.state.val) {
                                    obj = {};
                                    obj.Start = formatDate(new Date(), 'DD.MM.YY hh:mm'); 
                                    obj.Programm = dp.common.states[dp.state.val];
                                } else {
                                    obj.Ende = formatDate(new Date(), 'DD.MM.YY hh:mm');
                            //        log(table);
                                    table.push(obj);
                                    if(table.length > 10) table.shift();
                                    setState(idTable, JSON.stringify(table), true);
                            //        log(table);
                                }
                            });
                            
                            Chris76eC Online
                            Chris76eC Online
                            Chris76e
                            schrieb am zuletzt editiert von
                            #28

                            @paul53

                            Wird immer noch überschrieben....

                            10:20:10.018	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: [{'Start':'06.09.22 23:48','Programm':'Intensiv 70°','Ende':'06.09.22 23:49'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'}]
                            10:20:10.018	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: [{'Start':'06.09.22 23:48','Programm':'Intensiv 70°','Ende':'06.09.22 23:49'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 10:16','Programm':'Eco 50°','Ende':'07.09.22 10:20'}]
                            10:23:40.013	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: [{'Start':'06.09.22 23:48','Programm':'Intensiv 70°','Ende':'06.09.22 23:49'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 10:21','Programm':'Eco 50°','Ende':'07.09.22 10:23'}]
                            10:23:40.013	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: [{'Start':'06.09.22 23:48','Programm':'Intensiv 70°','Ende':'06.09.22 23:49'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 10:21','Programm':'Eco 50°','Ende':'07.09.22 10:23'},{'Start':'07.09.22 10:21','Programm':'Eco 50°','Ende':'07.09.22 10:23'}]
                            
                            paul53P 2 Antworten Letzte Antwort
                            0
                            • Chris76eC Chris76e

                              @paul53

                              Wird immer noch überschrieben....

                              10:20:10.018	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: [{'Start':'06.09.22 23:48','Programm':'Intensiv 70°','Ende':'06.09.22 23:49'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'}]
                              10:20:10.018	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: [{'Start':'06.09.22 23:48','Programm':'Intensiv 70°','Ende':'06.09.22 23:49'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 10:16','Programm':'Eco 50°','Ende':'07.09.22 10:20'}]
                              10:23:40.013	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: [{'Start':'06.09.22 23:48','Programm':'Intensiv 70°','Ende':'06.09.22 23:49'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 10:21','Programm':'Eco 50°','Ende':'07.09.22 10:23'}]
                              10:23:40.013	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: [{'Start':'06.09.22 23:48','Programm':'Intensiv 70°','Ende':'06.09.22 23:49'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 10:21','Programm':'Eco 50°','Ende':'07.09.22 10:23'},{'Start':'07.09.22 10:21','Programm':'Eco 50°','Ende':'07.09.22 10:23'}]
                              
                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von paul53
                              #29

                              @chris76e sagte: Wird immer noch überschrieben....

                              Muss ich noch mal schauen.

                              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

                              Chris76eC 1 Antwort Letzte Antwort
                              0
                              • paul53P paul53

                                @chris76e sagte: Wird immer noch überschrieben....

                                Muss ich noch mal schauen.

                                Chris76eC Online
                                Chris76eC Online
                                Chris76e
                                schrieb am zuletzt editiert von
                                #30

                                @paul53

                                Okay, kann ich aber erst heute Abend weiter testen, muss gleich zur Arbeit....

                                1 Antwort Letzte Antwort
                                0
                                • Chris76eC Chris76e

                                  @paul53

                                  Wird immer noch überschrieben....

                                  10:20:10.018	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: [{'Start':'06.09.22 23:48','Programm':'Intensiv 70°','Ende':'06.09.22 23:49'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'}]
                                  10:20:10.018	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: [{'Start':'06.09.22 23:48','Programm':'Intensiv 70°','Ende':'06.09.22 23:49'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 10:16','Programm':'Eco 50°','Ende':'07.09.22 10:20'}]
                                  10:23:40.013	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: [{'Start':'06.09.22 23:48','Programm':'Intensiv 70°','Ende':'06.09.22 23:49'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 10:21','Programm':'Eco 50°','Ende':'07.09.22 10:23'}]
                                  10:23:40.013	info	javascript.0 (3489476) script.js.common.JSON.JASONSP: [{'Start':'06.09.22 23:48','Programm':'Intensiv 70°','Ende':'06.09.22 23:49'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 09:09','Programm':'Speed 65°','Ende':'07.09.22 09:10'},{'Start':'07.09.22 10:21','Programm':'Eco 50°','Ende':'07.09.22 10:23'},{'Start':'07.09.22 10:21','Programm':'Eco 50°','Ende':'07.09.22 10:23'}]
                                  
                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von paul53
                                  #31

                                  @chris76e sagte: Wird immer noch überschrieben....

                                  Habe hier Zeile 12 eingefügt:

                                          obj = {};
                                  

                                  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

                                  Chris76eC 2 Antworten Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @chris76e sagte: Wird immer noch überschrieben....

                                    Habe hier Zeile 12 eingefügt:

                                            obj = {};
                                    
                                    Chris76eC Online
                                    Chris76eC Online
                                    Chris76e
                                    schrieb am zuletzt editiert von
                                    #32

                                    @paul53

                                    Vielen Dank, funktioniert jetzt.
                                    Habe jetzt einiges lernen können hier.

                                    :clap: :clap: :clap: :+1: :+1: :+1:

                                    1 Antwort Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @chris76e sagte: Wird immer noch überschrieben....

                                      Habe hier Zeile 12 eingefügt:

                                              obj = {};
                                      
                                      Chris76eC Online
                                      Chris76eC Online
                                      Chris76e
                                      schrieb am zuletzt editiert von
                                      #33

                                      @paul53

                                      Brauche nochmal deine Hilfe. Möchte jetzt noch den Stromverbrauch anzeigen lassen. Habe den Wert bei Start und Ende. Wie kann ich jetzt damit rechnen?

                                      const idTable = '0_userdata.0.JSON.Spülmaschiene'; // ID JSON-Tabelle
                                      // const idStatus = 'homeconnect.0.011040388898000963.status.BSH_Common_Status_OperationState';
                                      // const idProg = 'homeconnect.0.011040388898000963.programs.selected.BSH_Common_Root_SelectedProgram';
                                      const idAktiv = 'homeconnect.0.011040388898000963.programs.active.BSH_Common_Root_ActiveProgram';
                                      const idVerbrauch = 'sonoff.0.Spuehlmaschine.ENERGY_Total';
                                      
                                      var table = [];
                                      if(getState(idTable).val) table = JSON.parse(getState(idTable).val);
                                      var obj = {};
                                      
                                      on(idAktiv, function(dp) {
                                          if(dp.state.val) {
                                              obj = {};
                                              obj.Start = formatDate(new Date(), 'MM.DD.YY hh:mm');
                                              obj.StartUhr = formatDate(new Date(), 'hh:mm'); 
                                              obj.Programm = dp.common.states[dp.state.val];
                                              obj.StartVerbrauch = getState(idVerbrauch).val;
                                          } else {
                                              obj.Ende = formatDate(new Date(), 'MM.DD.YY hh:mm');
                                              obj.EndeUhr = formatDate(new Date(), 'hh:mm');
                                              obj.EndVerbrauch = getState(idVerbrauch).val;
                                              log(table);
                                              table.push(obj);
                                              if(table.length > 10) table.shift();
                                              setState(idTable, JSON.stringify(table), true);
                                              log(table);
                                          }
                                      });
                                      
                                       {
                                          "Start": "10.12.22 20:00",
                                          "StartUhr": "20:00",
                                          "Programm": "Eco 50°",
                                          "StartVerbrauch": 212.794,
                                          "Ende": "10.12.22 20:08",
                                          "EndeUhr": "20:08",
                                          "EndVerbrauch": 212.796
                                        }
                                      
                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • Chris76eC Chris76e

                                        @paul53

                                        Brauche nochmal deine Hilfe. Möchte jetzt noch den Stromverbrauch anzeigen lassen. Habe den Wert bei Start und Ende. Wie kann ich jetzt damit rechnen?

                                        const idTable = '0_userdata.0.JSON.Spülmaschiene'; // ID JSON-Tabelle
                                        // const idStatus = 'homeconnect.0.011040388898000963.status.BSH_Common_Status_OperationState';
                                        // const idProg = 'homeconnect.0.011040388898000963.programs.selected.BSH_Common_Root_SelectedProgram';
                                        const idAktiv = 'homeconnect.0.011040388898000963.programs.active.BSH_Common_Root_ActiveProgram';
                                        const idVerbrauch = 'sonoff.0.Spuehlmaschine.ENERGY_Total';
                                        
                                        var table = [];
                                        if(getState(idTable).val) table = JSON.parse(getState(idTable).val);
                                        var obj = {};
                                        
                                        on(idAktiv, function(dp) {
                                            if(dp.state.val) {
                                                obj = {};
                                                obj.Start = formatDate(new Date(), 'MM.DD.YY hh:mm');
                                                obj.StartUhr = formatDate(new Date(), 'hh:mm'); 
                                                obj.Programm = dp.common.states[dp.state.val];
                                                obj.StartVerbrauch = getState(idVerbrauch).val;
                                            } else {
                                                obj.Ende = formatDate(new Date(), 'MM.DD.YY hh:mm');
                                                obj.EndeUhr = formatDate(new Date(), 'hh:mm');
                                                obj.EndVerbrauch = getState(idVerbrauch).val;
                                                log(table);
                                                table.push(obj);
                                                if(table.length > 10) table.shift();
                                                setState(idTable, JSON.stringify(table), true);
                                                log(table);
                                            }
                                        });
                                        
                                         {
                                            "Start": "10.12.22 20:00",
                                            "StartUhr": "20:00",
                                            "Programm": "Eco 50°",
                                            "StartVerbrauch": 212.794,
                                            "Ende": "10.12.22 20:08",
                                            "EndeUhr": "20:08",
                                            "EndVerbrauch": 212.796
                                          }
                                        
                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von paul53
                                        #34

                                        @Chris76e

                                        Du möchtest die Differenz Endverbrauch - Startverbrauch?

                                        var obj = {};
                                        var StartVerbrauch = getState(idVerbrauch).val;
                                         
                                        on(idAktiv, function(dp) {
                                            if(dp.state.val) {
                                                obj = {};
                                                obj.Start = formatDate(new Date(), 'MM.DD.YY hh:mm');
                                                obj.StartUhr = formatDate(new Date(), 'hh:mm'); 
                                                obj.Programm = dp.common.states[dp.state.val];
                                                StartVerbrauch = getState(idVerbrauch).val;
                                            } else {
                                                obj.Ende = formatDate(new Date(), 'MM.DD.YY hh:mm');
                                                obj.EndeUhr = formatDate(new Date(), 'hh:mm');
                                                obj.Verbrauch = getState(idVerbrauch).val - StartVerbrauch;
                                                log(table);
                                                table.push(obj);
                                                if(table.length > 10) table.shift();
                                                setState(idTable, JSON.stringify(table), true);
                                                log(table);
                                            }
                                        });
                                        

                                        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

                                        Chris76eC 1 Antwort Letzte Antwort
                                        0
                                        • paul53P paul53

                                          @Chris76e

                                          Du möchtest die Differenz Endverbrauch - Startverbrauch?

                                          var obj = {};
                                          var StartVerbrauch = getState(idVerbrauch).val;
                                           
                                          on(idAktiv, function(dp) {
                                              if(dp.state.val) {
                                                  obj = {};
                                                  obj.Start = formatDate(new Date(), 'MM.DD.YY hh:mm');
                                                  obj.StartUhr = formatDate(new Date(), 'hh:mm'); 
                                                  obj.Programm = dp.common.states[dp.state.val];
                                                  StartVerbrauch = getState(idVerbrauch).val;
                                              } else {
                                                  obj.Ende = formatDate(new Date(), 'MM.DD.YY hh:mm');
                                                  obj.EndeUhr = formatDate(new Date(), 'hh:mm');
                                                  obj.Verbrauch = getState(idVerbrauch).val - StartVerbrauch;
                                                  log(table);
                                                  table.push(obj);
                                                  if(table.length > 10) table.shift();
                                                  setState(idTable, JSON.stringify(table), true);
                                                  log(table);
                                              }
                                          });
                                          
                                          Chris76eC Online
                                          Chris76eC Online
                                          Chris76e
                                          schrieb am zuletzt editiert von
                                          #35

                                          @paul53

                                          Ja, das klappt auch. Danke

                                          Jetzt habe ich noch versucht die Dauer zu berrechnen, bekomme auch einen Wert in ms. Wie kann ich das in hh:mm:ss umschreiben?

                                          const idTable = '0_userdata.0.JSON.Spülmaschiene'; // ID JSON-Tabelle
                                          // const idStatus = 'homeconnect.0.011040388898000963.status.BSH_Common_Status_OperationState';
                                          // const idProg = 'homeconnect.0.011040388898000963.programs.selected.BSH_Common_Root_SelectedProgram';
                                          const idAktiv = 'homeconnect.0.011040388898000963.programs.active.BSH_Common_Root_ActiveProgram';
                                          const idVerbrauch = 'sonoff.0.Spuehlmaschine.ENERGY_Total';
                                          
                                          var table = [];
                                          if(getState(idTable).val) table = JSON.parse(getState(idTable).val);
                                          var obj = {};
                                          var StartVerbrauch = getState(idVerbrauch).val;
                                          var startDate = new Date();
                                          var endDate   = new Date();
                                          
                                          
                                          on(idAktiv, function(dp) {
                                              if(dp.state.val) {
                                                  obj = {};
                                                  obj.Start = formatDate(new Date(), 'MM.DD.YY hh:mm');
                                                  obj.StartUhr = formatDate(new Date(), 'hh:mm'); 
                                                  obj.Programm = dp.common.states[dp.state.val];
                                                  StartVerbrauch = getState(idVerbrauch).val;
                                                  startDate = new Date();
                                                  
                                              } else {
                                                  obj.Ende = formatDate(new Date(), 'MM.DD.YY hh:mm');
                                                  obj.EndeUhr = formatDate(new Date(), 'hh:mm');
                                                  obj.Verbrauch = getState(idVerbrauch).val - StartVerbrauch;
                                                  endDate   = new Date();
                                                  obj.Dauer = endDate - startDate, 'hh:mm:ss';
                                                  log(table);
                                                  table.push(obj);
                                                  if(table.length > 10) table.shift();
                                                  setState(idTable, JSON.stringify(table), true);
                                                  log(table);
                                              }
                                          });
                                          
                                          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

                                          982

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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