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: Mit der Version wird nichts geschrieben

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

    Chris76eC Offline
    Chris76eC Offline
    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 Offline
        Chris76eC Offline
        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 Offline
            Chris76eC Offline
            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 Offline
                Chris76eC Offline
                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 Offline
                    Chris76eC Offline
                    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 Offline
                        Chris76eC Offline
                        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 Offline
                          Chris76eC Offline
                          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 Offline
                              Chris76eC Offline
                              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

                              767

                              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