Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter TrashSchedule

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Test Adapter TrashSchedule

Geplant Angeheftet Gesperrt Verschoben Tester
adaptercalendaricalkalendermülltrash
1.4k Beiträge 185 Kommentatoren 509.8k Aufrufe 170 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • J Offline
      J Offline
      jensven
      schrieb am zuletzt editiert von
      #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 Antworten Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 👍

                da_WoodyD 1 Antwort Letzte Antwort
                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 👍

                  da_WoodyD Online
                  da_WoodyD Online
                  da_Woody
                  schrieb am zuletzt editiert von
                  #1249

                  @jensven 😄 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 Antwort Letzte Antwort
                  0
                  • SBorgS SBorg

                    @haus-automatisierung Genau die die 24,- € kosten... 😂

                    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
                    Ein ehemaliger Benutzer
                    schrieb am zuletzt editiert von Ein ehemaliger Benutzer
                    #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 Antwort Letzte Antwort
                    0
                    • ? Ein ehemaliger Benutzer

                      @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
                      schrieb am zuletzt editiert von
                      #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 😎

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

                      ? 1 Antwort Letzte Antwort
                      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 😎

                        ? Offline
                        ? Offline
                        Ein ehemaliger Benutzer
                        schrieb am zuletzt editiert von
                        #1252

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

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

                        SBorgS 1 Antwort Letzte Antwort
                        0
                        • ? Ein ehemaliger Benutzer

                          @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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            Ein ehemaliger Benutzer
                            schrieb am zuletzt editiert von
                            #1254

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

                            1 Antwort Letzte Antwort
                            0
                            • JB_SullivanJ Offline
                              JB_SullivanJ Offline
                              JB_Sullivan
                              schrieb am zuletzt editiert von
                              #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 auf Intel Core i3-5005U NUC und Windwos10 Pro

                              haus-automatisierungH 1 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #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 auf Intel Core i3-5005U NUC und Windwos10 Pro

                                  haus-automatisierungH 1 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    0
                                    • B Offline
                                      B Offline
                                      Bones13
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      0
                                      • B Bones13

                                        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 Online
                                        haus-automatisierungH Online
                                        haus-automatisierung
                                        Developer Most Active
                                        schrieb am zuletzt editiert von
                                        #1260

                                        @bones13 sagte in Test Adapter TrashSchedule:

                                        Hallo zusammen, hat jemand eine Idee, ob uns falls ja wie man das Widget so hinbekommt, dass sich die Größe anpasst?

                                        Mir fehlt dafür die Zeit... https://github.com/klein0r/ioBroker.trashschedule/issues/90

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

                                        B 1 Antwort Letzte Antwort
                                        0
                                        • haus-automatisierungH haus-automatisierung

                                          @bones13 sagte in Test Adapter TrashSchedule:

                                          Hallo zusammen, hat jemand eine Idee, ob uns falls ja wie man das Widget so hinbekommt, dass sich die Größe anpasst?

                                          Mir fehlt dafür die Zeit... https://github.com/klein0r/ioBroker.trashschedule/issues/90

                                          B Offline
                                          B Offline
                                          Bones13
                                          schrieb am zuletzt editiert von
                                          #1261

                                          @haus-automatisierung

                                          Ja alles gut. Bin ja schon froh, dass alles soweit funktioniert 🙂

                                          Habe übrigens eine Lösung gefunden, welche jetzt für meine Zwecke sehr gut funktioniert:
                                          Ich verwende in meiner vis hauptsächlich den Material Adapter mit den dazugehörigen Widgets. Dort setzte ich für alle Seiten das Widget "Grid-Views" ein. Ich habe nun einfach zwei verschiedene "Müll-Views" erstellt. Ein normales und ein kleines. In den jeweiligen Einstellungen des Grid-View habe ich bei einem dann ausgewählt, dass es bei einer Auflösung von größer als 500px angezeigt wird und bei dem anderen kleiner als 500px. Somit kommt immer der jeweilige View. Funktioniert bis jetzt perfekt.

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          754

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe