Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    13
    1
    1.4k

  • Neuer ioBroker-Blog online: MonatsrĂŒckblick MĂ€rz/April 2026
    BluefoxB
    Bluefox
    8
    1
    2.2k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    1.1k

Test Adapter TrashSchedule

Geplant Angeheftet Gesperrt Verschoben Tester
adaptercalendaricalkalendermĂŒlltrash
1.4k BeitrÀge 186 Kommentatoren 573.4k Aufrufe 171 Beobachtet
  • Ä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.
  • 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
    Most Active
    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
        Most Active
        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
            Most Active
            schrieb am zuletzt editiert von
            #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 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 8)

                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 8)

                  ? 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 (since 2018) 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 Offline
                          haus-automatisierungH Offline
                          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 (since 2018) 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 Offline
                              haus-automatisierungH Offline
                              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 Offline
                                  haus-automatisierungH Offline
                                  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
                                    • S Offline
                                      S Offline
                                      Shermy
                                      schrieb am zuletzt editiert von Shermy
                                      #1262

                                      Ich nutze den Trashscheduler nur als Erinnerung, dass am nĂ€chsten Tag MĂŒllabfuhr ist. Deshalb habe ich ein Rechteck in Hintergrundfarbe darĂŒber gelegt, das verschwindet, wenn der Datenpunkt „days left“ =< 1 ist.
                                      Kann man diese Last Minute Erinnerung auch direkt in den Adapter integrieren ?
                                      Meine Vorgehensweise hat halt die SchwĂ€che, dass ich nur max. ein bis 2 Wochen in der Vorschau haben darf - ansonsten wird die zukĂŒnftige Tonne mit angezeigt.

                                      1 Antwort Letzte Antwort
                                      0
                                      • HiltexH Offline
                                        HiltexH Offline
                                        Hiltex
                                        schrieb am zuletzt editiert von
                                        #1263

                                        @haus-automatisierung

                                        Ich habe mir diesen Adapter angeschaut und finde ihn garnicht so schlecht, also erstmal danke dafĂŒr.
                                        Was mir jedoch fehlt ist das "MĂŒlltonnen-Handling". Damit meine ich die Möglichkeit, per VIS abzuhaken, dass ich die MĂŒlltonnen vors Haus gestellt habe.

                                        Das macht (fĂŒr mich) insofern Sinn, als dass ich mit unterschiedlichen MĂŒllarten auch unterschiedlich umgehe. Die Tonnen werden bei uns immer ziemlich zeitig abgeholt, da bin ich teilweise noch garnicht wach, sodass die unbedingt abends an die Straße geschoben werden mĂŒssen.
                                        Der gelbe Sack hingegen wird bei uns relativ spĂ€t eingesammelt. Hier im Norden (SH) ist es oft windig, sodass ich den immer erst frĂŒh am Abholtag raus lege.

                                        Mit dem "MĂŒlltonnen-Handling" will ich nun folgendes realisieren: Ein Popup-Dialog auf meiner VIS erinnert mich an die MĂŒllabfuhr. Wenn eine Tonne draußen steht, hake ich die einfach ab, sodass diese aus der Liste des abzuholenden MĂŒlls verschwinden soll. Bleibt etwas in der Liste, zum Beispiel der Gelbe Sack, den ich ja erst am Tag der Abholung raus lege, so erscheint der Popup-Dialog zu gegebener Zeit erneut. Da der Inhalt des Dialoges dynamisch ist und sich an dem orientiert, was ansteht, werde ich bei gleichzeitiger Abfuhr nur an das erinnert, was noch zu erledigen ist.

                                        Die Logik ist eigentlich relativ simpel: jede Abfallart bekommt einen beschreibbaren boolschen Erledigt-Datenpunkt. Was erledigt ist, fliegt aus der Liste trashschedule.0.next.types. Am Abend wird der jeweilige Datenpunkt zurĂŒckgesetzt, ein zusĂ€tzlicher Datenpunkt setzt alle manuell zurĂŒck (falls man sich vertippt hat).

                                        Mir ist klar, dass man das auch recht simpel mit einem Script machen kann, aber ich finde, das wĂŒrde auch gut in diesen Adapter passen.

                                        Ist das etwas, das fĂŒr dich interessant genug klingt, dass du das in den Adapter integrieren wĂŒrdest?

                                        Blog: indibit.de

                                        haus-automatisierungH 1 Antwort Letzte Antwort
                                        0
                                        • HiltexH Hiltex

                                          @haus-automatisierung

                                          Ich habe mir diesen Adapter angeschaut und finde ihn garnicht so schlecht, also erstmal danke dafĂŒr.
                                          Was mir jedoch fehlt ist das "MĂŒlltonnen-Handling". Damit meine ich die Möglichkeit, per VIS abzuhaken, dass ich die MĂŒlltonnen vors Haus gestellt habe.

                                          Das macht (fĂŒr mich) insofern Sinn, als dass ich mit unterschiedlichen MĂŒllarten auch unterschiedlich umgehe. Die Tonnen werden bei uns immer ziemlich zeitig abgeholt, da bin ich teilweise noch garnicht wach, sodass die unbedingt abends an die Straße geschoben werden mĂŒssen.
                                          Der gelbe Sack hingegen wird bei uns relativ spĂ€t eingesammelt. Hier im Norden (SH) ist es oft windig, sodass ich den immer erst frĂŒh am Abholtag raus lege.

                                          Mit dem "MĂŒlltonnen-Handling" will ich nun folgendes realisieren: Ein Popup-Dialog auf meiner VIS erinnert mich an die MĂŒllabfuhr. Wenn eine Tonne draußen steht, hake ich die einfach ab, sodass diese aus der Liste des abzuholenden MĂŒlls verschwinden soll. Bleibt etwas in der Liste, zum Beispiel der Gelbe Sack, den ich ja erst am Tag der Abholung raus lege, so erscheint der Popup-Dialog zu gegebener Zeit erneut. Da der Inhalt des Dialoges dynamisch ist und sich an dem orientiert, was ansteht, werde ich bei gleichzeitiger Abfuhr nur an das erinnert, was noch zu erledigen ist.

                                          Die Logik ist eigentlich relativ simpel: jede Abfallart bekommt einen beschreibbaren boolschen Erledigt-Datenpunkt. Was erledigt ist, fliegt aus der Liste trashschedule.0.next.types. Am Abend wird der jeweilige Datenpunkt zurĂŒckgesetzt, ein zusĂ€tzlicher Datenpunkt setzt alle manuell zurĂŒck (falls man sich vertippt hat).

                                          Mir ist klar, dass man das auch recht simpel mit einem Script machen kann, aber ich finde, das wĂŒrde auch gut in diesen Adapter passen.

                                          Ist das etwas, das fĂŒr dich interessant genug klingt, dass du das in den Adapter integrieren wĂŒrdest?

                                          haus-automatisierungH Offline
                                          haus-automatisierungH Offline
                                          haus-automatisierung
                                          Developer Most Active
                                          schrieb am zuletzt editiert von
                                          #1264

                                          @hiltex sagte in Test Adapter TrashSchedule:

                                          garnicht so schlecht

                                          Äh, danke?! Deinen Kommentar finde ich auch nicht komplett Quatsch :)

                                          @hiltex sagte in Test Adapter TrashSchedule:

                                          Die Logik ist eigentlich relativ simpel: jede Abfallart bekommt einen beschreibbaren boolschen Erledigt-Datenpunkt.

                                          Okay, das ist einfach.

                                          @hiltex sagte in Test Adapter TrashSchedule:

                                          Am Abend wird der jeweilige Datenpunkt zurĂŒckgesetzt, ein zusĂ€tzlicher Datenpunkt setzt alle manuell zurĂŒck (falls man sich vertippt hat).

                                          Gut, das hat nur ein Problem: Wenn Du am Abend die Tonnen rausstellst und auf erledigt drĂŒckst, dann wĂ€ren die gleichen Tonnen ja am Abend wieder in der Liste... Und am nĂ€chsten Tag auch.

                                          Was genau alles zurĂŒcksetzt, mĂŒsste man nochmal genauer ĂŒberlegen.

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

                                          HomoranH HiltexH 2 Antworten Letzte Antwort
                                          1

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen BeitrĂ€ge zu scrollen? Wenn du dich fĂŒr ein Konto anmeldest, kommst du immer genau dorthin zurĂŒck, wo du zuvor warst, und kannst dich ĂŒber neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und BeitrĂ€ge positiv bewerten, um anderen Community-Mitgliedern deine WertschĂ€tzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          665

                                          Online

                                          32.9k

                                          Benutzer

                                          83.1k

                                          Themen

                                          1.3m

                                          BeitrÀge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2026
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

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