ioBroker Tutorial-Reihe - Müllkalender

Mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks.

Als FHEM Nutzer integriert man wahrscheinlich super früh die Müllabfahr-Pläne ins eigene System. Immerhin gibt es dafür fertige Module und Lösungen, welche die Daten sehr einfach aufbereiten. Beim ioBroker musste man dafür entweder sehr lange Blockly-Scripts importieren und anpassen, oder man musste sich irgendwie anders helfen. Das wollte ich ändern - also habe ich ein neues Modul entwickelt, welches die nächsten Abholtermine zusammenfasst und in Datenpunkten aufbereitet. Aber das alleine wäre ja ziemlich langweilig. Also ist auch noch direkt ein VIS Widget mit in das Modul gewandert. So kann man ganz einfach die Abholtermine in der eigenen Visualisierung grafisch aufbereiten.

Video

ioBroker-Kurs

VIS-Widget

Das Ergebnis in VIS sieht dann so aus (je nach gewählten Farben):

ioBroker Muellkalender VIS

Blockly-Script

Hier noch das Blockly-Script, welches über die Abholung informiert:

<xml xmlns="http://www.w3.org/1999/xhtml">
  <block type="schedule" id="-[MKJG41a;~?S0*}DSSh" x="63" y="87">
    <field name="SCHEDULE">0 18 * * *</field>
    <statement name="STATEMENT">
      <block type="comment" id="{p2u3o5[]%d~Va$lSA]?">
        <field name="COMMENT">Benachrichtigung Abholung morgen</field>
        <next>
          <block type="controls_if" id="NQzTFsw?rX9,mxeD{W/(">
            <value name="IF0">
              <block type="logic_compare" id="l43Mc;I];Z^;}(7s8awu">
                <field name="OP">EQ</field>
                <value name="A">
                  <block type="get_value" id="ICyrLiR@FgaZO`G;g1u8">
                    <field name="ATTR">val</field>
                    <field name="OID">trashschedule.0.next.daysleft</field>
                  </block>
                </value>
                <value name="B">
                  <block type="math_number" id="$X4aEU8Qouhb`Vc`Uh^J">
                    <field name="NUM">1</field>
                  </block>
                </value>
              </block>
            </value>
            <statement name="DO0">
              <block type="telegram" id="ro6=i|?@w$ePr!,I^Y!L">
                <field name="INSTANCE">.0</field>
                <field name="LOG"></field>
                <field name="SILENT">FALSE</field>
                <field name="PARSEMODE">default</field>
                <value name="MESSAGE">
                  <shadow type="text" id="#v91j!CJu3!W`ds3T!L3">
                    <field name="TEXT">Heute wird der Müll abgeholt.</field>
                  </shadow>
                  <block type="text_join" id="yIH-WeBz{3f@94zt~sES">
                    <mutation items="3"></mutation>
                    <value name="ADD0">
                      <block type="text" id="VT;e5[te#]C?VG+aP5*I">
                        <field name="TEXT">Morgen wird die </field>
                      </block>
                    </value>
                    <value name="ADD1">
                      <block type="get_value" id="h(%3.+E(c1FMMJ|(8du-">
                        <field name="ATTR">val</field>
                        <field name="OID">trashschedule.0.next.typestext</field>
                      </block>
                    </value>
                    <value name="ADD2">
                      <block type="text" id="0m#?+uzBtl^W8umcb_7,">
                        <field name="TEXT"> abgeholt.</field>
                      </block>
                    </value>
                  </block>
                </value>
              </block>
            </statement>
          </block>
        </next>
      </block>
    </statement>
    <next>
      <block type="schedule" id="ZnNDX(Tb(`s=ajP]x-[5">
        <field name="SCHEDULE">0 7 * * *</field>
        <statement name="STATEMENT">
          <block type="comment" id="=!s7~ajg[~q:A3VmGoP(">
            <field name="COMMENT">Benachrichtigung Abholung heute</field>
            <next>
              <block type="controls_if" id="433KGX.Bm^TvBd3;8YBe">
                <value name="IF0">
                  <block type="logic_compare" id="960arKE3Q2b[y~]H%klG">
                    <field name="OP">EQ</field>
                    <value name="A">
                      <block type="get_value" id="]RqhEEofo;Hz*Q_Okmdu">
                        <field name="ATTR">val</field>
                        <field name="OID">trashschedule.0.next.daysleft</field>
                      </block>
                    </value>
                    <value name="B">
                      <block type="math_number" id="z~GyX0lvG$4s*uI|M29t">
                        <field name="NUM">0</field>
                      </block>
                    </value>
                  </block>
                </value>
                <statement name="DO0">
                  <block type="telegram" id="#Uwl/SB!.p0S11xggpr/">
                    <field name="INSTANCE">.0</field>
                    <field name="LOG"></field>
                    <field name="SILENT">FALSE</field>
                    <field name="PARSEMODE">default</field>
                    <value name="MESSAGE">
                      <shadow type="text" id="#v91j!CJu3!W`ds3T!L3">
                        <field name="TEXT">Heute wird der Müll abgeholt.</field>
                      </shadow>
                      <block type="text_join" id="/ICuBeuesWQf83ni{qvD">
                        <mutation items="3"></mutation>
                        <value name="ADD0">
                          <block type="text" id="2XWeaLpPG@+fY?VT{,Ul">
                            <field name="TEXT">Heute wird die </field>
                          </block>
                        </value>
                        <value name="ADD1">
                          <block type="get_value" id="inxfq7580!vk1R/Fc]31">
                            <field name="ATTR">val</field>
                            <field name="OID">trashschedule.0.next.typestext</field>
                          </block>
                        </value>
                        <value name="ADD2">
                          <block type="text" id="I9?n46$O-rH.QIc8%Swf">
                            <field name="TEXT"> abgeholt.</field>
                          </block>
                        </value>
                      </block>
                    </value>
                  </block>
                </statement>
              </block>
            </next>
          </block>
        </statement>
      </block>
    </next>
  </block>
</xml>


Newsletter

Trage Dich jetzt in den Newsletter ein und genieße dadurch viele exklusive Vorteile:

  • 5€-Gutschein für den Online-Shop
  • Zugang zu exklusiven Inhalten
  • Angebote für Produkte
  • Immer auf dem Laufenden

* Durch Angabe meiner E-Mail-Adresse erkläre ich mich damit einverstanden, dass mir regelmäßig Informationen und Produktempfehlungen aus dem Fachgebiet Smart Home zugesendet werden. Mit dem Eintrag akzeptieren Sie unsere Datenschutzbestimmungen. Meine Einwilligung kann ich jederzeit widerrufen.

Auf YouTube und hier im Blog gibt es bereits unzählige kostenlose Videos, Informationen und Tutorials. Wenn Dir das noch nicht reicht, ist ein Training genau das richtige für Dich! Die folgenden Trainings haben den Vorteil, dass immer von Anfang an gestartet wird und Du ohne Vorwissen teilnehmen kannst.