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. Wie Script ändern damit neuster Eintrag als erstes ist?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Wie Script ändern damit neuster Eintrag als erstes ist?

Geplant Angeheftet Gesperrt Verschoben JavaScript
2 Beiträge 2 Kommentatoren 179 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.
  • Chris76eC Online
    Chris76eC Online
    Chris76e
    schrieb am zuletzt editiert von
    #1

    Ist es möglich das folgende Script so zuändern, das der neuste Eintrag als erstes und nicht als letztes im JSON ist?

    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();
    var Zeit;
    
    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();
            const timeDiff = getDateObject(endDate).getTime() - getDateObject(startDate).getTime();
            obj.Dauer = formatDate(timeDiff, 'hh:mm');
            log(table);
            table.push(obj);
            if(table.length > 100) table.shift();
            setState(idTable, JSON.stringify(table), true);
            log(table);
        }
    });
    
    
    paul53P 1 Antwort Letzte Antwort
    0
    • Chris76eC Chris76e

      Ist es möglich das folgende Script so zuändern, das der neuste Eintrag als erstes und nicht als letztes im JSON ist?

      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();
      var Zeit;
      
      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();
              const timeDiff = getDateObject(endDate).getTime() - getDateObject(startDate).getTime();
              obj.Dauer = formatDate(timeDiff, 'hh:mm');
              log(table);
              table.push(obj);
              if(table.length > 100) table.shift();
              setState(idTable, JSON.stringify(table), true);
              log(table);
          }
      });
      
      
      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @chris76e sagte: neuste Eintrag als erstes

      Zeilen 32, 33

              table.unshift(obj);
              if(table.length > 100) table.pop();
      

      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

      1 Antwort Letzte Antwort
      1
      Antworten
      • In einem neuen Thema antworten
      Anmelden zum Antworten
      • Älteste zuerst
      • Neuste zuerst
      • Meiste Stimmen


      Support us

      ioBroker
      Community Adapters
      Donate

      626

      Online

      32.6k

      Benutzer

      82.3k

      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