Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Abfallkalender Farbe ändern

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Abfallkalender Farbe ändern

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      Gre4t0ne last edited by

      Bein Abfallkalender wird im Skript bei Farbe z.B.: Color = 2016 angegeben oder Color = 33840.

      Was ist das für eine Codierung? Wie finde ich da raus welche Nummer welche Farbe ist?

      bahnuhr 1 Reply Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active @Gre4t0ne last edited by

        @gre4t0ne

        Na, das sind ja wieder sehr viele Angaben.

        welches Script ?

        Ansonsten; dies müsste die #-Nr. für die Farben sein.
        Einfach ersichtlich in vis bei color.
        ffc28329-c249-48d0-903f-4e119771ef0c-image.png

        G 1 Reply Last reply Reply Quote 0
        • G
          Gre4t0ne @bahnuhr last edited by

          @bahnuhr Das NS Panel Abfallkalender Skript
          Aber das kann ja kein Hex Code sein - Schwarz wäre ja da nicht 33840
          Der besteht ja norm. aus Zahlen und Buchstaben...

          var i, Muell_JSON, Event2, Color;
           
          function subsequenceFromStartLast(sequence, at1) {
           var start = at1;
           var end = sequence.length - 1 + 1;
           return sequence.slice(start, end);
          }
           
           
          on({id: 'ical.0.data.table', change: "ne"}, async function (obj) {
           var value = obj.state.val;
           var oldValue = obj.oldState.val;
           for (i = 0; i <= 2; i++) {
             Muell_JSON = getState("ical.0.data.table").val;
             setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
             Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), 0);
             setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
             
              if (Event2 == 'Restmüll') { Color = 33840;}
               else if (Event2 == 'Papier') { Color = 2016;} 
               else if (Event2 == 'Gelber Sack') { Color = 31;} 
          
             setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
           }
          });
          
          G 1 Reply Last reply Reply Quote 0
          • G
            Gre4t0ne @Gre4t0ne last edited by

            Ich habe es https://nodtem66.github.io/nextion-hmi-color-convert/index.html

            RGB565 ist das... mit dem das Nextion-Display arbeitet.

            bahnuhr 1 Reply Last reply Reply Quote 0
            • bahnuhr
              bahnuhr Forum Testing Most Active @Gre4t0ne last edited by

              @gre4t0ne

              Was machst du denn mit dem nextion.
              Hab auch noch so ein Teil hier rumliegen.

              1 Reply Last reply Reply Quote 0
              • A
                australien last edited by

                Seit dem letzten Update des JavaScript Adapters werden die Farben nicht mehr beschieben.
                Es wird immer nur die Farbe 0, wie beim init vergeben.

                Ich hatte keine Veränderung im Script durchgeführt, wurde da die Syntax geändert.

                Vielleicht kann da einmal wer drüber schauen. 😉

                const idAbfalliCal = 'ical.0'; // iCal Instanz zum Abfallkalender
                const idZeichenLoeschen = 0; // x Zeichen links vom String abziehen, wenn vor dem Eventname noch Text steht z.B. Strassenname; Standard = 0
                const idRestmuellName ='Restabfallbehälter'; // Schwarze Tonne
                const idWertstoffName = 'Leichtverpackungen'; // Gelbe Tonne / Sack
                const idPappePapierName = 'Papierbehälter';  // Rote Tonne
                const idBioabfaelleName = 'Biomüll'; // Braune Tonne
                 
                 
                var i, Muell_JSON, Event2, Color = 0;
                 
                for (i = 1; i <= 4; i++) {
                    if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.date')) {
                        log(i + '.date nicht vorhanden, wurde erstellt');
                        createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.date', '',
                            {
                                name: parseFloat(i) + '.date',
                                role: 'state',
                                type: 'string',
                                read: true,
                                write: true,
                                def: ''
                            });
                    };
                    if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.event')) {
                        log(i + '.event nicht vorhanden, wurde erstellt');
                        createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.event', '',
                            {
                                name: parseFloat(i) + '.event',
                                role: 'state',
                                type: 'string',
                                read: true,
                                write: true,
                                def: ''
                            });
                    };
                    if (!existsState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.color')) {
                        log(i + '.color nicht vorhanden, wurde erstellt');
                        createState('0_userdata.0.Abfallkalender.' + parseFloat(i) + '.color', 0,
                            {
                                name: parseFloat(i) + '.color',
                                role: 'state',
                                type: 'number',
                                read: true,
                                write: true,
                                def: 0
                            });
                    };
                }
                 
                function subsequenceFromStartLast(sequence, at1) {
                    var start = at1;
                    var end = sequence.length;
                    return sequence.slice(start, end);
                }
                 
                on({ id: idAbfalliCal + '.data.table', change: "ne" }, async function () {
                 
                    for (i = 0; i <= 3; i++) {
                        Muell_JSON = getState(idAbfalliCal + '.data.table').val;
                        setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                        Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), idZeichenLoeschen);
                        setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                        if (Event2 == idRestmuellName) {
                            Color = 33840;
                        } else if (Event2 == idBioabfaelleName) {
                            Color = 2016;
                        } else if (Event2 == idPappePapierName) {
                            Color = 63488;
                        } else if (Event2 == idWertstoffName) {
                            Color = 65504;
                        }
                        setStateDelayed((['0_userdata.0.Abfallkalender.', parseFloat(i) + 1, '.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                    }
                });
                
                
                1 Reply Last reply Reply Quote 0
                • T
                  TT-Tom last edited by

                  @australien

                  Zieh dir bitte mal aus meinem Github die aktuelle Version. Siehe signat

                  A 1 Reply Last reply Reply Quote 0
                  • A
                    australien @TT-Tom last edited by

                    @tt-tom Danke, hab ich gemacht.
                    Und mit der debug Variante konnte ich den Fehler finden.

                    Bei mir war nach der Müllsorte noch ein unsichtbares SPACE, somit hat die Vergleichsfunktion nach dem Müllnamen nicht funktioniert
                    'Leichtverpackungen ' ist halt nicht 'Leichtverpackungen'

                    Vielleicht gibt es ja noch einen Version 5.0.1 😉

                    T 1 Reply Last reply Reply Quote 0
                    • T
                      TT-Tom @australien last edited by

                      @australien

                      Wenn was fehlt kannst du auf Github mir was hinterlassen, ich sehe es mir dann an.

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      909
                      Online

                      31.9k
                      Users

                      80.2k
                      Topics

                      1.3m
                      Posts

                      4
                      9
                      476
                      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