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. [gelöst] Javascript: Zugriff auf Unterelem. funktion. nicht

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

[gelöst] Javascript: Zugriff auf Unterelem. funktion. nicht

Geplant Angeheftet Gesperrt Verschoben JavaScript
12 Beiträge 5 Kommentatoren 685 Aufrufe 3 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.
  • L LoxDUS

    Hallo,

    habe heute so einige Adapter aktualisiert und jetzt funktioniert ein script nicht mehr das auf die Daten aus ical (Google Kalender) zugreift. Vielleicht habt ihr einen Tip für mich:

    Ich lese mit

    var termine = getState("ical.0.data.table").val;
    

    in termine die aktuellen termine ein. Da steht dann genau das hier drin:

     [{"date":"05.08.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ical_today","_date":"2021-08-04T22:00:00.000Z","_end":"2021-08-05T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023933@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"11.08.2021 ","event":"DUS Altpapier Teilservice (Tonne)","_class":"ical_Muellabfuhr ical_6days","_date":"2021-08-10T22:00:00.000Z","_end":"2021-08-11T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023997@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"12.08.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ical_oneweek","_date":"2021-08-11T22:00:00.000Z","_end":"2021-08-12T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023934@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"18.08.2021 ","event":"DUS Leichtverpackung Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-17T22:00:00.000Z","_end":"2021-08-18T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023971@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"19.08.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-18T22:00:00.000Z","_end":"2021-08-19T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023935@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"25.08.2021 ","event":"DUS Altpapier Teilservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-24T22:00:00.000Z","_end":"2021-08-25T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023998@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"26.08.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-25T22:00:00.000Z","_end":"2021-08-26T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023936@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"01.09.2021 ","event":"DUS Leichtverpackung Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-31T22:00:00.000Z","_end":"2021-09-01T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023972@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"02.09.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-09-01T22:00:00.000Z","_end":"2021-09-02T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023937@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"}]
    

    Jetzt wurde bisher immer mit diesem Code in den Einträgen gesucht:

    for (var i in termine) {
         //   Bio
         //   Restmüll
         //   Papier
         //   Gelbe
            
            var termin = termine[i];
    
            // suchen nach dem nächsten Termin der "Restmüll" enthält.
            log("###");
            // console.log(termin.event); // Debugging für Inhalt im Event Text
            // console.log(termin.date); // Debugging Inhalt Date
    
            if (termin.event.includes("Restmüll") && terminRest == "") {
                terminRest = convertToEngDate(termin.date);
                DDRest = dateDiff(terminRest);
                if(DDRest<=1)
                    RestAllert = " alert";
                else
                    RestAllert = " normal";
                log("Rest: "+ terminRest);
            }
    
     ... Weiterer Code ...
    
    }
    

    Seit dem Update mekert JavaScript aber das

    script.js.common.Muellkalender: TypeError: Cannot read property 'includes' of undefined
    javascript.0 (27876) at updateMuellTermine (script.js.common.Muellkalender:55:26)
    

    und das ist genau die Zeile s.O.

    if (termin.event.includes("Restmüll") && terminRest == "") {
    

    Könnt ihr mir sagen warum er das auf einmal nicht mehr erkennt oder warum termin.event.includes nicht mehr funktioniert? In der Variablen termin, steht jetzt auch nur noch das erste Zeichen von termine, also "[" drinne. Ich vermute Javascript erkennt die Objektstruktur in Java nicht mehr (oder wie man das nennt) und interpretiert das jetzt als String und gibt mit dem Befehl halt das erste Zeichen aus.

    Hat jemand ein Tipp für mich? Bisher hat der Code immer funktioniert.

    Vielen Dank,

    Artur

    OliverIOO Offline
    OliverIOO Offline
    OliverIO
    schrieb am zuletzt editiert von
    #3

    @loxdus sagte in Javascript: Zugriff auf Unterelement funktioniert nicht mehr:

    Hallo,

    habe heute so einige Adapter aktualisiert und jetzt funktioniert ein script nicht mehr das auf die Daten aus ical (Google Kalender) zugreift. Vielleicht habt ihr einen Tip für mich:

    Ich lese mit

    var termine = getState("ical.0.data.table").val;
    

    in termine die aktuellen termine ein. Da steht dann genau das hier drin:

     [{"date":"05.08.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ical_today","_date":"2021-08-04T22:00:00.000Z","_end":"2021-08-05T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023933@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"11.08.2021 ","event":"DUS Altpapier Teilservice (Tonne)","_class":"ical_Muellabfuhr ical_6days","_date":"2021-08-10T22:00:00.000Z","_end":"2021-08-11T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023997@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"12.08.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ical_oneweek","_date":"2021-08-11T22:00:00.000Z","_end":"2021-08-12T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023934@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"18.08.2021 ","event":"DUS Leichtverpackung Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-17T22:00:00.000Z","_end":"2021-08-18T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023971@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"19.08.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-18T22:00:00.000Z","_end":"2021-08-19T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023935@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"25.08.2021 ","event":"DUS Altpapier Teilservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-24T22:00:00.000Z","_end":"2021-08-25T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023998@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"26.08.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-25T22:00:00.000Z","_end":"2021-08-26T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023936@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"01.09.2021 ","event":"DUS Leichtverpackung Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-31T22:00:00.000Z","_end":"2021-09-01T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023972@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"02.09.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-09-01T22:00:00.000Z","_end":"2021-09-02T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023937@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"}]
    

    Jetzt wurde bisher immer mit diesem Code in den Einträgen gesucht:

    for (var i in termine) {
         //   Bio
         //   Restmüll
         //   Papier
         //   Gelbe
            
            var termin = termine[i];
    
            // suchen nach dem nächsten Termin der "Restmüll" enthält.
            log("###");
            // console.log(termin.event); // Debugging für Inhalt im Event Text
            // console.log(termin.date); // Debugging Inhalt Date
    
            if (termin.event.includes("Restmüll") && terminRest == "") {
                terminRest = convertToEngDate(termin.date);
                DDRest = dateDiff(terminRest);
                if(DDRest<=1)
                    RestAllert = " alert";
                else
                    RestAllert = " normal";
                log("Rest: "+ terminRest);
            }
    
     ... Weiterer Code ...
    
    }
    

    Seit dem Update mekert JavaScript aber das

    script.js.common.Muellkalender: TypeError: Cannot read property 'includes' of undefined
    javascript.0 (27876) at updateMuellTermine (script.js.common.Muellkalender:55:26)
    

    und das ist genau die Zeile s.O.

    if (termin.event.includes("Restmüll") && terminRest == "") {
    

    Könnt ihr mir sagen warum er das auf einmal nicht mehr erkennt oder warum termin.event.includes nicht mehr funktioniert? In der Variablen termin, steht jetzt auch nur noch das erste Zeichen von termine, also "[" drinne. Ich vermute Javascript erkennt die Objektstruktur in Java nicht mehr (oder wie man das nennt) und interpretiert das jetzt als String und gibt mit dem Befehl halt das erste Zeichen aus.

    Hat jemand ein Tipp für mich? Bisher hat der Code immer funktioniert.

    Vielen Dank,

    Artur

    includes ist eine funktion eines arrays.
    bei der fehlermeldung ist die variable termin.event nicht gefüllt (also = undefined), da undefined kein typ ist, erkennt js auch die funktion includes nicht.

    es sieht so aus, das bei dem einlesen des Kalenders ein fehler passiert und er die Daten nicht erkennt. Eigentlich müsste es dann schon vorher einen Fehler gegeben habe.

    Da der Inhalt nach JSON aussieht, müsste diese Zeile dann nicht wie folgt heißen?

    var termine = JSON.parse(getState("ical.0.data.table").val);
    

    Diese macht aus einem JSON-String ein javascript objekt.

    Meine Adapter und Widgets
    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
    Links im Profil

    paul53P L 2 Antworten Letzte Antwort
    0
    • cashC Offline
      cashC Offline
      cash
      Most Active
      schrieb am zuletzt editiert von
      #4

      @loxdus Du hast den ical aktualisiert. Dort gab es lt. Changellog ein Breaking Change. Das heißt Du solltest Dir das mal durchlesen und dann dein Script anpassen. Weiß leider nicht wie genau Du es ändern musst sollte aber mittels google schnell zu finden sein…

      L 1 Antwort Letzte Antwort
      0
      • OliverIOO OliverIO

        @loxdus sagte in Javascript: Zugriff auf Unterelement funktioniert nicht mehr:

        Hallo,

        habe heute so einige Adapter aktualisiert und jetzt funktioniert ein script nicht mehr das auf die Daten aus ical (Google Kalender) zugreift. Vielleicht habt ihr einen Tip für mich:

        Ich lese mit

        var termine = getState("ical.0.data.table").val;
        

        in termine die aktuellen termine ein. Da steht dann genau das hier drin:

         [{"date":"05.08.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ical_today","_date":"2021-08-04T22:00:00.000Z","_end":"2021-08-05T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023933@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"11.08.2021 ","event":"DUS Altpapier Teilservice (Tonne)","_class":"ical_Muellabfuhr ical_6days","_date":"2021-08-10T22:00:00.000Z","_end":"2021-08-11T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023997@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"12.08.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ical_oneweek","_date":"2021-08-11T22:00:00.000Z","_end":"2021-08-12T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023934@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"18.08.2021 ","event":"DUS Leichtverpackung Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-17T22:00:00.000Z","_end":"2021-08-18T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023971@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"19.08.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-18T22:00:00.000Z","_end":"2021-08-19T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023935@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"25.08.2021 ","event":"DUS Altpapier Teilservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-24T22:00:00.000Z","_end":"2021-08-25T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023998@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"26.08.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-25T22:00:00.000Z","_end":"2021-08-26T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023936@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"01.09.2021 ","event":"DUS Leichtverpackung Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-31T22:00:00.000Z","_end":"2021-09-01T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023972@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"02.09.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-09-01T22:00:00.000Z","_end":"2021-09-02T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023937@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"}]
        

        Jetzt wurde bisher immer mit diesem Code in den Einträgen gesucht:

        for (var i in termine) {
             //   Bio
             //   Restmüll
             //   Papier
             //   Gelbe
                
                var termin = termine[i];
        
                // suchen nach dem nächsten Termin der "Restmüll" enthält.
                log("###");
                // console.log(termin.event); // Debugging für Inhalt im Event Text
                // console.log(termin.date); // Debugging Inhalt Date
        
                if (termin.event.includes("Restmüll") && terminRest == "") {
                    terminRest = convertToEngDate(termin.date);
                    DDRest = dateDiff(terminRest);
                    if(DDRest<=1)
                        RestAllert = " alert";
                    else
                        RestAllert = " normal";
                    log("Rest: "+ terminRest);
                }
        
         ... Weiterer Code ...
        
        }
        

        Seit dem Update mekert JavaScript aber das

        script.js.common.Muellkalender: TypeError: Cannot read property 'includes' of undefined
        javascript.0 (27876) at updateMuellTermine (script.js.common.Muellkalender:55:26)
        

        und das ist genau die Zeile s.O.

        if (termin.event.includes("Restmüll") && terminRest == "") {
        

        Könnt ihr mir sagen warum er das auf einmal nicht mehr erkennt oder warum termin.event.includes nicht mehr funktioniert? In der Variablen termin, steht jetzt auch nur noch das erste Zeichen von termine, also "[" drinne. Ich vermute Javascript erkennt die Objektstruktur in Java nicht mehr (oder wie man das nennt) und interpretiert das jetzt als String und gibt mit dem Befehl halt das erste Zeichen aus.

        Hat jemand ein Tipp für mich? Bisher hat der Code immer funktioniert.

        Vielen Dank,

        Artur

        includes ist eine funktion eines arrays.
        bei der fehlermeldung ist die variable termin.event nicht gefüllt (also = undefined), da undefined kein typ ist, erkennt js auch die funktion includes nicht.

        es sieht so aus, das bei dem einlesen des Kalenders ein fehler passiert und er die Daten nicht erkennt. Eigentlich müsste es dann schon vorher einen Fehler gegeben habe.

        Da der Inhalt nach JSON aussieht, müsste diese Zeile dann nicht wie folgt heißen?

        var termine = JSON.parse(getState("ical.0.data.table").val);
        

        Diese macht aus einem JSON-String ein javascript objekt.

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

        @oliverio sagte: Diese macht aus einem JSON-String ein javascript objekt.

        Wenn common.type = "array" ist, macht das ab Version 5.2.0 schon der Javascript-Adapter.

        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

        L 1 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

          @loxdus sagte in Javascript: Zugriff auf Unterelement funktioniert nicht mehr:

          Hallo,

          habe heute so einige Adapter aktualisiert und jetzt funktioniert ein script nicht mehr das auf die Daten aus ical (Google Kalender) zugreift. Vielleicht habt ihr einen Tip für mich:

          Ich lese mit

          var termine = getState("ical.0.data.table").val;
          

          in termine die aktuellen termine ein. Da steht dann genau das hier drin:

           [{"date":"05.08.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ical_today","_date":"2021-08-04T22:00:00.000Z","_end":"2021-08-05T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023933@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"11.08.2021 ","event":"DUS Altpapier Teilservice (Tonne)","_class":"ical_Muellabfuhr ical_6days","_date":"2021-08-10T22:00:00.000Z","_end":"2021-08-11T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023997@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"12.08.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ical_oneweek","_date":"2021-08-11T22:00:00.000Z","_end":"2021-08-12T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023934@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"18.08.2021 ","event":"DUS Leichtverpackung Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-17T22:00:00.000Z","_end":"2021-08-18T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023971@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"19.08.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-18T22:00:00.000Z","_end":"2021-08-19T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023935@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"25.08.2021 ","event":"DUS Altpapier Teilservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-24T22:00:00.000Z","_end":"2021-08-25T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023998@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"26.08.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-25T22:00:00.000Z","_end":"2021-08-26T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023936@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"01.09.2021 ","event":"DUS Leichtverpackung Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-08-31T22:00:00.000Z","_end":"2021-09-01T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023972@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"},{"date":"02.09.2021 ","event":"DUS Restmüll Vollservice (Tonne)","_class":"ical_Muellabfuhr ","_date":"2021-09-01T22:00:00.000Z","_end":"2021-09-02T22:00:00.000Z","_section":"AWISTA\nGesellschaft für Abfallwirtschaft\nund Stadtreinigung mbH\n \nHöherweg 100\n40233 Düsseldorf","_IDID":"160871023937@muellmax.de","_allDay":true,"_private":false,"_rule":" ","location":"Meine Stadt, Meine Adresse","_calName":"Muellabfuhr","_calColor":"#000000"}]
          

          Jetzt wurde bisher immer mit diesem Code in den Einträgen gesucht:

          for (var i in termine) {
               //   Bio
               //   Restmüll
               //   Papier
               //   Gelbe
                  
                  var termin = termine[i];
          
                  // suchen nach dem nächsten Termin der "Restmüll" enthält.
                  log("###");
                  // console.log(termin.event); // Debugging für Inhalt im Event Text
                  // console.log(termin.date); // Debugging Inhalt Date
          
                  if (termin.event.includes("Restmüll") && terminRest == "") {
                      terminRest = convertToEngDate(termin.date);
                      DDRest = dateDiff(terminRest);
                      if(DDRest<=1)
                          RestAllert = " alert";
                      else
                          RestAllert = " normal";
                      log("Rest: "+ terminRest);
                  }
          
           ... Weiterer Code ...
          
          }
          

          Seit dem Update mekert JavaScript aber das

          script.js.common.Muellkalender: TypeError: Cannot read property 'includes' of undefined
          javascript.0 (27876) at updateMuellTermine (script.js.common.Muellkalender:55:26)
          

          und das ist genau die Zeile s.O.

          if (termin.event.includes("Restmüll") && terminRest == "") {
          

          Könnt ihr mir sagen warum er das auf einmal nicht mehr erkennt oder warum termin.event.includes nicht mehr funktioniert? In der Variablen termin, steht jetzt auch nur noch das erste Zeichen von termine, also "[" drinne. Ich vermute Javascript erkennt die Objektstruktur in Java nicht mehr (oder wie man das nennt) und interpretiert das jetzt als String und gibt mit dem Befehl halt das erste Zeichen aus.

          Hat jemand ein Tipp für mich? Bisher hat der Code immer funktioniert.

          Vielen Dank,

          Artur

          includes ist eine funktion eines arrays.
          bei der fehlermeldung ist die variable termin.event nicht gefüllt (also = undefined), da undefined kein typ ist, erkennt js auch die funktion includes nicht.

          es sieht so aus, das bei dem einlesen des Kalenders ein fehler passiert und er die Daten nicht erkennt. Eigentlich müsste es dann schon vorher einen Fehler gegeben habe.

          Da der Inhalt nach JSON aussieht, müsste diese Zeile dann nicht wie folgt heißen?

          var termine = JSON.parse(getState("ical.0.data.table").val);
          

          Diese macht aus einem JSON-String ein javascript objekt.

          L Offline
          L Offline
          LoxDUS
          schrieb am zuletzt editiert von
          #6

          Da der Inhalt nach JSON aussieht, müsste diese Zeile dann nicht wie folgt heißen?

          var termine = JSON.parse(getState("ical.0.data.table").val);
          

          Diese macht aus einem JSON-String ein javascript objekt.

          Genau das war es!
          Jetzt funktionieren die "Mülldaten" wieder ;-)

          Frage mich nur warum es vorher immer funktioniert hat.

          Viele Grüße,

          Artur

          paul53P 1 Antwort Letzte Antwort
          0
          • cashC cash

            @loxdus Du hast den ical aktualisiert. Dort gab es lt. Changellog ein Breaking Change. Das heißt Du solltest Dir das mal durchlesen und dann dein Script anpassen. Weiß leider nicht wie genau Du es ändern musst sollte aber mittels google schnell zu finden sein…

            L Offline
            L Offline
            LoxDUS
            schrieb am zuletzt editiert von
            #7

            @cash Ja, mit der Antwort von @OliverIO hat es dann geklappt. Durch das Umwandeln in ein javascript Objekt hat es dann funktioniert.

            Danke für Deinen Hinweis.

            Viele Grüße,

            Artur

            1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @oliverio sagte: Diese macht aus einem JSON-String ein javascript objekt.

              Wenn common.type = "array" ist, macht das ab Version 5.2.0 schon der Javascript-Adapter.

              L Offline
              L Offline
              LoxDUS
              schrieb am zuletzt editiert von
              #8

              @paul53 Mit dem Hinweis von @OliverIO hat es geklappt. Der Wert musste in ein javascript Objekt umgewandelt werden.

              Viele Grüße und danke,

              Artur

              1 Antwort Letzte Antwort
              0
              • HomoranH Homoran

                @loxdus sagte in Javascript: Zugriff auf Unterelement funktioniert nicht mehr:

                habe heute so einige Adapter aktualisiert

                vielleicht auch ical?
                Welche Version?

                Wie sieht denn da jetzt der Inhalt des DPs aus?
                und wie bisher?

                L Offline
                L Offline
                LoxDUS
                schrieb am zuletzt editiert von
                #9

                Hallo @homoran, ich weiß leider nicht wie der Inhalt des DP vorher aussah, ist schon zu lange her das ich mir den angesehen habe. Aber anscheinend will javascript jetzt ein expliziten Typen haben. Mit dem Hinweis von @OliverIO hats dann funktioniert.

                Vielen Dank,

                Artur

                1 Antwort Letzte Antwort
                0
                • L LoxDUS

                  Da der Inhalt nach JSON aussieht, müsste diese Zeile dann nicht wie folgt heißen?

                  var termine = JSON.parse(getState("ical.0.data.table").val);
                  

                  Diese macht aus einem JSON-String ein javascript objekt.

                  Genau das war es!
                  Jetzt funktionieren die "Mülldaten" wieder ;-)

                  Frage mich nur warum es vorher immer funktioniert hat.

                  Viele Grüße,

                  Artur

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

                  @loxdus sagte: Jetzt funktionieren die "Mülldaten" wieder

                  Welche Version des Javascript-Adapters verwendest Du?

                  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

                  L 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @loxdus sagte: Jetzt funktionieren die "Mülldaten" wieder

                    Welche Version des Javascript-Adapters verwendest Du?

                    L Offline
                    L Offline
                    LoxDUS
                    schrieb am zuletzt editiert von
                    #11

                    @paul53 Ich verwende altuell die Version 5.1.3. Habe eben gesehen das es schon wieder eine neue Version gibt. Werde die später mal nehmen.

                    40b6a9dd-8bfb-440d-9d23-9dbdba06697c-image.png

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • L LoxDUS

                      @paul53 Ich verwende altuell die Version 5.1.3. Habe eben gesehen das es schon wieder eine neue Version gibt. Werde die später mal nehmen.

                      40b6a9dd-8bfb-440d-9d23-9dbdba06697c-image.png

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

                      @loxdus sagte: Habe eben gesehen das es schon wieder eine neue Version gibt.

                      Mit dieser Version muss das wieder rückgängig gemacht werden:

                      @loxdus sagte in [gelöst] Javascript: Zugriff auf Unterelem. funktion. nicht:

                      Der Wert musste in ein javascript Objekt umgewandelt werden.

                      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
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      376

                      Online

                      32.6k

                      Benutzer

                      82.1k

                      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