Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. [Gelöst] Script um JSON erzeugen funktioniert nicht

NEWS

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    2.8k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    4.8k

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    4.0k

[Gelöst] Script um JSON erzeugen funktioniert nicht

Geplant Angeheftet Gesperrt Verschoben JavaScript
5 Beiträge 2 Kommentatoren 447 Aufrufe 1 Beobachtet
  • Ä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 Chris76e
    #1

    Hi,

    versuche mit folgendem Script ein JSON zu erzeugen. Als trigger soll der DP "ecovacs-deebot.0.status.device" dienen.

    Wenn ich das script starte bekomme ich folgende Warnung angezeigt:

    16:53:42.813	info	javascript.0 (2842511) Start javascript script.js.common.JSON.Deebot
    16:53:42.828	warn	javascript.0 (2842511) at script.js.common.JSON.Deebot:9:4
    16:53:42.828	warn	javascript.0 (2842511) at script.js.common.JSON.Deebot:31:3
    16:53:42.828	info	javascript.0 (2842511) script.js.common.JSON.Deebot: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
    
    const idTable = '0_userdata.0.JSON.Deebot'; 
    const idRaum =  'ecovacs-deebot.0.map.lastCleanedSpotArea.spotAreaName';
    const idDatumEnde ='ecovacs-deebot.0.map.lastCleanedSpotArea.dateTime';
    const idFlaeche = 'ecovacs-deebot.0.cleaninglog.current.cleanedArea';
    const idDauer = 'ecovacs-deebot.0.map.lastCleanedSpotArea.totalTime';
    const idAktiv = 'ecovacs-deebot.0.status.device';
    
    var table = [];
    if(getState(idTable).val) table = JSON.parse(getState(idTable).val);
    var obj = {};
    var startDate = 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');
    
        } else {
            obj.Ende = idDatumEnde;
            obj.Dauer = idDauer;
            obj.Flaeche = idFlaeche;
            obj.Raum = idRaum;
            log(table);
            table.push(obj);
            if(table.length > 50) table.shift();
            setState(idTable, JSON.stringify(table), true);
            log(table);
        }
    }); 
    

    Kann mir hier jemand auf die sprünge helfen?

    Danke

    paul53P 1 Antwort Letzte Antwort
    0
    • Chris76eC Chris76e

      Hi,

      versuche mit folgendem Script ein JSON zu erzeugen. Als trigger soll der DP "ecovacs-deebot.0.status.device" dienen.

      Wenn ich das script starte bekomme ich folgende Warnung angezeigt:

      16:53:42.813	info	javascript.0 (2842511) Start javascript script.js.common.JSON.Deebot
      16:53:42.828	warn	javascript.0 (2842511) at script.js.common.JSON.Deebot:9:4
      16:53:42.828	warn	javascript.0 (2842511) at script.js.common.JSON.Deebot:31:3
      16:53:42.828	info	javascript.0 (2842511) script.js.common.JSON.Deebot: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      
      const idTable = '0_userdata.0.JSON.Deebot'; 
      const idRaum =  'ecovacs-deebot.0.map.lastCleanedSpotArea.spotAreaName';
      const idDatumEnde ='ecovacs-deebot.0.map.lastCleanedSpotArea.dateTime';
      const idFlaeche = 'ecovacs-deebot.0.cleaninglog.current.cleanedArea';
      const idDauer = 'ecovacs-deebot.0.map.lastCleanedSpotArea.totalTime';
      const idAktiv = 'ecovacs-deebot.0.status.device';
      
      var table = [];
      if(getState(idTable).val) table = JSON.parse(getState(idTable).val);
      var obj = {};
      var startDate = 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');
      
          } else {
              obj.Ende = idDatumEnde;
              obj.Dauer = idDauer;
              obj.Flaeche = idFlaeche;
              obj.Raum = idRaum;
              log(table);
              table.push(obj);
              if(table.length > 50) table.shift();
              setState(idTable, JSON.stringify(table), true);
              log(table);
          }
      }); 
      

      Kann mir hier jemand auf die sprünge helfen?

      Danke

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

      @chris76e
      Im Tab "Protokolle" stehen mehr Informationen zur Warnung.
      Welchen Wert enthält "0_userdata.0.JSON.Deebot"?

      Außerdem Zeilen 20 bis 23:

              obj.Ende = getState(idDatumEnde).val;
              obj.Dauer = getState(idDauer).val;
              obj.Flaeche = getState(idFlaeche).val;
              obj.Raum = getState(idRaum).val;
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

      Chris76eC 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @chris76e
        Im Tab "Protokolle" stehen mehr Informationen zur Warnung.
        Welchen Wert enthält "0_userdata.0.JSON.Deebot"?

        Außerdem Zeilen 20 bis 23:

                obj.Ende = getState(idDatumEnde).val;
                obj.Dauer = getState(idDauer).val;
                obj.Flaeche = getState(idFlaeche).val;
                obj.Raum = getState(idRaum).val;
        
        Chris76eC Online
        Chris76eC Online
        Chris76e
        schrieb am zuletzt editiert von
        #3

        @paul53

        "0_userdata.0.JSON.Deebot" da stand "null" drin, habe jetzt [] reingeschrieben, keine Warnung mehr.

        Habe auch das andere geändert, aber es wird nichts geschrieben.

        der DP "ecovacs-deebot.0.status.device" kann die werte "charging", "cleaning" und "returing" annehmen. Vermute da wird nochwas faul sein. Mit dem Wert "cleanig" soll JSON anfangen und mit "charging" beenden....

        paul53P 1 Antwort Letzte Antwort
        0
        • Chris76eC Chris76e

          @paul53

          "0_userdata.0.JSON.Deebot" da stand "null" drin, habe jetzt [] reingeschrieben, keine Warnung mehr.

          Habe auch das andere geändert, aber es wird nichts geschrieben.

          der DP "ecovacs-deebot.0.status.device" kann die werte "charging", "cleaning" und "returing" annehmen. Vermute da wird nochwas faul sein. Mit dem Wert "cleanig" soll JSON anfangen und mit "charging" beenden....

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

          @chris76e sagte: Mit dem Wert "cleanig" soll JSON anfangen und mit "charging" beenden....

              if(dp.state.val == 'cleaning') {
                  obj = {};
                  obj.Start = formatDate(new Date(), 'MM.DD.YY hh:mm');
                  obj.StartUhr = formatDate(new Date(), 'hh:mm');
              } else if(dp.state.val == 'charging') {
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

          Chris76eC 1 Antwort Letzte Antwort
          1
          • paul53P paul53

            @chris76e sagte: Mit dem Wert "cleanig" soll JSON anfangen und mit "charging" beenden....

                if(dp.state.val == 'cleaning') {
                    obj = {};
                    obj.Start = formatDate(new Date(), 'MM.DD.YY hh:mm');
                    obj.StartUhr = formatDate(new Date(), 'hh:mm');
                } else if(dp.state.val == 'charging') {
            
            Chris76eC Online
            Chris76eC Online
            Chris76e
            schrieb am zuletzt editiert von
            #5

            @paul53

            Danke, funktioniert jetzt 👍 👍 👍 😀

            1 Antwort Letzte Antwort
            0

            Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

            Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

            Mit deinem Input könnte dieser Beitrag noch besser werden 💗

            Registrieren Anmelden
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            422

            Online

            33.0k

            Benutzer

            83.4k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2026
            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