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. ioBroker Allgemein
  4. Fehler in einem Script - wer findet ihn?

NEWS

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

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    364

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    962

Fehler in einem Script - wer findet ihn?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
script error
6 Beiträge 2 Kommentatoren 421 Aufrufe 2 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.
  • K Offline
    K Offline
    kaiserm
    schrieb am zuletzt editiert von
    #1

    Moinsen,

    ich bin jetzt nicht so der Programmier Crack, deshalb die Frage an Euch.

    Habe ein Script aus dem Forum verwendet (s.u.) und für mich nur minimal angepasst.

    Jetzt gibt es alle 30 Minuten einen Fehler im Log: u.a. Datum_holen is not defined

    Wo und was muss ich denn eintragen das der Fehler verschwindet?

    Danke im Voraus

    LG Martin

    javascript.0	2019-11-18 08:00:02.512	error	at JavascriptRedisParser.returnReply (/opt/iobroker/node_modules/redis/index.js:192:18)
    javascript.0	2019-11-18 08:00:02.512	error	at RedisClient.return_reply (/opt/iobroker/node_modules/redis/index.js:833:9)
    javascript.0	2019-11-18 08:00:02.512	error	at return_pub_sub (/opt/iobroker/node_modules/redis/index.js:794:18)
    javascript.0	2019-11-18 08:00:02.512	error	at RedisClient.emit (events.js:198:13)
    javascript.0	2019-11-18 08:00:02.511	error	at RedisClient.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:603:25)
    javascript.0	2019-11-18 08:00:02.511	error	at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3705:37)
    javascript.0	2019-11-18 08:00:02.511	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:364:25)
    javascript.0	2019-11-18 08:00:02.511	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:963:38)
    javascript.0	2019-11-18 08:00:02.511	error	at Object.<anonymous> (script.js.common.Abfall:231:5)
    javascript.0	2019-11-18 08:00:02.511	error	at iCalToHTMLTable (script.js.common.Abfall:69:17)
    javascript.0	2019-11-18 08:00:02.510	error	Error in callback: ReferenceError: Datum_holen is not defined
    
    // Script stammt von uhula und sputnik
    
    // Das Script greift auf die ical.0.html zu und ändert den Text.
    
    // Gespeichert wird das geänderte Script in "javascript.0.ical.html"
    
    // Geändert und erweitert in 12/2017 von bahnuhr
    
     
    
     
    
    var idCal = "ical.0";
    
    var idCalTrigger   = idCal + ".data.trigger";
    
    var idCalTable     = idCal + ".data.table";
    
    var idCalHTML      = idCal + ".data.html";
    
    var idCalHTMLtable = 'EigeneDP.0.Visualisierung.Abfall.html';
    
     
    
    var anz_ganztags = true;   // wenn true wird bei Ganztags-Terminen als time auch "ganzer Tag" angezeigt; wenn false erfolgt gar keine Anzeige
    
    var anz_time = true;        // wenn true werden die Uhrzeiten angezeigt; wenn false erfolgt gar keine Anzeige
    
    var balken = false;         // wenn true wird Balken links angezeigt; wenn false dann erfolgt keine Anzeige
    
     
    
    function iCalToHTMLTable() {
    
        var html     = "<table style='font-size:0.75em;'><tbody>";
    
        var calTable = getState(idCalTable);
    
        var inst     = getObject("system.adapter."+idCal);
    
        var instopt  = inst.native;
    
        var calendar = {};
    
     
    
        for (var i = 0; i < calTable.val.length; i++) { 
    
            var entry = calTable.val[i];
    
            var _date = new Date(entry._date);
    
            var _time = "";
    
     
    
     
    
            // "_time und date" Variable festlegen
    
            if (entry.date.indexOf("&#8594") >= 0) {    // Pfeil ist enthalten
    
                if (entry.date.indexOf(":") >= 0) {         // Uhrzeit ist enthalten
    
                    _time = "bis " + (entry.date).substring(entry.date.length-5,entry.date.length);
    
                    entry.date = Datum_holen("tm");
    
                } else {
    
                    _time= "";
    
                    entry.date = Datum_holen("tm");
    
                }
    
            } else {                                    // Pfeil ist nicht enthalten
    
                if (entry.date.indexOf(":") >= 0) {         // Uhrzeit ist enthalten
    
                    _time = (entry.date).substring(entry.date.length-11,entry.date.length);
    
                } else {
    
                    _time= "";
    
                }
    
                entry.date = getFormattedDate(_date);
    
            }
    
     
    
     
    
            if ( entry._calName != calendar.name ) {
    
                calendar = {};
    
                for (var c = 0; c < instopt.calendars.length; c++ ) {
    
                    if (entry._calName == instopt.calendars[c].name ) {
    
                        calendar = instopt.calendars[c];
    
                        break;
    
                    }
    
                }
    
            }
    
     
    
            var _color = "color:"+calendar.color;
    
            if (entry._class.includes("ical_today")) _color = "color:red;";
    
            else if (entry._class.includes("ical_tomorrow")) _color = "color:orange";
    
            else if (entry._class.includes("ical_dayafter")) _color = "color:yellow";
    
     
    
            var _bgcolor = "";
    
            if(calendar.name == "Müllabfuhr") {
    
                if(entry.event == "Biogut") {
    
                    _bgcolor = "#a67d3c";
    
                    _color="color:#a67d3c";
    
                }
    
                else if(entry.event == "Restmüll 1.100 L") {
    
                    _bgcolor = "#778396"; 
    
                    _color="color:#778396";
    
                }
    
                else if(entry.event == "Flach 1.100 L") {
    
                    _bgcolor = "#35b52a";
    
                    _color="color:#35b52a";
    
                }
    
                else if(entry.event == "Rund") {
    
                    _bgcolor = "#a8e8a2";
    
                    _color="color:#a8e8a2";
    
                }
    
            }
    
            else _bgcolor = calendar.color;
    
            
    
            if (balken === false) _bgcolor = "";
    
            
    
            if (_bgcolor !== "") html+="<tr style='background:transparent; background-image: linear-gradient("+_bgcolor+","+_bgcolor+"); background-size: 6px 90%; background-repeat: no-repeat;'>";
    
            else html+="<tr>";
    
     
    
                var abstand = "15px;";
    
                if (balken === false) abstand = "3px;";
    
                html+="<td style='font-size:1.1em; padding-left:"+abstand+_color+"'>"+entry.date+"</td>";
    
     
    
            if ((_time === "ganzer Tag" && anz_ganztags === false) || anz_time === false) {
    
                html+="<td style='font-size:1.1em; padding-left:5px;"+_color+"'>"+entry.event+"</td>";                      // nur event anzeigen
    
            } else {
    
                html+="<td style='font-size:1.1em; padding-left:5px;"+_color+"'>"+_time + "  " + entry.event+"</td>";       // time + event wird angezeigt
    
            }
    
            html+="</tr>";
    
        }
    
     
    
        html+="</body></table>";    
    
        setState(idCalHTMLtable, html);    
    
    }
    
     
    
    function getFormattedDate(date) {
    
        var month = (1 + date.getMonth()).toString();
    
        month = month.length > 1 ? month : '0' + month;
    
        var day = date.getDate().toString();
    
        day = day.length > 1 ? day : '0' + day;
    
        return day + '.' + month + '.';
    
    }
    
     
    
    on({id: idCalTable, change: "ne"}, function (obj) {
    
        iCalToHTMLTable();
    
    });
    
     
    
    iCalToHTMLTable();
    
    AsgothianA 1 Antwort Letzte Antwort
    0
    • K kaiserm

      Moinsen,

      ich bin jetzt nicht so der Programmier Crack, deshalb die Frage an Euch.

      Habe ein Script aus dem Forum verwendet (s.u.) und für mich nur minimal angepasst.

      Jetzt gibt es alle 30 Minuten einen Fehler im Log: u.a. Datum_holen is not defined

      Wo und was muss ich denn eintragen das der Fehler verschwindet?

      Danke im Voraus

      LG Martin

      javascript.0	2019-11-18 08:00:02.512	error	at JavascriptRedisParser.returnReply (/opt/iobroker/node_modules/redis/index.js:192:18)
      javascript.0	2019-11-18 08:00:02.512	error	at RedisClient.return_reply (/opt/iobroker/node_modules/redis/index.js:833:9)
      javascript.0	2019-11-18 08:00:02.512	error	at return_pub_sub (/opt/iobroker/node_modules/redis/index.js:794:18)
      javascript.0	2019-11-18 08:00:02.512	error	at RedisClient.emit (events.js:198:13)
      javascript.0	2019-11-18 08:00:02.511	error	at RedisClient.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:603:25)
      javascript.0	2019-11-18 08:00:02.511	error	at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3705:37)
      javascript.0	2019-11-18 08:00:02.511	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:364:25)
      javascript.0	2019-11-18 08:00:02.511	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:963:38)
      javascript.0	2019-11-18 08:00:02.511	error	at Object.<anonymous> (script.js.common.Abfall:231:5)
      javascript.0	2019-11-18 08:00:02.511	error	at iCalToHTMLTable (script.js.common.Abfall:69:17)
      javascript.0	2019-11-18 08:00:02.510	error	Error in callback: ReferenceError: Datum_holen is not defined
      
      // Script stammt von uhula und sputnik
      
      // Das Script greift auf die ical.0.html zu und ändert den Text.
      
      // Gespeichert wird das geänderte Script in "javascript.0.ical.html"
      
      // Geändert und erweitert in 12/2017 von bahnuhr
      
       
      
       
      
      var idCal = "ical.0";
      
      var idCalTrigger   = idCal + ".data.trigger";
      
      var idCalTable     = idCal + ".data.table";
      
      var idCalHTML      = idCal + ".data.html";
      
      var idCalHTMLtable = 'EigeneDP.0.Visualisierung.Abfall.html';
      
       
      
      var anz_ganztags = true;   // wenn true wird bei Ganztags-Terminen als time auch "ganzer Tag" angezeigt; wenn false erfolgt gar keine Anzeige
      
      var anz_time = true;        // wenn true werden die Uhrzeiten angezeigt; wenn false erfolgt gar keine Anzeige
      
      var balken = false;         // wenn true wird Balken links angezeigt; wenn false dann erfolgt keine Anzeige
      
       
      
      function iCalToHTMLTable() {
      
          var html     = "<table style='font-size:0.75em;'><tbody>";
      
          var calTable = getState(idCalTable);
      
          var inst     = getObject("system.adapter."+idCal);
      
          var instopt  = inst.native;
      
          var calendar = {};
      
       
      
          for (var i = 0; i < calTable.val.length; i++) { 
      
              var entry = calTable.val[i];
      
              var _date = new Date(entry._date);
      
              var _time = "";
      
       
      
       
      
              // "_time und date" Variable festlegen
      
              if (entry.date.indexOf("&#8594") >= 0) {    // Pfeil ist enthalten
      
                  if (entry.date.indexOf(":") >= 0) {         // Uhrzeit ist enthalten
      
                      _time = "bis " + (entry.date).substring(entry.date.length-5,entry.date.length);
      
                      entry.date = Datum_holen("tm");
      
                  } else {
      
                      _time= "";
      
                      entry.date = Datum_holen("tm");
      
                  }
      
              } else {                                    // Pfeil ist nicht enthalten
      
                  if (entry.date.indexOf(":") >= 0) {         // Uhrzeit ist enthalten
      
                      _time = (entry.date).substring(entry.date.length-11,entry.date.length);
      
                  } else {
      
                      _time= "";
      
                  }
      
                  entry.date = getFormattedDate(_date);
      
              }
      
       
      
       
      
              if ( entry._calName != calendar.name ) {
      
                  calendar = {};
      
                  for (var c = 0; c < instopt.calendars.length; c++ ) {
      
                      if (entry._calName == instopt.calendars[c].name ) {
      
                          calendar = instopt.calendars[c];
      
                          break;
      
                      }
      
                  }
      
              }
      
       
      
              var _color = "color:"+calendar.color;
      
              if (entry._class.includes("ical_today")) _color = "color:red;";
      
              else if (entry._class.includes("ical_tomorrow")) _color = "color:orange";
      
              else if (entry._class.includes("ical_dayafter")) _color = "color:yellow";
      
       
      
              var _bgcolor = "";
      
              if(calendar.name == "Müllabfuhr") {
      
                  if(entry.event == "Biogut") {
      
                      _bgcolor = "#a67d3c";
      
                      _color="color:#a67d3c";
      
                  }
      
                  else if(entry.event == "Restmüll 1.100 L") {
      
                      _bgcolor = "#778396"; 
      
                      _color="color:#778396";
      
                  }
      
                  else if(entry.event == "Flach 1.100 L") {
      
                      _bgcolor = "#35b52a";
      
                      _color="color:#35b52a";
      
                  }
      
                  else if(entry.event == "Rund") {
      
                      _bgcolor = "#a8e8a2";
      
                      _color="color:#a8e8a2";
      
                  }
      
              }
      
              else _bgcolor = calendar.color;
      
              
      
              if (balken === false) _bgcolor = "";
      
              
      
              if (_bgcolor !== "") html+="<tr style='background:transparent; background-image: linear-gradient("+_bgcolor+","+_bgcolor+"); background-size: 6px 90%; background-repeat: no-repeat;'>";
      
              else html+="<tr>";
      
       
      
                  var abstand = "15px;";
      
                  if (balken === false) abstand = "3px;";
      
                  html+="<td style='font-size:1.1em; padding-left:"+abstand+_color+"'>"+entry.date+"</td>";
      
       
      
              if ((_time === "ganzer Tag" && anz_ganztags === false) || anz_time === false) {
      
                  html+="<td style='font-size:1.1em; padding-left:5px;"+_color+"'>"+entry.event+"</td>";                      // nur event anzeigen
      
              } else {
      
                  html+="<td style='font-size:1.1em; padding-left:5px;"+_color+"'>"+_time + "  " + entry.event+"</td>";       // time + event wird angezeigt
      
              }
      
              html+="</tr>";
      
          }
      
       
      
          html+="</body></table>";    
      
          setState(idCalHTMLtable, html);    
      
      }
      
       
      
      function getFormattedDate(date) {
      
          var month = (1 + date.getMonth()).toString();
      
          month = month.length > 1 ? month : '0' + month;
      
          var day = date.getDate().toString();
      
          day = day.length > 1 ? day : '0' + day;
      
          return day + '.' + month + '.';
      
      }
      
       
      
      on({id: idCalTable, change: "ne"}, function (obj) {
      
          iCalToHTMLTable();
      
      });
      
       
      
      iCalToHTMLTable();
      
      AsgothianA Offline
      AsgothianA Offline
      Asgothian
      Developer
      schrieb am zuletzt editiert von
      #2

      @kaiserm sagte in Fehler in einem Script - wer findet ihn?:

      Moinsen,
      ich bin jetzt nicht so der Programmier Crack, deshalb die Frage an Euch.
      Habe ein Script aus dem Forum verwendet (s.u.) und für mich nur minimal angepasst.
      Jetzt gibt es alle 30 Minuten einen Fehler im Log: u.a. Datum_holen is not defined
      Wo und was muss ich denn eintragen das der Fehler verschwindet?
      Danke im Voraus
      LG Martin

      Wo hast du das Script (oder den Script-Teil) denn her ?

      Du nutzt eine Funktion Datum_holen in Zeile 67 und 73. Diese Funktion hast du möglicherweise aus der Quelle nicht mit kopiert. Wenn du die Funktion auskommentierst dann fehlt Dir die Information zum Tag.

      A.

      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

      1 Antwort Letzte Antwort
      0
      • K Offline
        K Offline
        kaiserm
        schrieb am zuletzt editiert von
        #3

        Das Script stammt aus diesem Thread.

        https://forum.iobroker.net/topic/26782/ical-kalender-farben-anpassen/2

        AsgothianA 1 Antwort Letzte Antwort
        0
        • K kaiserm

          Das Script stammt aus diesem Thread.

          https://forum.iobroker.net/topic/26782/ical-kalender-farben-anpassen/2

          AsgothianA Offline
          AsgothianA Offline
          Asgothian
          Developer
          schrieb am zuletzt editiert von
          #4

          @kaiserm
          Kommentiere doch bitte mal die Zeilen

          entry.date = Datum_holen("tm")
          

          aus.

          A.

          ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
          "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

          K 1 Antwort Letzte Antwort
          1
          • AsgothianA Asgothian

            @kaiserm
            Kommentiere doch bitte mal die Zeilen

            entry.date = Datum_holen("tm")
            

            aus.

            A.

            K Offline
            K Offline
            kaiserm
            schrieb am zuletzt editiert von
            #5

            @Asgothian Habe ich gemacht.

            Funktioniert komischerweise auch ohne diese Funktion einwandfrei.

            AsgothianA 1 Antwort Letzte Antwort
            0
            • K kaiserm

              @Asgothian Habe ich gemacht.

              Funktioniert komischerweise auch ohne diese Funktion einwandfrei.

              AsgothianA Offline
              AsgothianA Offline
              Asgothian
              Developer
              schrieb am zuletzt editiert von
              #6

              @kaiserm nicht komisch, die Funktion sollte ein Detail im Kalender Eintrag anpassen. Da es vorher nicht ging hast du den Effekt nie gesehen :)

              A.

              ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
              "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

              1 Antwort Letzte Antwort
              1

              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
              FAQ Cloud / IOT
              HowTo: Node.js-Update
              HowTo: Backup/Restore
              Downloads
              BLOG

              579

              Online

              32.8k

              Benutzer

              82.8k

              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