Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Merkwürdige javascriptfehler und abstürze

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Merkwürdige javascriptfehler und abstürze

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      RappiRN Most Active last edited by

      Dann solltest du mal deine Version des Skriptes hier zeigen, bitte in Codetags oder, wenn es zu groß sein sollte, als Textdatei.

      Enrico

      Edit: Da steht was von events.88, fragst du deine Müllabfuhr über 80 Tage in der Zukunft ab?

      1 Reply Last reply Reply Quote 0
      • M
        meisterlemon last edited by

        Die V2 script version ist die:

        // Skript basiered auf JoJ123's Müllskript und Pix' Regenskript
        // v 0.1, tempestas 21.12.2018
        // Voraussetzung: ical 1.7
        
        // Anleitung: 
        /*
        
        1) im ical Adapter die Ereignisse definieren, die gesucht werden sollen (z.B. Restabfall)
        
        2) const PFAD auf euren ical Adapter anpassen (0, oder 1, zwei...)
        
        3) im Bereich EINTRAEGE vor den Doppelpunkten die Ereignisse analog des ical Ereginis eintragen. 
        ACHTUNG: ES DÜRFEN HIER KEINE FREIZEICHEN GENUTZT WERDEN; ICAL MACHT AUS "Gelber Sack" ALS EREIGNIS DATENPUNKT "GelberSack"
        daher muss hier dann "GelberSack" eingetragen werden
        
        hinter den Doppelpunkten wird der Pfad angegeben, in dem die Datenpunkte für die Tage bis zum jeweiligen Müll gespeichert werden.
        Davor wird dann noch die Javascript Instanz gesetzt, in der ihr das Skript startet.
        Gesamtpfad dann also z.B. "javascript.0.muell.restmuell" 
        
        Hinweis: das Skript kann für alle Arten von Events genutzt werden, daher hier auf dne Begriff "Muell" verzichtet.
        
        */
        
        debug = true;
        
        const PFAD = "ical.4.events.";
        const EINTRAEGE = {                       
            "Restabfall": 'muell.restmuell',
            "Papierabfall": 'muell.papier',
            "Bioabfall": 'muell.bioabfall',
            "GelberSack": 'muell.gelbersack'
        };
        
        //States anlegen
        
        Object.keys(EINTRAEGE).forEach(key => {
            createState(EINTRAEGE[key], -1);
            if (debug) log("State "+EINTRAEGE[key] +" angelegt");
        });
        
        createState("muell.next");  // state, in den der kleinste Wert geschrieben wird, falls man z.B. auf einer Hauptübersicht immer nur den Wert bis zum nächsten Event (egal welches) sehen möchte)
        var idNext = "muell.next";
        
        function check() {
        
            var i;
            var min =90;  // maximale Vorschau der Tage im ical ist 90, von dort aus suchen wir den kleinsten Wert
        
            Object.keys(EINTRAEGE).forEach(eintrag => {
        
                // erst prüfen, ob event heute vorliegt
        
                if ( getState(PFAD + 0 +".today." + eintrag).val === true) {   // Pfad weicht von den anderen Tagen ab!
                setState(EINTRAEGE[eintrag], 0);
                min = 0;
                if(debug) log(eintrag + " wird heute abgeholt");
                }
        
                // falls nicht, weiter schauen, wann es kommt
        
                else {
        
                    for (i=1 ; i<90;i++) {                       // heute (0) wird separat geprüft, da dort ein andere Pfad zum Tragen kommt; max 90 Tage Vorschau 
                        if ( getState(PFAD + i +"." + eintrag).val === true) {
                        setState(EINTRAEGE[eintrag], i);
                        if (i < min) min = i;
                        if(debug) log(eintrag + " in "+i +" Tagen");
                        break;              // beim ersten gefundenen Eitnrag wird unterbrochen, da ja der nächste Termin gesucht wird
                        }
        
                    }   
                }    
            });
        
            // kleinsten Wert in next - State schreiben
        
            if(debug) log("Der nächste Müll ist in "+min +" Tagen");
            setState(idNext, min);
        
        }
        
        // Bei Start
        
        setTimeout(check, 5000);   // 5 Sekunde warten, um beim erstmaligen Start Fehler zu vermeiden, die aus nicht existierenden States resultieren
        
        // Zeitplan
        schedule('00 1 * * *', () => check() );   // Täglich 1.00h   
        

        Ich habe es auf 90 Tage eingetragen ja, und da ist auch der Fehler, die Zahl zeigt im gelben Tonnen Bereich und papiertonne auch nicht an.

        Ical version ist das neueste drauf

        1 Reply Last reply Reply Quote 0
        • R
          RappiRN Most Active last edited by

          Ich bin leider der Javaskript-Sprache nicht mächtig, vielleicht zeigst du noch die ical-Einstellungen, dann sind hier schonmal die wichtigsten Infos zu deinem Problem zusammen. Sind denn die Fehler weg, wenn dieses Skript deaktiviert ist?

          Enrico

          1 Reply Last reply Reply Quote 0
          • M
            meisterlemon last edited by

            Im Ical sind diese Einstellungen vorhanden:

            5310_bildschirmfoto_2019-01-01_um_22.33.55.png

            1 Reply Last reply Reply Quote 0
            • R
              RappiRN Most Active last edited by

              Hast du im ical-Adapter auch 90 Tage eingestellt?

              Enrico

              1 Reply Last reply Reply Quote 0
              • M
                meisterlemon last edited by

                Ja, egal ob ich es auf 30 Tage runterschraube oder wieder auf 90, keine Änderung

                1 Reply Last reply Reply Quote 0
                • R
                  RappiRN Most Active last edited by

                  Und du hast auch 4 Instanzen von ical am Laufen?

                  Im zweiten Bild steht z.B. getstate"ical.4.events.89.GelberSack"not found, also Objekt nicht gefunden, hast du denn solch ein Objekt?

                  Enrico

                  1 Reply Last reply Reply Quote 0
                  • M
                    meisterlemon last edited by

                    ja das ist auch alles genauso wie es da steht ja

                    1 Reply Last reply Reply Quote 0
                    • wendy2702
                      wendy2702 last edited by

                      Hast du die Frage von Enrico richtig verstanden?

                      Hast du eine ICAL instanz mit der Nr. 4 installiert und laufen?

                      Also so wie hier mit ".4" :

                      999_ical.jpg

                      Poste doch mal einen Screenshot der Instanzübersicht.

                      1 Reply Last reply Reply Quote 0
                      • M
                        meisterlemon last edited by

                        Und ja hab ich :
                        5310_bildschirmfoto_2019-01-02_um_17.24.07.png

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        782
                        Online

                        31.6k
                        Users

                        79.5k
                        Topics

                        1.3m
                        Posts

                        3
                        11
                        568
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo