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. Error/Bug
  4. Javascript-Adapter formatDate() erzeugt Fehler

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Javascript-Adapter formatDate() erzeugt Fehler

Geplant Angeheftet Gesperrt Verschoben Gelöst Error/Bug
javascript
10 Beiträge 5 Kommentatoren 2.0k Aufrufe
  • Ä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.
  • ruhr70R Offline
    ruhr70R Offline
    ruhr70
    schrieb am zuletzt editiert von Jey Cee
    #1
    TypeError:	06 07:46:36.849	error	at Adapter.formatDate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1661:28)
    TypeError:	06 07:46:36.849	error	isDuration.toLowerCase is not a function
    uncaught	06 07:46:36.846	error	exception: isDuration.toLowerCase is not a function
    

    Fehlermeldung komplett:

    host-ubuntu-1604-dev	06 07:46:36.865	error	instance system.adapter.javascript.1 terminated with code 0 (OK)
    TypeError:	06 07:46:36.849	error	at process._tickCallback (node.js:356:17)
    TypeError:	06 07:46:36.849	error	at nextTickCallbackWith2Args (node.js:442:9)
    TypeError:	06 07:46:36.849	error	at endReadableNT (_stream_readable.js:913:12)
    TypeError:	06 07:46:36.849	error	at IncomingMessage.emit (events.js:166:7)
    TypeError:	06 07:46:36.849	error	at emitNone (events.js:72:20)
    TypeError:	06 07:46:36.849	error	at IncomingMessage. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:988:12)
    TypeError:	06 07:46:36.849	error	at Request.emit (events.js:169:7)
    TypeError:	06 07:46:36.849	error	at emitOne (events.js:82:20)
    TypeError:	06 07:46:36.849	error	at Request. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1067:10)
    TypeError:	06 07:46:36.849	error	at Request.emit (events.js:172:7)
    TypeError:	06 07:46:36.849	error	at emitTwo (events.js:87:13)
    TypeError:	06 07:46:36.849	error	at Request.self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:200:22)
    TypeError:	06 07:46:36.849	error	at Request._callback (script.js.common.WIFFI:31:13)
    TypeError:	06 07:46:36.849	error	at script.js.common.WIFFI:122:13
    TypeError:	06 07:46:36.849	error	at createDpFromJson (script.js.common.WIFFI:110:42)
    TypeError:	06 07:46:36.849	error	at timeLastData (script.js.common.WIFFI:13:12)
    TypeError:	06 07:46:36.849	error	at sandbox.formatDate (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1759:32)
    TypeError:	06 07:46:36.849	error	at Adapter.formatDate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1661:28)
    TypeError:	06 07:46:36.849	error	isDuration.toLowerCase is not a function
    uncaught	06 07:46:36.846	error	exception: isDuration.toLowerCase is not a function
    

    Skript:

    var request = require("request");
    var pfad    = "WIFFI" + ".Arbeitszimmer.";
    var url     = 'http://172.16.130.195/?json:';
    // TODO:
    //
     function timeLastData() {
        return formatDate(new Date(), "DD.MM, hh:mm:ss");
    }
     function parseJson(text) {
        if (text === "") return {};
        try {
            json = JSON.parse(text);
        } catch (ex) {
            json = {};
        }
        if(!json) json = {};
        return json;
    }
     function readJson(url, callback) {
        request(url, function (err, state, body){
            if (body) {
                var json = parseJson(body);
                callback(null, json);
            } else {
                var error = "(" + err + ") ERROR bei Abfrage von: " + url;
                log(error, "warn");
                callback(error, null);
            }
        });
    }
     function readVars() {
        readJson(url, function(err,json) {
            if(!err) {
                var myJson = json;
                var dPname, init;
                var anzahlVars = myJson.vars.length;
                for (var i = 1; i < anzahlVars; i++) {
                    dPname = pfad + myJson.vars[i].homematic_name;
                    init = myJson.vars[i].value;
                    setState(dPname, init);
                }
                for (var systeminfo in myJson.Systeminfo) {
                    dPname = pfad + "Systeminfo." + systeminfo;
                    init = myJson.Systeminfo[systeminfo];
                    setState(dPname, init);
                }
                setState(pfad + "LetzteAbfrage",timeLastData());
                var statusNe = getState(pfad + "Last_State_Count").val;
                if (statusNe < 0) {
                    setState(pfad + "Last_State_Count",0);
                } else {
                    setState(pfad + "Last_State_Count",statusNe + 1);
                }
                log("WIFFI Daten aktualisiert: " + url,"debug");
            } else {
                log("Fehler beim Auslesen des JSON. Keine Daten erhalten.","warn");
                if (statusNe > 0) {
                    setState(pfad + "Last_State_Count",0);
                } else {
                    setState(pfad + "Last_State_Count",statusNe - 1);
                }
            }
        });
    }
     function createDpFromJson(myJson) {
        var dpname = "";
        var name = "";
        var forceCreation = true;
        var common;
        var init;
        var type, desc, unit;
        var anzahlVars = myJson.vars.length;
        for (var i = 1; i < anzahlVars; i++) {
            dPname = pfad + myJson.vars[i].homematic_name;
            init = myJson.vars[i].value;
            type = myJson.vars[i].type;
            desc = myJson.vars[i].desc;
            name = desc;
            unit = myJson.vars[i].unit.replace('grad','°');
            common = '{"desc":"' + desc + '","type":"' + type + '","unit":"' + unit + '","role":"value"' +',"name":"' + name + '"}';
            common = JSON.parse(common);
            createState(dPname, init , forceCreation, common);
            //createState(dPname, init);
            log("neuer Datenpunkt: " + dPname + ": " + init +", common: " + common,"debug");
        }
        for (var systeminfo in myJson.Systeminfo) {
            dPname = pfad + "Systeminfo." + systeminfo;
            init = myJson.Systeminfo[systeminfo];
            common = '{"name":"'+systeminfo+'","desc":"'+systeminfo+'","role":"value"}';
            common = JSON.parse(common);
            log("neuer Datenpunkt: " + dPname + ": " + init +", common: " + common,"info");
            createState(dPname, init , forceCreation, common);
        }
        createState(pfad + "System.Modultyp",myJson.modultyp);
        createState(pfad + "System.url",url.replace("json:","xpert:0:"));
        createState(pfad + "Last_State_Count",0,true);
        createState(pfad + "LetzteAbfrage"  ,timeLastData());
        createState(pfad + "Skriptstart"    ,timeLastData()),true;
        createState(pfad + "Control_GetData",false,true,        {"name":"Daten mit true manuell abrufen","type":"boolean","role":"value"});
        log("Datenpunkte für WIFI in "+ pfad +" angelegt.");
    }
     function createDp() {
        readJson(url, function (err,json) {
            if(!err) {
                var myJson = json;
                createDpFromJson(myJson);
                log("WIFFI Datenpunkte angelegt/aktualisiert");
            } else {
                log("Fehler beim Auslesen des JSON. Keine Daten erhalten.","error");
                log("Keine Datenpunkte angelegt. Skript beendet","error");
                return;
            }
        });
    }
     function createOn() {
        var dpId = "javascript." + instance + "." + pfad + "Control_GetData";
        on({id: dpId ,change:'any'}, function (obj) {
            log(obj.state.val,"warn");
            if(obj.state.val) {
                readVars();
            }
        });
         schedule("*/1 * * * *", function () { // jede Minute die Werte abfragen
            readVars();
        });
     }
     function main() {
        readVars();
    }
     // Skriptstart
     createDp();
    setTimeout(createOn,    3000);
    setTimeout(main,        3000);
    

    Adapter: Fritzbox, Unify Circuit
    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

    1 Antwort Letzte Antwort
    0
    • HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #2

      Ist das das Gleiche, nach dem ich http://forum.iobroker.net/viewtopic.php?f=36&t=2789#p25195 schon gefragt habe??

      Dann liegt es diesmal ausnahmsweise nicht an meinem Unwissen?

      Gruß

      Rainer

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Antwort Letzte Antwort
      0
      • ruhr70R Offline
        ruhr70R Offline
        ruhr70
        schrieb am zuletzt editiert von
        #3

        ja. sieht nach dem gleichen Thema aus.

        Gesendet von iPhone mit Tapatalk

        Adapter: Fritzbox, Unify Circuit
        Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

        1 Antwort Letzte Antwort
        0
        • P Offline
          P Offline
          pix
          schrieb am zuletzt editiert von
          #4

          Hallo,

          habe das auch schon festgestellt und deshalb in einige meiner Skripte workarounds eingebaut.

          Gruß

          Pix

          ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

          1 Antwort Letzte Antwort
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            schrieb am zuletzt editiert von
            #5

            @ruhr70:

            TypeError:	06 07:46:36.849	error	at Adapter.formatDate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1661:28)
            TypeError:	06 07:46:36.849	error	isDuration.toLowerCase is not a function
            uncaught	06 07:46:36.846	error	exception: isDuration.toLowerCase is not a function
            

            Fehlermeldung komplett:

            ! ````
            host-ubuntu-1604-dev 06 07:46:36.865 error instance system.adapter.javascript.1 terminated with code 0 (OK)
            TypeError: 06 07:46:36.849 error at process._tickCallback (node.js:356:17)
            TypeError: 06 07:46:36.849 error at nextTickCallbackWith2Args (node.js:442:9)
            TypeError: 06 07:46:36.849 error at endReadableNT (_stream_readable.js:913:12)
            TypeError: 06 07:46:36.849 error at IncomingMessage.emit (events.js:166:7)
            TypeError: 06 07:46:36.849 error at emitNone (events.js:72:20)
            TypeError: 06 07:46:36.849 error at IncomingMessage. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:988:12)
            TypeError: 06 07:46:36.849 error at Request.emit (events.js:169:7)
            TypeError: 06 07:46:36.849 error at emitOne (events.js:82:20)
            TypeError: 06 07:46:36.849 error at Request. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1067:10)
            TypeError: 06 07:46:36.849 error at Request.emit (events.js:172:7)
            TypeError: 06 07:46:36.849 error at emitTwo (events.js:87:13)
            TypeError: 06 07:46:36.849 error at Request.self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:200:22)
            TypeError: 06 07:46:36.849 error at Request._callback (script.js.common.WIFFI:31:13)
            TypeError: 06 07:46:36.849 error at script.js.common.WIFFI:122:13
            TypeError: 06 07:46:36.849 error at createDpFromJson (script.js.common.WIFFI:110:42)
            TypeError: 06 07:46:36.849 error at timeLastData (script.js.common.WIFFI:13:12)
            TypeError: 06 07:46:36.849 error at sandbox.formatDate (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1759:32)
            TypeError: 06 07:46:36.849 error at Adapter.formatDate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1661:28)
            TypeError: 06 07:46:36.849 error isDuration.toLowerCase is not a function
            uncaught 06 07:46:36.846 error exception: isDuration.toLowerCase is not a function

            
            Skript:
            
            >! ```
            `var request = require("request");
            >! var pfad    = "WIFFI" + ".Arbeitszimmer.";
            var url     = 'http://172.16.130.195/?json:';
            >! // TODO:
            //
            >! function timeLastData() {
                return formatDate(new Date(), "DD.MM, hh:mm:ss");
            }
            >! function parseJson(text) {
                if (text === "") return {};
                try {
                    json = JSON.parse(text);
                } catch (ex) {
                    json = {};
                }
                if(!json) json = {};
                return json;
            }
            >! function readJson(url, callback) {
                request(url, function (err, state, body){
                    if (body) {
                        var json = parseJson(body);
                        callback(null, json);
                    } else {
                        var error = "(" + err + ") ERROR bei Abfrage von: " + url;
                        log(error, "warn");
                        callback(error, null);
                    }
                });
            }
            >! function readVars() {
                readJson(url, function(err,json) {
                    if(!err) {
                        var myJson = json;
                        var dPname, init;
                        var anzahlVars = myJson.vars.length;
                        for (var i = 1; i < anzahlVars; i++) {
                            dPname = pfad + myJson.vars[i].homematic_name;
                            init = myJson.vars[i].value;
                            setState(dPname, init);
                        }
                        for (var systeminfo in myJson.Systeminfo) {
                            dPname = pfad + "Systeminfo." + systeminfo;
                            init = myJson.Systeminfo[systeminfo];
                            setState(dPname, init);
                        }
                        setState(pfad + "LetzteAbfrage",timeLastData());
                        var statusNe = getState(pfad + "Last_State_Count").val;
                        if (statusNe < 0) {
                            setState(pfad + "Last_State_Count",0);
                        } else {
                            setState(pfad + "Last_State_Count",statusNe + 1);
                        }
                        log("WIFFI Daten aktualisiert: " + url,"debug");
                    } else {
                        log("Fehler beim Auslesen des JSON. Keine Daten erhalten.","warn");
                        if (statusNe > 0) {
                            setState(pfad + "Last_State_Count",0);
                        } else {
                            setState(pfad + "Last_State_Count",statusNe - 1);
                        }
                    }
                });
            }
            >! function createDpFromJson(myJson) {
                var dpname = "";
                var name = "";
                var forceCreation = true;
                var common;
                var init;
                var type, desc, unit;
                var anzahlVars = myJson.vars.length;
                for (var i = 1; i < anzahlVars; i++) {
                    dPname = pfad + myJson.vars[i].homematic_name;
                    init = myJson.vars[i].value;
                    type = myJson.vars[i].type;
                    desc = myJson.vars[i].desc;
                    name = desc;
                    unit = myJson.vars[i].unit.replace('grad','°');
                    common = '{"desc":"' + desc + '","type":"' + type + '","unit":"' + unit + '","role":"value"' +',"name":"' + name + '"}';
                    common = JSON.parse(common);
                    createState(dPname, init , forceCreation, common);
                    //createState(dPname, init);
                    log("neuer Datenpunkt: " + dPname + ": " + init +", common: " + common,"debug");
                }
                for (var systeminfo in myJson.Systeminfo) {
                    dPname = pfad + "Systeminfo." + systeminfo;
                    init = myJson.Systeminfo[systeminfo];
                    common = '{"name":"'+systeminfo+'","desc":"'+systeminfo+'","role":"value"}';
                    common = JSON.parse(common);
                    log("neuer Datenpunkt: " + dPname + ": " + init +", common: " + common,"info");
                    createState(dPname, init , forceCreation, common);
                }
                createState(pfad + "System.Modultyp",myJson.modultyp);
                createState(pfad + "System.url",url.replace("json:","xpert:0:"));
                createState(pfad + "Last_State_Count",0,true);
                createState(pfad + "LetzteAbfrage"  ,timeLastData());
                createState(pfad + "Skriptstart"    ,timeLastData()),true;
                createState(pfad + "Control_GetData",false,true,        {"name":"Daten mit true manuell abrufen","type":"boolean","role":"value"});
                log("Datenpunkte für WIFI in "+ pfad +" angelegt.");
            }
            >! function createDp() {
                readJson(url, function (err,json) {
                    if(!err) {
                        var myJson = json;
                        createDpFromJson(myJson);
                        log("WIFFI Datenpunkte angelegt/aktualisiert");
                    } else {
                        log("Fehler beim Auslesen des JSON. Keine Daten erhalten.","error");
                        log("Keine Datenpunkte angelegt. Skript beendet","error");
                        return;
                    }
                });
            }
            >! function createOn() {
                var dpId = "javascript." + instance + "." + pfad + "Control_GetData";
                on({id: dpId ,change:'any'}, function (obj) {
                    log(obj.state.val,"warn");
                    if(obj.state.val) {
                        readVars();
                    }
                });
            >!     schedule("*/1 * * * *", function () { // jede Minute die Werte abfragen
                    readVars();
                });
            >! }
            >! function main() {
                readVars();
            }
            >! // Skriptstart
            >! createDp();
            setTimeout(createOn,    3000);
            setTimeout(main,        3000);` 
            Sollte am Git gefixt sein. Danke fürs Melden.[/i][/i][/i][/i][/i][/i][/i]
            ``` ` 
            1 Antwort Letzte Antwort
            0
            • ruhr70R Offline
              ruhr70R Offline
              ruhr70
              schrieb am zuletzt editiert von
              #6

              @Bluefox:

              Sollte am Git gefixt sein. Danke fürs Melden. `

              Jetzt muss ich wieder blöd nachfragen… :oops:

              Der Javascript Adapter ist auf Git immer noch der 2.0.6.

              Was muss ich denn aktualisieren?

              Adapter: Fritzbox, Unify Circuit
              Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

              1 Antwort Letzte Antwort
              0
              • paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                @ruhr70:

                Was muss ich denn aktualisieren? `
                /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js

                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
                0
                • HomoranH Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #8

                  und anschließend

                  sudo chmod 777 * -R
                  

                  nicht vergessen, sonst hagelt es Schimpfe!

                  EDIT: Seltsam, ./iobroker restart startet iobroker - dann Error2 cannot start, aber ioBroker läuft?

                  Gruß

                  Rainer

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  1 Antwort Letzte Antwort
                  0
                  • ruhr70R Offline
                    ruhr70R Offline
                    ruhr70
                    schrieb am zuletzt editiert von
                    #9

                    @ruhr70:

                    • im Admin/Adapter werden nur die installierten Adapter angezeigt (ggf. wg. meiner Vorgehensweise oben) `

                    Sind wieder von alleine da.

                    Adapter: Fritzbox, Unify Circuit
                    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                    1 Antwort Letzte Antwort
                    0
                    • ruhr70R Offline
                      ruhr70R Offline
                      ruhr70
                      schrieb am zuletzt editiert von
                      #10

                      @Homoran:

                      und anschließend

                      sudo chmod 777 * -R
                      

                      nicht vergessen, sonst hagelt es Schimpfe!

                      EDIT: Seltsam, ./iobroker restart startet iobroker - dann Error2 cannot start, aber ioBroker läuft?

                      Gruß

                      Rainer `

                      zu spät gesehen.

                      Hab Schimpfe verdient.

                      Lief auch ohne :oops:

                      habe ich nachträglich ausgeführt

                      Adapter: Fritzbox, Unify Circuit
                      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                      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

                      705

                      Online

                      32.5k

                      Benutzer

                      81.7k

                      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