Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter TrashSchedule

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Test Adapter TrashSchedule

Scheduled Pinned Locked Moved Tester
adaptercalendaricalkalendermülltrash
1.4k Posts 186 Posters 534.1k Views 171 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    KaosKatte
    wrote on last edited by KaosKatte
    #1240

    Servus,
    habe den Trash-Adapter seit 2 Tagen installiert und bin grundsätzlich begeistert. Jetzt habe ich allerdings ein Problem, das ich überhaupt nicht verstehe (diesen Thread habe ich überflogen, die Problemstellung so allerdings noch nicht gesehen).
    Ich habe ein Skript erstellt, das mir Nachrichten per Signal und E-Mail schickt, wenn eine oder mehrere nächste Leerungen in 1 Tag anstehen. Danach wird noch geprüft, ob es eine oder mehrere Folgeleerungen in 2 Tagen gibt. Grundsätzlich haute das gestern auch gut hin, jedoch werden heute die Daten irgendwie falsch gelesen bzw. nicht richtig aktualisiert
    .
    Kurz auf den Punkt gebracht: in der Objektliste steht korrekt für die Folgeleerung am 22.9.:
    trashschedule.0.nextAfter.daysLeft = 8 (days)

    Meine Abfrage in einem Testscript besteht nur aus einer Zeile:
    console.log (getState('trashschedule.0.nextAfter.daysLeft').val);
    Das Ergebnis ist: 2 .

    Wie kann das sein?
    Das war gestern der richtige Wert, aber heute steht schon längst korrekterweise eine 8 in der Objektansicht.

    Dasselbe Problem hatte ich zunächst mit der nächsten Leerung unter
    trashschedule.0.next.daysLeft,
    hat sich aber irgendwie zwischenzeitlich korrigiert.

    Hat jemand eine Idee? Mein RasPi2 ist ja schon manchmal leistungsmäßig an der Grenze, hängt sich auch gerne mal auf, aber diese Fehlinterpretation schiebe ich nicht auf die Hardware.
    ical-Adapter verhält sich unverdächtig (zieht Termine 28 Tage im voraus und 7 Tage hinterher).

    Gruß aus Bayern vom Karsten

    NACHTRAG: hat sich erledigt. Jetzt werden korrekt 8 Tage angezeigt. Ich weiß zwar nicht wieso, aber gut ist's erst einmal.

    haus-automatisierungH 1 Reply Last reply
    0
    • K KaosKatte

      Servus,
      habe den Trash-Adapter seit 2 Tagen installiert und bin grundsätzlich begeistert. Jetzt habe ich allerdings ein Problem, das ich überhaupt nicht verstehe (diesen Thread habe ich überflogen, die Problemstellung so allerdings noch nicht gesehen).
      Ich habe ein Skript erstellt, das mir Nachrichten per Signal und E-Mail schickt, wenn eine oder mehrere nächste Leerungen in 1 Tag anstehen. Danach wird noch geprüft, ob es eine oder mehrere Folgeleerungen in 2 Tagen gibt. Grundsätzlich haute das gestern auch gut hin, jedoch werden heute die Daten irgendwie falsch gelesen bzw. nicht richtig aktualisiert
      .
      Kurz auf den Punkt gebracht: in der Objektliste steht korrekt für die Folgeleerung am 22.9.:
      trashschedule.0.nextAfter.daysLeft = 8 (days)

      Meine Abfrage in einem Testscript besteht nur aus einer Zeile:
      console.log (getState('trashschedule.0.nextAfter.daysLeft').val);
      Das Ergebnis ist: 2 .

      Wie kann das sein?
      Das war gestern der richtige Wert, aber heute steht schon längst korrekterweise eine 8 in der Objektansicht.

      Dasselbe Problem hatte ich zunächst mit der nächsten Leerung unter
      trashschedule.0.next.daysLeft,
      hat sich aber irgendwie zwischenzeitlich korrigiert.

      Hat jemand eine Idee? Mein RasPi2 ist ja schon manchmal leistungsmäßig an der Grenze, hängt sich auch gerne mal auf, aber diese Fehlinterpretation schiebe ich nicht auf die Hardware.
      ical-Adapter verhält sich unverdächtig (zieht Termine 28 Tage im voraus und 7 Tage hinterher).

      Gruß aus Bayern vom Karsten

      NACHTRAG: hat sich erledigt. Jetzt werden korrekt 8 Tage angezeigt. Ich weiß zwar nicht wieso, aber gut ist's erst einmal.

      haus-automatisierungH Online
      haus-automatisierungH Online
      haus-automatisierung
      Developer Most Active
      wrote on last edited by
      #1241

      @kaoskatte sagte in Test Adapter TrashSchedule:

      Hat jemand eine Idee?

      Soweit ich weiß speichert der JavaScript Adapter nochmal alle/einige States in einem eigenen Cache, Eventuell ist da wegen knappen Ressourcen etwas auseinander gelaufen. Schwer zu sagen im Nachhinein.

      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
      📚 Meine inoffizielle ioBroker Dokumentation

      K 1 Reply Last reply
      0
      • haus-automatisierungH haus-automatisierung

        @kaoskatte sagte in Test Adapter TrashSchedule:

        Hat jemand eine Idee?

        Soweit ich weiß speichert der JavaScript Adapter nochmal alle/einige States in einem eigenen Cache, Eventuell ist da wegen knappen Ressourcen etwas auseinander gelaufen. Schwer zu sagen im Nachhinein.

        K Offline
        K Offline
        KaosKatte
        wrote on last edited by
        #1242

        @haus-automatisierung So etwas ähnliches dachte ich mir auch. Zwischenzeitlich gab es diverse Neustarts (Skript, Adapter, ioBroker, ganzes System), die diese veralteten Daten nicht beseitigten. Ich werde weiter forschen, wenn das morgen wieder von vorne losgeht.

        1 Reply Last reply
        0
        • J Offline
          J Offline
          jensven
          wrote on last edited by
          #1243

          Hi
          habe den Adapter am laufen und läuft an für sich auch.
          Ich habe

          Graue Tonne
          Gelber Sack
          Grüne Tonne

          komischerweise sagt er mir

          no events matches type "Grüne Tonne" with match "Grüne Tonne"
          

          auch mit exact match kommt die meldung.

          "Grüne Tonne" steht genau so im Kalender drinnen.
          Habe weiter oben das gleiche Problem gelesen, da wurde von dir, @haus-automatisierung , empfohlen die Objekte im trashschedule ordner zu löschen.
          Habe ich getan und die Instanz neu gestartet, kommt aber weiterhin die fehlermeldung.

          Thomas BraunT da_WoodyD 2 Replies Last reply
          0
          • J jensven

            Hi
            habe den Adapter am laufen und läuft an für sich auch.
            Ich habe

            Graue Tonne
            Gelber Sack
            Grüne Tonne

            komischerweise sagt er mir

            no events matches type "Grüne Tonne" with match "Grüne Tonne"
            

            auch mit exact match kommt die meldung.

            "Grüne Tonne" steht genau so im Kalender drinnen.
            Habe weiter oben das gleiche Problem gelesen, da wurde von dir, @haus-automatisierung , empfohlen die Objekte im trashschedule ordner zu löschen.
            Habe ich getan und die Instanz neu gestartet, kommt aber weiterhin die fehlermeldung.

            Thomas BraunT Online
            Thomas BraunT Online
            Thomas Braun
            Most Active
            wrote on last edited by
            #1244

            @jensven
            Könnte am Umlaut liegen. Andere Zeichen-Kodierung probieren, wenn das einstellbar ist.

            locale
            

            sagt?

            Linux-Werkzeugkasten:
            https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
            NodeJS Fixer Skript:
            https://forum.iobroker.net/topic/68035/iob-node-fix-skript
            iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

            J 1 Reply Last reply
            0
            • J jensven

              Hi
              habe den Adapter am laufen und läuft an für sich auch.
              Ich habe

              Graue Tonne
              Gelber Sack
              Grüne Tonne

              komischerweise sagt er mir

              no events matches type "Grüne Tonne" with match "Grüne Tonne"
              

              auch mit exact match kommt die meldung.

              "Grüne Tonne" steht genau so im Kalender drinnen.
              Habe weiter oben das gleiche Problem gelesen, da wurde von dir, @haus-automatisierung , empfohlen die Objekte im trashschedule ordner zu löschen.
              Habe ich getan und die Instanz neu gestartet, kommt aber weiterhin die fehlermeldung.

              da_WoodyD Online
              da_WoodyD Online
              da_Woody
              wrote on last edited by
              #1245

              @jensven sagte in Test Adapter TrashSchedule:

              "Grüne Tonne" steht genau so im Kalender drinnen.

              eventuell zu wenige tage im ical?

              gruß vom Woody
              HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

              1 Reply Last reply
              0
              • Thomas BraunT Thomas Braun

                @jensven
                Könnte am Umlaut liegen. Andere Zeichen-Kodierung probieren, wenn das einstellbar ist.

                locale
                

                sagt?

                J Offline
                J Offline
                jensven
                wrote on last edited by
                #1246

                @thomas-braun

                pi@raspberrypi:~ $ locale
                LANG=de_DE.UTF-8
                LANGUAGE=
                LC_CTYPE="de_DE.UTF-8"
                LC_NUMERIC="de_DE.UTF-8"
                LC_TIME="de_DE.UTF-8"
                LC_COLLATE="de_DE.UTF-8"
                LC_MONETARY="de_DE.UTF-8"
                LC_MESSAGES="de_DE.UTF-8"
                LC_PAPER="de_DE.UTF-8"
                LC_NAME="de_DE.UTF-8"
                LC_ADDRESS="de_DE.UTF-8"
                LC_TELEPHONE="de_DE.UTF-8"
                LC_MEASUREMENT="de_DE.UTF-8"
                LC_IDENTIFICATION="de_DE.UTF-8"
                LC_ALL=
                

                @da_woody said in Test Adapter TrashSchedule:

                eventuell zu wenige tage im ical?

                Was meinst du damit? Zu wenige Termine von "Grüne Tonne" im Kalender?
                Falls Ja > Kann nicht sein, der Kalender wurde von der Gemeinde Importiert, sind genug Termine vorhanden.

                da_WoodyD 1 Reply Last reply
                0
                • J jensven

                  @thomas-braun

                  pi@raspberrypi:~ $ locale
                  LANG=de_DE.UTF-8
                  LANGUAGE=
                  LC_CTYPE="de_DE.UTF-8"
                  LC_NUMERIC="de_DE.UTF-8"
                  LC_TIME="de_DE.UTF-8"
                  LC_COLLATE="de_DE.UTF-8"
                  LC_MONETARY="de_DE.UTF-8"
                  LC_MESSAGES="de_DE.UTF-8"
                  LC_PAPER="de_DE.UTF-8"
                  LC_NAME="de_DE.UTF-8"
                  LC_ADDRESS="de_DE.UTF-8"
                  LC_TELEPHONE="de_DE.UTF-8"
                  LC_MEASUREMENT="de_DE.UTF-8"
                  LC_IDENTIFICATION="de_DE.UTF-8"
                  LC_ALL=
                  

                  @da_woody said in Test Adapter TrashSchedule:

                  eventuell zu wenige tage im ical?

                  Was meinst du damit? Zu wenige Termine von "Grüne Tonne" im Kalender?
                  Falls Ja > Kann nicht sein, der Kalender wurde von der Gemeinde Importiert, sind genug Termine vorhanden.

                  da_WoodyD Online
                  da_WoodyD Online
                  da_Woody
                  wrote on last edited by
                  #1247

                  @jensven das ist ja ok! geht um die einstellungen im ical.
                  2624a497-c4a8-4366-bc69-1e8464873aad-grafik.png
                  wenn da vllt der termin zu lange ist, dann knallts.

                  gruß vom Woody
                  HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                  J 1 Reply Last reply
                  1
                  • da_WoodyD da_Woody

                    @jensven das ist ja ok! geht um die einstellungen im ical.
                    2624a497-c4a8-4366-bc69-1e8464873aad-grafik.png
                    wenn da vllt der termin zu lange ist, dann knallts.

                    J Offline
                    J Offline
                    jensven
                    wrote on last edited by
                    #1248

                    @da_woody said in Test Adapter TrashSchedule:

                    @jensven das ist ja ok! geht um die einstellungen im ical.
                    2624a497-c4a8-4366-bc69-1e8464873aad-grafik.png
                    wenn da vllt der termin zu lange ist, dann knallts.

                    Das wars. Da habe ich nicht einmal drauf geschaut :man-facepalming:
                    Danke dir :+1:

                    da_WoodyD 1 Reply Last reply
                    0
                    • J jensven

                      @da_woody said in Test Adapter TrashSchedule:

                      @jensven das ist ja ok! geht um die einstellungen im ical.
                      2624a497-c4a8-4366-bc69-1e8464873aad-grafik.png
                      wenn da vllt der termin zu lange ist, dann knallts.

                      Das wars. Da habe ich nicht einmal drauf geschaut :man-facepalming:
                      Danke dir :+1:

                      da_WoodyD Online
                      da_WoodyD Online
                      da_Woody
                      wrote on last edited by
                      #1249

                      @jensven :D gefällt mich! (ösi ansage, eigener humor)
                      freut mich, dir geholfen zu haben tun am sein... ;)

                      gruß vom Woody
                      HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                      1 Reply Last reply
                      0
                      • SBorgS SBorg

                        @haus-automatisierung Genau die die 24,- € kosten... :joy:

                        Ich habe obigen NodeRED-Flow noch ein wenig gepimpt:
                        Bild 1.png
                        So ist man nun völlig frei in der Anzahl der Trashsorten, auch beliebig viele Events pro Tag sind so möglich.
                        Bild 2.png
                        Anstelle des Templates könnte man sich natürlich auch eine vorher zusammengebaute HTML-(Tabelle) per text-Node anzeigen lassen.
                        In der funktions-Node "Zuordnungen" erfolgt dann ganz oben die Zuweisung von Kalenderbezeichnung, Bezeichnung im Dashboard und die Farbzuweisung. Sollte selbsterklärend sein ;)

                        let Trash = [{ "ical": "Sack",       "Name": "Gelber Sack",     "Farbe": "yellow"  },
                                     { "ical": "Papier",     "Name": "Papiertonne",     "Farbe": "blue"    },
                                     { "ical": "Bio",        "Name": "Biotonne",        "Farbe": "#00ff00" },
                                     { "ical": "Müll",       "Name": "Mülltonne",       "Farbe": "black"   },
                                     { "ical": "Schadstoff", "Name": "Schadstoffmobil", "Farbe": "orange"  }];
                        
                        
                        ? Offline
                        ? Offline
                        A Former User
                        wrote on last edited by A Former User
                        #1250

                        @sborg Ist zwar schon ne Weile her aber könntest du mir den Flow zur Verfügung stellen? Bin nicht ganz so fit in Node Red um mir das selbst zusammenzubasteln...Danke!

                        f47c1fe7-c701-490b-8276-37bad2d473d2-image.png

                        SBorgS 1 Reply Last reply
                        0
                        • ? A Former User

                          @sborg Ist zwar schon ne Weile her aber könntest du mir den Flow zur Verfügung stellen? Bin nicht ganz so fit in Node Red um mir das selbst zusammenzubasteln...Danke!

                          f47c1fe7-c701-490b-8276-37bad2d473d2-image.png

                          SBorgS Offline
                          SBorgS Offline
                          SBorg
                          Forum Testing Most Active
                          wrote on last edited by
                          #1251

                          @noah3112 Logisch :)
                          Bild 001.png


                          [
                          {
                          "id": "98b0e1d0468f771d",
                          "type": "tab",
                          "label": "Trash",
                          "disabled": false,
                          "info": "",
                          "env": []
                          },
                          {
                          "id": "07fd153d2d8a948f",
                          "type": "ioBroker in",
                          "z": "98b0e1d0468f771d",
                          "name": "Nächste Leerung",
                          "topic": "trashschedule.0.next.dateFormat",
                          "payloadType": "value",
                          "onlyack": "update",
                          "func": "all",
                          "gap": "",
                          "fireOnStart": "true",
                          "x": 120,
                          "y": 100,
                          "wires": [
                          [
                          "61f404b6c5a8e42a"
                          ]
                          ]
                          },
                          {
                          "id": "236c3f232abaf316",
                          "type": "ioBroker in",
                          "z": "98b0e1d0468f771d",
                          "name": "Nächste Leerung Typ",
                          "topic": "trashschedule.0.next.typesText",
                          "payloadType": "value",
                          "onlyack": true,
                          "func": "all",
                          "gap": "",
                          "fireOnStart": "true",
                          "x": 140,
                          "y": 160,
                          "wires": [
                          [
                          "6116e8118cb79333"
                          ]
                          ]
                          },
                          {
                          "id": "edaebd5a59672257",
                          "type": "ioBroker in",
                          "z": "98b0e1d0468f771d",
                          "name": "danach Leerung",
                          "topic": "trashschedule.0.nextAfter.dateFormat",
                          "payloadType": "value",
                          "onlyack": true,
                          "func": "all",
                          "gap": "",
                          "fireOnStart": "true",
                          "x": 120,
                          "y": 220,
                          "wires": [
                          [
                          "d690a95ed606fa04"
                          ]
                          ]
                          },
                          {
                          "id": "1976d92b6613e225",
                          "type": "ioBroker in",
                          "z": "98b0e1d0468f771d",
                          "name": "danach Typ",
                          "topic": "trashschedule.0.nextAfter.typesText",
                          "payloadType": "value",
                          "onlyack": "update",
                          "func": "all",
                          "gap": "",
                          "fireOnStart": "true",
                          "x": 110,
                          "y": 280,
                          "wires": [
                          [
                          "8b7d9b71479d6ab0"
                          ]
                          ]
                          },
                          {
                          "id": "956ccc37aa28fd4a",
                          "type": "ui_template",
                          "z": "98b0e1d0468f771d",
                          "group": "7ceaf9a.8ba7c08",
                          "name": "Abfalltyp",
                          "order": 2,
                          "width": 0,
                          "height": 0,
                          "format": "",
                          "storeOutMessages": true,
                          "fwdInMessages": true,
                          "resendOnRefresh": true,
                          "templateScope": "local",
                          "className": "",
                          "x": 580,
                          "y": 160,
                          "wires": [
                          []
                          ]
                          },
                          {
                          "id": "3a36dc8fae08f48c",
                          "type": "ui_template",
                          "z": "98b0e1d0468f771d",
                          "group": "7ceaf9a.8ba7c08",
                          "name": "danach Abfalltyp",
                          "order": 4,
                          "width": 0,
                          "height": 0,
                          "format": "",
                          "storeOutMessages": true,
                          "fwdInMessages": true,
                          "resendOnRefresh": true,
                          "templateScope": "local",
                          "x": 610,
                          "y": 280,
                          "wires": [
                          []
                          ]
                          },
                          {
                          "id": "01b9a8bb6d240bca",
                          "type": "ui_template",
                          "z": "98b0e1d0468f771d",
                          "group": "7ceaf9a.8ba7c08",
                          "name": "nächste Leerung",
                          "order": 1,
                          "width": 0,
                          "height": 0,
                          "format": "<div layout="row" layout-align="space-between center" style="padding: 0 6px;">\n <p>Nächste Leerung</p>\n <font size="3" color="white">\n <b>{{msg.payload}}</b>\n </font>\n</div>\n",
                          "storeOutMessages": true,
                          "fwdInMessages": true,
                          "resendOnRefresh": true,
                          "templateScope": "local",
                          "className": "",
                          "x": 610,
                          "y": 100,
                          "wires": [
                          []
                          ]
                          },
                          {
                          "id": "d690a95ed606fa04",
                          "type": "ui_template",
                          "z": "98b0e1d0468f771d",
                          "group": "7ceaf9a.8ba7c08",
                          "name": "danach",
                          "order": 3,
                          "width": 0,
                          "height": 0,
                          "format": "<div layout="row" layout-align="space-between center" style="padding: 0 6px;">\n <p>danach</p>\n <font size="3" color="white">\n <b>{{msg.payload}}</b>\n </font>\n</div>",
                          "storeOutMessages": true,
                          "fwdInMessages": true,
                          "resendOnRefresh": true,
                          "templateScope": "local",
                          "x": 580,
                          "y": 220,
                          "wires": [
                          []
                          ]
                          },
                          {
                          "id": "8ed21c9a8bc6c01f",
                          "type": "comment",
                          "z": "98b0e1d0468f771d",
                          "name": "Abfallkalender (Dashboard)",
                          "info": "",
                          "x": 160,
                          "y": 60,
                          "wires": []
                          },
                          {
                          "id": "61f404b6c5a8e42a",
                          "type": "function",
                          "z": "98b0e1d0468f771d",
                          "name": "Heute / Morgen ...",
                          "func": "let Datum=msg.payload.split(".");\nlet Abholung = (new Date(Datum[2],Datum[1]-1,Datum[0],0,0,0).getTime())/1000;\nlet jetzt = new Date();\nlet Heute = (new Date(jetzt.getFullYear(),jetzt.getMonth(),jetzt.getDate(),0,0,0).getTime())/1000;\n\nif (Heute == Abholung) { msg.payload="Heute"; } \n else if (Heute + (186400) == Abholung) { msg.payload="Morgen"; } \n else if (Heute + (286400) == Abholung) { msg.payload="übermorgen"; } \n else { msg.payload="in " + (Abholung-Heute)/86400 + " Tagen"; }\n\nreturn msg;",
                          "outputs": 1,
                          "noerr": 0,
                          "initialize": "",
                          "finalize": "",
                          "libs": [],
                          "x": 370,
                          "y": 100,
                          "wires": [
                          [
                          "01b9a8bb6d240bca"
                          ]
                          ]
                          },
                          {
                          "id": "6116e8118cb79333",
                          "type": "function",
                          "z": "98b0e1d0468f771d",
                          "name": "Zuordnungen",
                          "func": "let Trash = [{ "ical": "Sack", "Name": "Gelber Sack", "Farbe": "yellow" },\n { "ical": "Papier", "Name": "Papiertonne", "Farbe": "blue" },\n { "ical": "Bio", "Name": "Biotonne", "Farbe": "#00ff00" },\n { "ical": "Müll", "Name": "Mülltonne", "Farbe": "black" },\n { "ical": "Mobil", "Name": "Schadstoffmobil", "Farbe": "orange" }];\n\nlet Abfuhr=msg.payload;\nmsg.template="<div layout=\"row\" layout-align=\"space-between center\" style=\"padding: 0 6px;\"><p>was</p>";\nfor(let i=0; i<Trash.length; i++) {\n\n if (Abfuhr.indexOf(Trash[i].ical)>=0) { \n msg.template+="<font size=\"4\" color=\"" + Trash[i].Farbe + "\"><b>" + Trash[i].Name + "</b></font>";\n Abfuhr=Abfuhr.replace(Trash[i].ical, "");\n }\n \n}\nmsg.template+="</div>";\n\nreturn msg;",
                          "outputs": 1,
                          "noerr": 0,
                          "initialize": "",
                          "finalize": "",
                          "libs": [],
                          "x": 360,
                          "y": 160,
                          "wires": [
                          [
                          "956ccc37aa28fd4a"
                          ]
                          ]
                          },
                          {
                          "id": "8b7d9b71479d6ab0",
                          "type": "function",
                          "z": "98b0e1d0468f771d",
                          "name": "Zuordnungen",
                          "func": "\nlet Trash = [{ "ical": "Sack", "Name": "Gelber Sack", "Farbe": "yellow" },\n { "ical": "Papier", "Name": "Papiertonne", "Farbe": "blue" },\n { "ical": "Bio", "Name": "Biotonne", "Farbe": "#00ff00" },\n { "ical": "Müll", "Name": "Mülltonne", "Farbe": "black" },\n { "ical": "Mobil", "Name": "Schadstoffmobil", "Farbe": "orange" }];\n\nlet Abfuhr=msg.payload;\nmsg.template="<div layout=\"row\" layout-align=\"space-between center\" style=\"padding: 0 6px;\"><p>ist dran</p>";\nfor(let i=0; i<Trash.length; i++) {\n\n if (Abfuhr.indexOf(Trash[i].ical)>=0) { \n msg.template+="<font size=\"4\" color=\"" + Trash[i].Farbe + "\"><b>" + Trash[i].Name + "</b></font>";\n Abfuhr=Abfuhr.replace(Trash[i].ical, "");\n }\n \n}\nmsg.template+="</div>";\n\nreturn msg;",
                          "outputs": 1,
                          "noerr": 0,
                          "initialize": "",
                          "finalize": "",
                          "libs": [],
                          "x": 360,
                          "y": 280,
                          "wires": [
                          [
                          "3a36dc8fae08f48c"
                          ]
                          ]
                          },
                          {
                          "id": "7ceaf9a.8ba7c08",
                          "type": "ui_group",
                          "name": "Abfallkalender",
                          "tab": "9081d8f6.325c2",
                          "order": 1,
                          "disp": true,
                          "width": "6",
                          "collapse": false
                          },
                          {
                          "id": "9081d8f6.325c2",
                          "type": "ui_tab",
                          "name": "HAMS",
                          "icon": "store",
                          "order": 1,
                          "disabled": false,
                          "hidden": false
                          }
                          ]

                          Musst dann nur in den beiden Zuordnungen den Anfang konfigurieren:

                          let Trash = [{ "ical": "Sack",   "Name": "Gelber Sack",     "Farbe": "yellow"  },
                                       { "ical": "Papier", "Name": "Papiertonne",     "Farbe": "blue"    },
                                       { "ical": "Bio",    "Name": "Biotonne",        "Farbe": "#00ff00" },
                                       { "ical": "Müll",   "Name": "Mülltonne",       "Farbe": "black"   },
                                       { "ical": "Mobil",  "Name": "Schadstoffmobil", "Farbe": "orange"  }];
                          

                          Sollte relativ selbsterklärend sein, aber ical wie es eben im Kalender steht, Name wie es dann im Dashboard angezeigt werden soll und Farbe als engl. Bezeichnung oder per "#" als RGB- Hexwert.

                          ...und wie man sieht werden auch Mehrfachabfuhren berücksichtigt 8)

                          LG SBorg ( SBorg auf GitHub)
                          Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                          ? 1 Reply Last reply
                          0
                          • SBorgS SBorg

                            @noah3112 Logisch :)
                            Bild 001.png


                            [
                            {
                            "id": "98b0e1d0468f771d",
                            "type": "tab",
                            "label": "Trash",
                            "disabled": false,
                            "info": "",
                            "env": []
                            },
                            {
                            "id": "07fd153d2d8a948f",
                            "type": "ioBroker in",
                            "z": "98b0e1d0468f771d",
                            "name": "Nächste Leerung",
                            "topic": "trashschedule.0.next.dateFormat",
                            "payloadType": "value",
                            "onlyack": "update",
                            "func": "all",
                            "gap": "",
                            "fireOnStart": "true",
                            "x": 120,
                            "y": 100,
                            "wires": [
                            [
                            "61f404b6c5a8e42a"
                            ]
                            ]
                            },
                            {
                            "id": "236c3f232abaf316",
                            "type": "ioBroker in",
                            "z": "98b0e1d0468f771d",
                            "name": "Nächste Leerung Typ",
                            "topic": "trashschedule.0.next.typesText",
                            "payloadType": "value",
                            "onlyack": true,
                            "func": "all",
                            "gap": "",
                            "fireOnStart": "true",
                            "x": 140,
                            "y": 160,
                            "wires": [
                            [
                            "6116e8118cb79333"
                            ]
                            ]
                            },
                            {
                            "id": "edaebd5a59672257",
                            "type": "ioBroker in",
                            "z": "98b0e1d0468f771d",
                            "name": "danach Leerung",
                            "topic": "trashschedule.0.nextAfter.dateFormat",
                            "payloadType": "value",
                            "onlyack": true,
                            "func": "all",
                            "gap": "",
                            "fireOnStart": "true",
                            "x": 120,
                            "y": 220,
                            "wires": [
                            [
                            "d690a95ed606fa04"
                            ]
                            ]
                            },
                            {
                            "id": "1976d92b6613e225",
                            "type": "ioBroker in",
                            "z": "98b0e1d0468f771d",
                            "name": "danach Typ",
                            "topic": "trashschedule.0.nextAfter.typesText",
                            "payloadType": "value",
                            "onlyack": "update",
                            "func": "all",
                            "gap": "",
                            "fireOnStart": "true",
                            "x": 110,
                            "y": 280,
                            "wires": [
                            [
                            "8b7d9b71479d6ab0"
                            ]
                            ]
                            },
                            {
                            "id": "956ccc37aa28fd4a",
                            "type": "ui_template",
                            "z": "98b0e1d0468f771d",
                            "group": "7ceaf9a.8ba7c08",
                            "name": "Abfalltyp",
                            "order": 2,
                            "width": 0,
                            "height": 0,
                            "format": "",
                            "storeOutMessages": true,
                            "fwdInMessages": true,
                            "resendOnRefresh": true,
                            "templateScope": "local",
                            "className": "",
                            "x": 580,
                            "y": 160,
                            "wires": [
                            []
                            ]
                            },
                            {
                            "id": "3a36dc8fae08f48c",
                            "type": "ui_template",
                            "z": "98b0e1d0468f771d",
                            "group": "7ceaf9a.8ba7c08",
                            "name": "danach Abfalltyp",
                            "order": 4,
                            "width": 0,
                            "height": 0,
                            "format": "",
                            "storeOutMessages": true,
                            "fwdInMessages": true,
                            "resendOnRefresh": true,
                            "templateScope": "local",
                            "x": 610,
                            "y": 280,
                            "wires": [
                            []
                            ]
                            },
                            {
                            "id": "01b9a8bb6d240bca",
                            "type": "ui_template",
                            "z": "98b0e1d0468f771d",
                            "group": "7ceaf9a.8ba7c08",
                            "name": "nächste Leerung",
                            "order": 1,
                            "width": 0,
                            "height": 0,
                            "format": "<div layout="row" layout-align="space-between center" style="padding: 0 6px;">\n <p>Nächste Leerung</p>\n <font size="3" color="white">\n <b>{{msg.payload}}</b>\n </font>\n</div>\n",
                            "storeOutMessages": true,
                            "fwdInMessages": true,
                            "resendOnRefresh": true,
                            "templateScope": "local",
                            "className": "",
                            "x": 610,
                            "y": 100,
                            "wires": [
                            []
                            ]
                            },
                            {
                            "id": "d690a95ed606fa04",
                            "type": "ui_template",
                            "z": "98b0e1d0468f771d",
                            "group": "7ceaf9a.8ba7c08",
                            "name": "danach",
                            "order": 3,
                            "width": 0,
                            "height": 0,
                            "format": "<div layout="row" layout-align="space-between center" style="padding: 0 6px;">\n <p>danach</p>\n <font size="3" color="white">\n <b>{{msg.payload}}</b>\n </font>\n</div>",
                            "storeOutMessages": true,
                            "fwdInMessages": true,
                            "resendOnRefresh": true,
                            "templateScope": "local",
                            "x": 580,
                            "y": 220,
                            "wires": [
                            []
                            ]
                            },
                            {
                            "id": "8ed21c9a8bc6c01f",
                            "type": "comment",
                            "z": "98b0e1d0468f771d",
                            "name": "Abfallkalender (Dashboard)",
                            "info": "",
                            "x": 160,
                            "y": 60,
                            "wires": []
                            },
                            {
                            "id": "61f404b6c5a8e42a",
                            "type": "function",
                            "z": "98b0e1d0468f771d",
                            "name": "Heute / Morgen ...",
                            "func": "let Datum=msg.payload.split(".");\nlet Abholung = (new Date(Datum[2],Datum[1]-1,Datum[0],0,0,0).getTime())/1000;\nlet jetzt = new Date();\nlet Heute = (new Date(jetzt.getFullYear(),jetzt.getMonth(),jetzt.getDate(),0,0,0).getTime())/1000;\n\nif (Heute == Abholung) { msg.payload="Heute"; } \n else if (Heute + (186400) == Abholung) { msg.payload="Morgen"; } \n else if (Heute + (286400) == Abholung) { msg.payload="übermorgen"; } \n else { msg.payload="in " + (Abholung-Heute)/86400 + " Tagen"; }\n\nreturn msg;",
                            "outputs": 1,
                            "noerr": 0,
                            "initialize": "",
                            "finalize": "",
                            "libs": [],
                            "x": 370,
                            "y": 100,
                            "wires": [
                            [
                            "01b9a8bb6d240bca"
                            ]
                            ]
                            },
                            {
                            "id": "6116e8118cb79333",
                            "type": "function",
                            "z": "98b0e1d0468f771d",
                            "name": "Zuordnungen",
                            "func": "let Trash = [{ "ical": "Sack", "Name": "Gelber Sack", "Farbe": "yellow" },\n { "ical": "Papier", "Name": "Papiertonne", "Farbe": "blue" },\n { "ical": "Bio", "Name": "Biotonne", "Farbe": "#00ff00" },\n { "ical": "Müll", "Name": "Mülltonne", "Farbe": "black" },\n { "ical": "Mobil", "Name": "Schadstoffmobil", "Farbe": "orange" }];\n\nlet Abfuhr=msg.payload;\nmsg.template="<div layout=\"row\" layout-align=\"space-between center\" style=\"padding: 0 6px;\"><p>was</p>";\nfor(let i=0; i<Trash.length; i++) {\n\n if (Abfuhr.indexOf(Trash[i].ical)>=0) { \n msg.template+="<font size=\"4\" color=\"" + Trash[i].Farbe + "\"><b>" + Trash[i].Name + "</b></font>";\n Abfuhr=Abfuhr.replace(Trash[i].ical, "");\n }\n \n}\nmsg.template+="</div>";\n\nreturn msg;",
                            "outputs": 1,
                            "noerr": 0,
                            "initialize": "",
                            "finalize": "",
                            "libs": [],
                            "x": 360,
                            "y": 160,
                            "wires": [
                            [
                            "956ccc37aa28fd4a"
                            ]
                            ]
                            },
                            {
                            "id": "8b7d9b71479d6ab0",
                            "type": "function",
                            "z": "98b0e1d0468f771d",
                            "name": "Zuordnungen",
                            "func": "\nlet Trash = [{ "ical": "Sack", "Name": "Gelber Sack", "Farbe": "yellow" },\n { "ical": "Papier", "Name": "Papiertonne", "Farbe": "blue" },\n { "ical": "Bio", "Name": "Biotonne", "Farbe": "#00ff00" },\n { "ical": "Müll", "Name": "Mülltonne", "Farbe": "black" },\n { "ical": "Mobil", "Name": "Schadstoffmobil", "Farbe": "orange" }];\n\nlet Abfuhr=msg.payload;\nmsg.template="<div layout=\"row\" layout-align=\"space-between center\" style=\"padding: 0 6px;\"><p>ist dran</p>";\nfor(let i=0; i<Trash.length; i++) {\n\n if (Abfuhr.indexOf(Trash[i].ical)>=0) { \n msg.template+="<font size=\"4\" color=\"" + Trash[i].Farbe + "\"><b>" + Trash[i].Name + "</b></font>";\n Abfuhr=Abfuhr.replace(Trash[i].ical, "");\n }\n \n}\nmsg.template+="</div>";\n\nreturn msg;",
                            "outputs": 1,
                            "noerr": 0,
                            "initialize": "",
                            "finalize": "",
                            "libs": [],
                            "x": 360,
                            "y": 280,
                            "wires": [
                            [
                            "3a36dc8fae08f48c"
                            ]
                            ]
                            },
                            {
                            "id": "7ceaf9a.8ba7c08",
                            "type": "ui_group",
                            "name": "Abfallkalender",
                            "tab": "9081d8f6.325c2",
                            "order": 1,
                            "disp": true,
                            "width": "6",
                            "collapse": false
                            },
                            {
                            "id": "9081d8f6.325c2",
                            "type": "ui_tab",
                            "name": "HAMS",
                            "icon": "store",
                            "order": 1,
                            "disabled": false,
                            "hidden": false
                            }
                            ]

                            Musst dann nur in den beiden Zuordnungen den Anfang konfigurieren:

                            let Trash = [{ "ical": "Sack",   "Name": "Gelber Sack",     "Farbe": "yellow"  },
                                         { "ical": "Papier", "Name": "Papiertonne",     "Farbe": "blue"    },
                                         { "ical": "Bio",    "Name": "Biotonne",        "Farbe": "#00ff00" },
                                         { "ical": "Müll",   "Name": "Mülltonne",       "Farbe": "black"   },
                                         { "ical": "Mobil",  "Name": "Schadstoffmobil", "Farbe": "orange"  }];
                            

                            Sollte relativ selbsterklärend sein, aber ical wie es eben im Kalender steht, Name wie es dann im Dashboard angezeigt werden soll und Farbe als engl. Bezeichnung oder per "#" als RGB- Hexwert.

                            ...und wie man sieht werden auch Mehrfachabfuhren berücksichtigt 8)

                            ? Offline
                            ? Offline
                            A Former User
                            wrote on last edited by
                            #1252

                            @sborg Danke...leider bekomme ich eine Fehlermeldung beim importieren.

                            09c75d23-8b35-4690-a729-6a1f871867b8-image.png

                            SBorgS 1 Reply Last reply
                            0
                            • ? A Former User

                              @sborg Danke...leider bekomme ich eine Fehlermeldung beim importieren.

                              09c75d23-8b35-4690-a729-6a1f871867b8-image.png

                              SBorgS Offline
                              SBorgS Offline
                              SBorg
                              Forum Testing Most Active
                              wrote on last edited by
                              #1253

                              @noah3112 Ev. hat er da mal wieder was "dazu gebastelt"... :(

                              Noch mal direkt aus der Zwischenablage :

                              [
                                 {
                                     "id": "6724d07c.d30ee",
                                     "type": "ioBroker in",
                                     "z": "9935d2ef.9e5928",
                                     "name": "Nächste Leerung",
                                     "topic": "trashschedule.0.next.dateFormat",
                                     "payloadType": "value",
                                     "onlyack": "update",
                                     "func": "all",
                                     "gap": "",
                                     "fireOnStart": "true",
                                     "x": 100,
                                     "y": 80,
                                     "wires": [
                                         [
                                             "51c87098.8ca89"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "54c13585.5b52cc",
                                     "type": "ioBroker in",
                                     "z": "9935d2ef.9e5928",
                                     "name": "Nächste Leerung Typ",
                                     "topic": "trashschedule.0.next.typesText",
                                     "payloadType": "value",
                                     "onlyack": true,
                                     "func": "all",
                                     "gap": "",
                                     "fireOnStart": "true",
                                     "x": 120,
                                     "y": 140,
                                     "wires": [
                                         [
                                             "556903ab.809234"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "31d12d29.1091b2",
                                     "type": "ioBroker in",
                                     "z": "9935d2ef.9e5928",
                                     "name": "danach Leerung",
                                     "topic": "trashschedule.0.nextAfter.dateFormat",
                                     "payloadType": "value",
                                     "onlyack": true,
                                     "func": "all",
                                     "gap": "",
                                     "fireOnStart": "true",
                                     "x": 100,
                                     "y": 200,
                                     "wires": [
                                         [
                                             "c268e0a.ca2e7a"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "1cdf03bd.77738c",
                                     "type": "ioBroker in",
                                     "z": "9935d2ef.9e5928",
                                     "name": "danach Typ",
                                     "topic": "trashschedule.0.nextAfter.typesText",
                                     "payloadType": "value",
                                     "onlyack": "update",
                                     "func": "all",
                                     "gap": "",
                                     "fireOnStart": "true",
                                     "x": 90,
                                     "y": 260,
                                     "wires": [
                                         [
                                             "b43b5da.84f56a"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "9f681fa0.0e3e7",
                                     "type": "ui_template",
                                     "z": "9935d2ef.9e5928",
                                     "group": "7ceaf9a.8ba7c08",
                                     "name": "Abfalltyp",
                                     "order": 2,
                                     "width": 0,
                                     "height": 0,
                                     "format": "",
                                     "storeOutMessages": true,
                                     "fwdInMessages": true,
                                     "resendOnRefresh": true,
                                     "templateScope": "local",
                                     "className": "",
                                     "x": 560,
                                     "y": 140,
                                     "wires": [
                                         []
                                     ]
                                 },
                                 {
                                     "id": "e322ebf0.9756d",
                                     "type": "ui_template",
                                     "z": "9935d2ef.9e5928",
                                     "group": "7ceaf9a.8ba7c08",
                                     "name": "danach Abfalltyp",
                                     "order": 4,
                                     "width": 0,
                                     "height": 0,
                                     "format": "",
                                     "storeOutMessages": true,
                                     "fwdInMessages": true,
                                     "resendOnRefresh": true,
                                     "templateScope": "local",
                                     "x": 590,
                                     "y": 260,
                                     "wires": [
                                         []
                                     ]
                                 },
                                 {
                                     "id": "f65d7dca.63388",
                                     "type": "ui_template",
                                     "z": "9935d2ef.9e5928",
                                     "group": "7ceaf9a.8ba7c08",
                                     "name": "nächste Leerung",
                                     "order": 1,
                                     "width": 0,
                                     "height": 0,
                                     "format": "<div layout=\"row\" layout-align=\"space-between center\" style=\"padding: 0 6px;\">\n  <p>Nächste Leerung</p>\n  <font size=\"3\" color=\"white\">\n    <b>{{msg.payload}}</b>\n  </font>\n</div>\n",
                                     "storeOutMessages": true,
                                     "fwdInMessages": true,
                                     "resendOnRefresh": true,
                                     "templateScope": "local",
                                     "className": "",
                                     "x": 590,
                                     "y": 80,
                                     "wires": [
                                         []
                                     ]
                                 },
                                 {
                                     "id": "c268e0a.ca2e7a",
                                     "type": "ui_template",
                                     "z": "9935d2ef.9e5928",
                                     "group": "7ceaf9a.8ba7c08",
                                     "name": "danach",
                                     "order": 3,
                                     "width": 0,
                                     "height": 0,
                                     "format": "<div layout=\"row\" layout-align=\"space-between center\" style=\"padding: 0 6px;\">\n  <p>danach</p>\n  <font size=\"3\" color=\"white\">\n    <b>{{msg.payload}}</b>\n  </font>\n</div>",
                                     "storeOutMessages": true,
                                     "fwdInMessages": true,
                                     "resendOnRefresh": true,
                                     "templateScope": "local",
                                     "x": 560,
                                     "y": 200,
                                     "wires": [
                                         []
                                     ]
                                 },
                                 {
                                     "id": "aa16944.5d916e8",
                                     "type": "comment",
                                     "z": "9935d2ef.9e5928",
                                     "name": "Abfallkalender (Dashboard)",
                                     "info": "",
                                     "x": 140,
                                     "y": 40,
                                     "wires": []
                                 },
                                 {
                                     "id": "51c87098.8ca89",
                                     "type": "function",
                                     "z": "9935d2ef.9e5928",
                                     "name": "Heute / Morgen ...",
                                     "func": "let Datum=msg.payload.split(\".\");\nlet Abholung = (new Date(Datum[2],Datum[1]-1,Datum[0],0,0,0).getTime())/1000;\nlet jetzt = new Date();\nlet Heute = (new Date(jetzt.getFullYear(),jetzt.getMonth(),jetzt.getDate(),0,0,0).getTime())/1000;\n\nif (Heute == Abholung) { msg.payload=\"Heute\"; } \n else if (Heute + (1*86400) == Abholung) { msg.payload=\"Morgen\"; } \n else if (Heute + (2*86400) == Abholung) { msg.payload=\"Übermorgen\"; } \n else { msg.payload=\"in \" + (Abholung-Heute)/86400 + \" Tagen\"; }\n\nreturn msg;",
                                     "outputs": 1,
                                     "noerr": 0,
                                     "initialize": "",
                                     "finalize": "",
                                     "libs": [],
                                     "x": 350,
                                     "y": 80,
                                     "wires": [
                                         [
                                             "f65d7dca.63388"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "556903ab.809234",
                                     "type": "function",
                                     "z": "9935d2ef.9e5928",
                                     "name": "Zuordnungen",
                                     "func": "let Trash = [{ \"ical\": \"Sack\",   \"Name\": \"Gelber Sack\",     \"Farbe\": \"yellow\"  },\n             { \"ical\": \"Papier\", \"Name\": \"Papiertonne\",     \"Farbe\": \"blue\"    },\n             { \"ical\": \"Bio\",    \"Name\": \"Biotonne\",        \"Farbe\": \"#00ff00\" },\n             { \"ical\": \"Müll\",   \"Name\": \"Mülltonne\",       \"Farbe\": \"black\"   },\n             { \"ical\": \"Mobil\",  \"Name\": \"Schadstoffmobil\", \"Farbe\": \"orange\"  }];\n\nlet Abfuhr=msg.payload;\nmsg.template=\"<div layout=\\\"row\\\" layout-align=\\\"space-between center\\\" style=\\\"padding: 0 6px;\\\"><p>was</p>\";\nfor(let i=0; i<Trash.length; i++) {\n\n  if (Abfuhr.indexOf(Trash[i].ical)>=0) { \n      msg.template+=\"<font size=\\\"4\\\" color=\\\"\" + Trash[i].Farbe + \"\\\"><b>\" + Trash[i].Name + \"</b></font>\";\n      Abfuhr=Abfuhr.replace(Trash[i].ical, \"\");\n  }\n  \n}\nmsg.template+=\"</div>\";\n\nreturn msg;",
                                     "outputs": 1,
                                     "noerr": 0,
                                     "initialize": "",
                                     "finalize": "",
                                     "libs": [],
                                     "x": 340,
                                     "y": 140,
                                     "wires": [
                                         [
                                             "9f681fa0.0e3e7"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "b43b5da.84f56a",
                                     "type": "function",
                                     "z": "9935d2ef.9e5928",
                                     "name": "Zuordnungen",
                                     "func": "\nlet Trash = [{ \"ical\": \"Sack\",   \"Name\": \"Gelber Sack\",     \"Farbe\": \"yellow\"  },\n             { \"ical\": \"Papier\", \"Name\": \"Papiertonne\",     \"Farbe\": \"blue\"    },\n             { \"ical\": \"Bio\",    \"Name\": \"Biotonne\",        \"Farbe\": \"#00ff00\" },\n             { \"ical\": \"Müll\",   \"Name\": \"Mülltonne\",       \"Farbe\": \"black\"   },\n             { \"ical\": \"Mobil\",  \"Name\": \"Schadstoffmobil\", \"Farbe\": \"orange\"  }];\n\nlet Abfuhr=msg.payload;\nmsg.template=\"<div layout=\\\"row\\\" layout-align=\\\"space-between center\\\" style=\\\"padding: 0 6px;\\\"><p>ist dran</p>\";\nfor(let i=0; i<Trash.length; i++) {\n\n  if (Abfuhr.indexOf(Trash[i].ical)>=0) { \n      msg.template+=\"<font size=\\\"4\\\" color=\\\"\" + Trash[i].Farbe + \"\\\"><b>\" + Trash[i].Name + \"</b></font>\";\n      Abfuhr=Abfuhr.replace(Trash[i].ical, \"\");\n  }\n  \n}\nmsg.template+=\"</div>\";\n\nreturn msg;",
                                     "outputs": 1,
                                     "noerr": 0,
                                     "initialize": "",
                                     "finalize": "",
                                     "libs": [],
                                     "x": 340,
                                     "y": 260,
                                     "wires": [
                                         [
                                             "e322ebf0.9756d"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "7ceaf9a.8ba7c08",
                                     "type": "ui_group",
                                     "name": "Abfallkalender",
                                     "tab": "9081d8f6.325c2",
                                     "order": 1,
                                     "disp": true,
                                     "width": "6",
                                     "collapse": false
                                 },
                                 {
                                     "id": "9081d8f6.325c2",
                                     "type": "ui_tab",
                                     "name": "HAMS",
                                     "icon": "store",
                                     "order": 1,
                                     "disabled": false,
                                     "hidden": false
                                 }
                              ]
                              

                              LG SBorg ( SBorg auf GitHub)
                              Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                              ? 1 Reply Last reply
                              0
                              • SBorgS SBorg

                                @noah3112 Ev. hat er da mal wieder was "dazu gebastelt"... :(

                                Noch mal direkt aus der Zwischenablage :

                                [
                                   {
                                       "id": "6724d07c.d30ee",
                                       "type": "ioBroker in",
                                       "z": "9935d2ef.9e5928",
                                       "name": "Nächste Leerung",
                                       "topic": "trashschedule.0.next.dateFormat",
                                       "payloadType": "value",
                                       "onlyack": "update",
                                       "func": "all",
                                       "gap": "",
                                       "fireOnStart": "true",
                                       "x": 100,
                                       "y": 80,
                                       "wires": [
                                           [
                                               "51c87098.8ca89"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "54c13585.5b52cc",
                                       "type": "ioBroker in",
                                       "z": "9935d2ef.9e5928",
                                       "name": "Nächste Leerung Typ",
                                       "topic": "trashschedule.0.next.typesText",
                                       "payloadType": "value",
                                       "onlyack": true,
                                       "func": "all",
                                       "gap": "",
                                       "fireOnStart": "true",
                                       "x": 120,
                                       "y": 140,
                                       "wires": [
                                           [
                                               "556903ab.809234"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "31d12d29.1091b2",
                                       "type": "ioBroker in",
                                       "z": "9935d2ef.9e5928",
                                       "name": "danach Leerung",
                                       "topic": "trashschedule.0.nextAfter.dateFormat",
                                       "payloadType": "value",
                                       "onlyack": true,
                                       "func": "all",
                                       "gap": "",
                                       "fireOnStart": "true",
                                       "x": 100,
                                       "y": 200,
                                       "wires": [
                                           [
                                               "c268e0a.ca2e7a"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "1cdf03bd.77738c",
                                       "type": "ioBroker in",
                                       "z": "9935d2ef.9e5928",
                                       "name": "danach Typ",
                                       "topic": "trashschedule.0.nextAfter.typesText",
                                       "payloadType": "value",
                                       "onlyack": "update",
                                       "func": "all",
                                       "gap": "",
                                       "fireOnStart": "true",
                                       "x": 90,
                                       "y": 260,
                                       "wires": [
                                           [
                                               "b43b5da.84f56a"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "9f681fa0.0e3e7",
                                       "type": "ui_template",
                                       "z": "9935d2ef.9e5928",
                                       "group": "7ceaf9a.8ba7c08",
                                       "name": "Abfalltyp",
                                       "order": 2,
                                       "width": 0,
                                       "height": 0,
                                       "format": "",
                                       "storeOutMessages": true,
                                       "fwdInMessages": true,
                                       "resendOnRefresh": true,
                                       "templateScope": "local",
                                       "className": "",
                                       "x": 560,
                                       "y": 140,
                                       "wires": [
                                           []
                                       ]
                                   },
                                   {
                                       "id": "e322ebf0.9756d",
                                       "type": "ui_template",
                                       "z": "9935d2ef.9e5928",
                                       "group": "7ceaf9a.8ba7c08",
                                       "name": "danach Abfalltyp",
                                       "order": 4,
                                       "width": 0,
                                       "height": 0,
                                       "format": "",
                                       "storeOutMessages": true,
                                       "fwdInMessages": true,
                                       "resendOnRefresh": true,
                                       "templateScope": "local",
                                       "x": 590,
                                       "y": 260,
                                       "wires": [
                                           []
                                       ]
                                   },
                                   {
                                       "id": "f65d7dca.63388",
                                       "type": "ui_template",
                                       "z": "9935d2ef.9e5928",
                                       "group": "7ceaf9a.8ba7c08",
                                       "name": "nächste Leerung",
                                       "order": 1,
                                       "width": 0,
                                       "height": 0,
                                       "format": "<div layout=\"row\" layout-align=\"space-between center\" style=\"padding: 0 6px;\">\n  <p>Nächste Leerung</p>\n  <font size=\"3\" color=\"white\">\n    <b>{{msg.payload}}</b>\n  </font>\n</div>\n",
                                       "storeOutMessages": true,
                                       "fwdInMessages": true,
                                       "resendOnRefresh": true,
                                       "templateScope": "local",
                                       "className": "",
                                       "x": 590,
                                       "y": 80,
                                       "wires": [
                                           []
                                       ]
                                   },
                                   {
                                       "id": "c268e0a.ca2e7a",
                                       "type": "ui_template",
                                       "z": "9935d2ef.9e5928",
                                       "group": "7ceaf9a.8ba7c08",
                                       "name": "danach",
                                       "order": 3,
                                       "width": 0,
                                       "height": 0,
                                       "format": "<div layout=\"row\" layout-align=\"space-between center\" style=\"padding: 0 6px;\">\n  <p>danach</p>\n  <font size=\"3\" color=\"white\">\n    <b>{{msg.payload}}</b>\n  </font>\n</div>",
                                       "storeOutMessages": true,
                                       "fwdInMessages": true,
                                       "resendOnRefresh": true,
                                       "templateScope": "local",
                                       "x": 560,
                                       "y": 200,
                                       "wires": [
                                           []
                                       ]
                                   },
                                   {
                                       "id": "aa16944.5d916e8",
                                       "type": "comment",
                                       "z": "9935d2ef.9e5928",
                                       "name": "Abfallkalender (Dashboard)",
                                       "info": "",
                                       "x": 140,
                                       "y": 40,
                                       "wires": []
                                   },
                                   {
                                       "id": "51c87098.8ca89",
                                       "type": "function",
                                       "z": "9935d2ef.9e5928",
                                       "name": "Heute / Morgen ...",
                                       "func": "let Datum=msg.payload.split(\".\");\nlet Abholung = (new Date(Datum[2],Datum[1]-1,Datum[0],0,0,0).getTime())/1000;\nlet jetzt = new Date();\nlet Heute = (new Date(jetzt.getFullYear(),jetzt.getMonth(),jetzt.getDate(),0,0,0).getTime())/1000;\n\nif (Heute == Abholung) { msg.payload=\"Heute\"; } \n else if (Heute + (1*86400) == Abholung) { msg.payload=\"Morgen\"; } \n else if (Heute + (2*86400) == Abholung) { msg.payload=\"Übermorgen\"; } \n else { msg.payload=\"in \" + (Abholung-Heute)/86400 + \" Tagen\"; }\n\nreturn msg;",
                                       "outputs": 1,
                                       "noerr": 0,
                                       "initialize": "",
                                       "finalize": "",
                                       "libs": [],
                                       "x": 350,
                                       "y": 80,
                                       "wires": [
                                           [
                                               "f65d7dca.63388"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "556903ab.809234",
                                       "type": "function",
                                       "z": "9935d2ef.9e5928",
                                       "name": "Zuordnungen",
                                       "func": "let Trash = [{ \"ical\": \"Sack\",   \"Name\": \"Gelber Sack\",     \"Farbe\": \"yellow\"  },\n             { \"ical\": \"Papier\", \"Name\": \"Papiertonne\",     \"Farbe\": \"blue\"    },\n             { \"ical\": \"Bio\",    \"Name\": \"Biotonne\",        \"Farbe\": \"#00ff00\" },\n             { \"ical\": \"Müll\",   \"Name\": \"Mülltonne\",       \"Farbe\": \"black\"   },\n             { \"ical\": \"Mobil\",  \"Name\": \"Schadstoffmobil\", \"Farbe\": \"orange\"  }];\n\nlet Abfuhr=msg.payload;\nmsg.template=\"<div layout=\\\"row\\\" layout-align=\\\"space-between center\\\" style=\\\"padding: 0 6px;\\\"><p>was</p>\";\nfor(let i=0; i<Trash.length; i++) {\n\n  if (Abfuhr.indexOf(Trash[i].ical)>=0) { \n      msg.template+=\"<font size=\\\"4\\\" color=\\\"\" + Trash[i].Farbe + \"\\\"><b>\" + Trash[i].Name + \"</b></font>\";\n      Abfuhr=Abfuhr.replace(Trash[i].ical, \"\");\n  }\n  \n}\nmsg.template+=\"</div>\";\n\nreturn msg;",
                                       "outputs": 1,
                                       "noerr": 0,
                                       "initialize": "",
                                       "finalize": "",
                                       "libs": [],
                                       "x": 340,
                                       "y": 140,
                                       "wires": [
                                           [
                                               "9f681fa0.0e3e7"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "b43b5da.84f56a",
                                       "type": "function",
                                       "z": "9935d2ef.9e5928",
                                       "name": "Zuordnungen",
                                       "func": "\nlet Trash = [{ \"ical\": \"Sack\",   \"Name\": \"Gelber Sack\",     \"Farbe\": \"yellow\"  },\n             { \"ical\": \"Papier\", \"Name\": \"Papiertonne\",     \"Farbe\": \"blue\"    },\n             { \"ical\": \"Bio\",    \"Name\": \"Biotonne\",        \"Farbe\": \"#00ff00\" },\n             { \"ical\": \"Müll\",   \"Name\": \"Mülltonne\",       \"Farbe\": \"black\"   },\n             { \"ical\": \"Mobil\",  \"Name\": \"Schadstoffmobil\", \"Farbe\": \"orange\"  }];\n\nlet Abfuhr=msg.payload;\nmsg.template=\"<div layout=\\\"row\\\" layout-align=\\\"space-between center\\\" style=\\\"padding: 0 6px;\\\"><p>ist dran</p>\";\nfor(let i=0; i<Trash.length; i++) {\n\n  if (Abfuhr.indexOf(Trash[i].ical)>=0) { \n      msg.template+=\"<font size=\\\"4\\\" color=\\\"\" + Trash[i].Farbe + \"\\\"><b>\" + Trash[i].Name + \"</b></font>\";\n      Abfuhr=Abfuhr.replace(Trash[i].ical, \"\");\n  }\n  \n}\nmsg.template+=\"</div>\";\n\nreturn msg;",
                                       "outputs": 1,
                                       "noerr": 0,
                                       "initialize": "",
                                       "finalize": "",
                                       "libs": [],
                                       "x": 340,
                                       "y": 260,
                                       "wires": [
                                           [
                                               "e322ebf0.9756d"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "7ceaf9a.8ba7c08",
                                       "type": "ui_group",
                                       "name": "Abfallkalender",
                                       "tab": "9081d8f6.325c2",
                                       "order": 1,
                                       "disp": true,
                                       "width": "6",
                                       "collapse": false
                                   },
                                   {
                                       "id": "9081d8f6.325c2",
                                       "type": "ui_tab",
                                       "name": "HAMS",
                                       "icon": "store",
                                       "order": 1,
                                       "disabled": false,
                                       "hidden": false
                                   }
                                ]
                                

                                ? Offline
                                ? Offline
                                A Former User
                                wrote on last edited by
                                #1254

                                @sborg Jetzt hat es funktioniert...vielen Dank 👍

                                1 Reply Last reply
                                0
                                • JB_SullivanJ Offline
                                  JB_SullivanJ Offline
                                  JB_Sullivan
                                  wrote on last edited by
                                  #1255

                                  Auch wenn das hier nur bedingt rein passt, aber hatte hier nicht jemand ein Trash Mülltonnen Widget mit anders designten Mülltonnen gebaut?

                                  Wie macht man so ein Widget? Kann gerne auch einen eigenen Thread dafür eröffnen, aber der Trashscheduler mit seinem VIS Widget ist so nah an dem dran was mir vorschwebt, das ich erstmal hier in der Runde die Experten fragen möchte.

                                  Konkrekt geht es um ein Fahrzeug Widget welches über 15 verschiedene Datenpunkte die Zustände der Türen, Hauben, Fenster und Schiebedach darstellen soll.

                                  Ich habe keinen blassen Schimmer wie man so ein Widet baut, das man dann ggf. aus der ioBroker Adapter Liste heraus in den VIS Editor installieren lassen kann.

                                  Wie gesagt, ich mache gerne einen neuen Thread auf, wenn ich hier ein paar "wissende" dafür gewinnen kann, in dem neuen Thread zu dem Thema weiter zu diskutieren.

                                  ioBroker (since 2018) auf Intel Core i3-5005U NUC und Windwos10 Pro

                                  haus-automatisierungH 1 Reply Last reply
                                  0
                                  • JB_SullivanJ JB_Sullivan

                                    Auch wenn das hier nur bedingt rein passt, aber hatte hier nicht jemand ein Trash Mülltonnen Widget mit anders designten Mülltonnen gebaut?

                                    Wie macht man so ein Widget? Kann gerne auch einen eigenen Thread dafür eröffnen, aber der Trashscheduler mit seinem VIS Widget ist so nah an dem dran was mir vorschwebt, das ich erstmal hier in der Runde die Experten fragen möchte.

                                    Konkrekt geht es um ein Fahrzeug Widget welches über 15 verschiedene Datenpunkte die Zustände der Türen, Hauben, Fenster und Schiebedach darstellen soll.

                                    Ich habe keinen blassen Schimmer wie man so ein Widet baut, das man dann ggf. aus der ioBroker Adapter Liste heraus in den VIS Editor installieren lassen kann.

                                    Wie gesagt, ich mache gerne einen neuen Thread auf, wenn ich hier ein paar "wissende" dafür gewinnen kann, in dem neuen Thread zu dem Thema weiter zu diskutieren.

                                    haus-automatisierungH Online
                                    haus-automatisierungH Online
                                    haus-automatisierung
                                    Developer Most Active
                                    wrote on last edited by
                                    #1256

                                    @jb_sullivan sagte in Test Adapter TrashSchedule:

                                    Ich habe keinen blassen Schimmer wie man so ein Widet baut, das man dann ggf. aus der ioBroker Adapter Liste heraus in den VIS Editor installieren lassen kann.

                                    Na den Workflow dafür habe ich schonmal vorgestellt: https://www.youtube.com/watch?v=A9UETXyAmL4

                                    Es gibt dann Adapter, welche in der io-package.json so konfiguriert sind, dass sie keine Adapter sind, sondern "nur" Web-Dateien bereitstellen: "onlyWWW": true

                                    Beispiele findest Du dafür ja in der Adapterliste zu genüge. Einfach mal die Repos anschauen und das widget Verzeichnis. Du solltest fit in HTML, CSS und JavaScript sein.

                                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                    📚 Meine inoffizielle ioBroker Dokumentation

                                    JB_SullivanJ 1 Reply Last reply
                                    0
                                    • haus-automatisierungH haus-automatisierung

                                      @jb_sullivan sagte in Test Adapter TrashSchedule:

                                      Ich habe keinen blassen Schimmer wie man so ein Widet baut, das man dann ggf. aus der ioBroker Adapter Liste heraus in den VIS Editor installieren lassen kann.

                                      Na den Workflow dafür habe ich schonmal vorgestellt: https://www.youtube.com/watch?v=A9UETXyAmL4

                                      Es gibt dann Adapter, welche in der io-package.json so konfiguriert sind, dass sie keine Adapter sind, sondern "nur" Web-Dateien bereitstellen: "onlyWWW": true

                                      Beispiele findest Du dafür ja in der Adapterliste zu genüge. Einfach mal die Repos anschauen und das widget Verzeichnis. Du solltest fit in HTML, CSS und JavaScript sein.

                                      JB_SullivanJ Offline
                                      JB_SullivanJ Offline
                                      JB_Sullivan
                                      wrote on last edited by
                                      #1257

                                      @haus-automatisierung sagte in Test Adapter TrashSchedule:

                                      Du solltest fit in HTML, CSS und JavaScript sein.

                                      Hmm - danke für die Links - ich dachte "nur so ein Widget" wäre einfacher als ein "ganzer" ioB Adapter - OK, dann bin ich raus 😒

                                      Na gut dann halt doch nach alter Methode, 14 Bilder übereinander stapeln und über die Sichtbarkeitsregel aktivieren. Naja war ein Versuch ......

                                      ioBroker (since 2018) auf Intel Core i3-5005U NUC und Windwos10 Pro

                                      haus-automatisierungH 1 Reply Last reply
                                      0
                                      • JB_SullivanJ JB_Sullivan

                                        @haus-automatisierung sagte in Test Adapter TrashSchedule:

                                        Du solltest fit in HTML, CSS und JavaScript sein.

                                        Hmm - danke für die Links - ich dachte "nur so ein Widget" wäre einfacher als ein "ganzer" ioB Adapter - OK, dann bin ich raus 😒

                                        Na gut dann halt doch nach alter Methode, 14 Bilder übereinander stapeln und über die Sichtbarkeitsregel aktivieren. Naja war ein Versuch ......

                                        haus-automatisierungH Online
                                        haus-automatisierungH Online
                                        haus-automatisierung
                                        Developer Most Active
                                        wrote on last edited by
                                        #1258

                                        @jb_sullivan sagte in Test Adapter TrashSchedule:

                                        ich dachte "nur so ein Widget" wäre einfacher als ein "ganzer" ioB Adapter

                                        Natürlich muss das alles zu npm und dann mit ins Repository aufgenommen werden. Der Weg ist ja 1:1 der gleiche. Nur was im Paket / Repo zu finden ist, unterscheidet sich dann halt.

                                        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                        📚 Meine inoffizielle ioBroker Dokumentation

                                        1 Reply Last reply
                                        0
                                        • B Offline
                                          B Offline
                                          Bones13
                                          wrote on last edited by
                                          #1259

                                          Hallo zusammen, hat jemand eine Idee, ob uns falls ja wie man das Widget so hinbekommt, dass sich die Größe anpasst? Also auf dem Handy bzw. auf dem Tablet. So wie ich es jetzt habe sieht es auf dem Tablet gut aus, ist aber auf dem Handy viel zu groß.

                                          haus-automatisierungH 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          631

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe