Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  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.0k

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

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

Erster Versuch ein JSON zu erzeugen

Erster Versuch ein JSON zu erzeugen

Scheduled Pinned Locked Moved JavaScript
35 Posts 2 Posters 2.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • 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
    wrote on last edited by 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 Reply Last reply
    0
    • paul53P paul53

      @chris76e sagte: Wo kommt jetzt der DP herr?

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

      Chris76eC Offline
      Chris76eC Offline
      Chris76e
      wrote on last edited by
      #20

      @paul53

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

      paul53P 1 Reply Last reply
      0
      • Chris76eC Chris76e

        @paul53

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

        paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by
        #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 Reply Last reply
        0
        • 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
          wrote on last edited by
          #22

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

          paul53P 1 Reply Last reply
          0
          • Chris76eC Chris76e

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

            paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by
            #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 Reply Last reply
            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
              wrote on last edited by
              #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 Reply Last reply
              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
                wrote on last edited by 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 Reply Last reply
                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
                  wrote on last edited by
                  #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 Reply Last reply
                  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
                    wrote on last edited by 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 Reply Last reply
                    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
                      wrote on last edited by
                      #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 Replies Last reply
                      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
                        wrote on last edited by 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 Reply Last reply
                        0
                        • paul53P paul53

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

                          Muss ich noch mal schauen.

                          Chris76eC Offline
                          Chris76eC Offline
                          Chris76e
                          wrote on last edited by
                          #30

                          @paul53

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

                          1 Reply Last reply
                          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
                            wrote on last edited by 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 Replies Last reply
                            0
                            • paul53P paul53

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

                              Habe hier Zeile 12 eingefügt:

                                      obj = {};
                              
                              Chris76eC Offline
                              Chris76eC Offline
                              Chris76e
                              wrote on last edited by
                              #32

                              @paul53

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

                              👏 👏 👏 👍 👍 👍

                              1 Reply Last reply
                              0
                              • paul53P paul53

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

                                Habe hier Zeile 12 eingefügt:

                                        obj = {};
                                
                                Chris76eC Offline
                                Chris76eC Offline
                                Chris76e
                                wrote on last edited by
                                #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 Reply Last reply
                                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
                                  wrote on last edited by 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 Reply Last reply
                                  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
                                    wrote on last edited by
                                    #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 Reply Last reply
                                    0
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes


                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    381

                                    Online

                                    32.4k

                                    Users

                                    81.3k

                                    Topics

                                    1.3m

                                    Posts
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    ioBroker Community 2014-2025
                                    logo
                                    • Login

                                    • Don't have an account? Register

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Recent
                                    • Tags
                                    • Unread 0
                                    • Categories
                                    • Unreplied
                                    • Popular
                                    • GitHub
                                    • Docu
                                    • Hilfe