Seite 1 von 1

[V1.5.1] CV: Kalender für die Müllentsorgung in CV

Verfasst: Mo Dez 23, 2019 8:29 pm
von Sensej
Hallo zusammen,
wollte fragen, ob jemand Funktionalität für die Erinnerung der Müllentsorgung in CV realisiert hat und wie?

Ich wollte es so machen, komme aber nicht weiter.
Falls das aktuelle Datum = Value aus Mapping, dann sollte das Kürzel(z.B. RP = RestPapier) angezeigt werden

zuerst Mapping erstellen
<mapping name="Muelentsorgung">
<entry value="23.12.2019">RP</entry>
<entry value="08.01.2020">R</entry>
<entry value="14.01.2020">BG</entry>
<entry value="21.01.2020">R</entry>
<entry value="28.01.2020">BPG</entry>
</mapping>

Darstellung
</widgetinfo>
</pagejump>
</group>
<group>
<layout colspan="1"/>
<pagejump target="XXX">
<label><icon name="message_garbage"/></label>
<widgetinfo>
<info mapping="Muelentsorgung" styling="GreyRed2">
<address transform="DPT:11.001" mode="read">5/1/1</address>
</info>

5/1/1 ist das aktuelle Datum vom Typ 11.001 -> TWS-Objekt Nummer 8006

So musste es doch gehen oder?
Was mache ich falsch?
Hat jemand von euch eine oder eine bessere Lösung?

MfG Juri

Re: [V1.5.1] CV: Kalender für die Müllentsorgung in CV

Verfasst: Mo Dez 23, 2019 8:43 pm
von blaubaerli
Hi Juri,

ich muss da leider passen.... hast du mal im KNX-UF gesucht. Da gibts ja zum Thema CV deutlich mehr als hier bei uns.

Beste Grüße
Jens

Re: [V1.5.1] CV: Kalender für die Müllentsorgung in CV

Verfasst: Mo Dez 23, 2019 8:46 pm
von Sensej
Hallo Jens,

im KNX-UF habe leider nichts gefunden, es kann natürlich sein, dass ich was übersehen habe

MfG Juri

Re: [V1.5.1] CV: Kalender für die Müllentsorgung in CV

Verfasst: Mo Dez 23, 2019 11:37 pm
von blaubaerli
Hallo Juri,

hat mir ja wieder keine Ruhe gelassen.....

probier dein Mapping mal mit:

Code: Alles auswählen

      <mapping name="Muellentsorgung">
        <formula>y = x &amp;&amp; x.constructor === Date ? x.toLocaleDateString() : x;</formula>
        <entry value="23.12.2019">RP</entry>
        <entry value="08.01.2020">R</entry>
        <entry value="14.01.2020">BG</entry>
        <entry value="21.01.2020">R</entry>
        <entry value="28.01.2020">BPG</entry>
      </mapping>
:dance:

Ich hatte dem Muel auch noch ein zweites "l" spendiert... :whistle:

Beste Grüße
Jens

Re: [V1.5.1] CV: Kalender für die Müllentsorgung in CV

Verfasst: Di Dez 24, 2019 8:26 am
von StefanW
Hallo Juri,

wieso ist dieser Thread unter "Allgemeines" eröffnet worden, wenn es um CV Probleme geht?

lg

Stefan

Re: [V1.5.1] CV: Kalender für die Müllentsorgung in CV

Verfasst: Di Dez 24, 2019 12:11 pm
von Sensej
blaubaerli hat geschrieben: Mo Dez 23, 2019 11:37 pm Hallo Juri,

hat mir ja wieder keine Ruhe gelassen.....

probier dein Mapping mal mit:

Code: Alles auswählen

      <mapping name="Muellentsorgung">
        <formula>y = x &amp;&amp; x.constructor === Date ? x.toLocaleDateString() : x;</formula>
        <entry value="23.12.2019">RP</entry>
        <entry value="08.01.2020">R</entry>
        <entry value="14.01.2020">BG</entry>
        <entry value="21.01.2020">R</entry>
        <entry value="28.01.2020">BPG</entry>
      </mapping>
:dance:

Ich hatte dem Muel auch noch ein zweites "l" spendiert... :whistle:

Beste Grüße
Jens
Hallo Jens,

Danke, werde heute ausprobieren.

MfG Juri

Re: [V1.5.1] CV: Kalender für die Müllentsorgung in CV

Verfasst: Di Dez 24, 2019 12:18 pm
von Sensej
StefanW hat geschrieben: Di Dez 24, 2019 8:26 am Hallo Juri,

wieso ist dieser Thread unter "Allgemeines" eröffnet worden, wenn es um CV Probleme geht?

lg

Stefan
Hallo Stefan,

habe übersehen. Wenn es geht bitte verschieben.
Ich habe keine Rechte dafür.

MfG Juri

Re: [V1.5.1] CV: Kalender für die Müllentsorgung in CV

Verfasst: Do Dez 26, 2019 11:31 pm
von Sensej
blaubaerli hat geschrieben: Mo Dez 23, 2019 11:37 pm Hallo Juri,

hat mir ja wieder keine Ruhe gelassen.....

probier dein Mapping mal mit:
Beste Grüße
Jens


Hallo Jens,
habe ein bisschen anders gemacht :D

In der gleichen Weise werde ich wahrscheinlich auch meine Anzeige für die Geburtstage realisieren, bis ich eine bessere Lösung finde.

Code: Alles auswählen

<mapping name="Muellentsorgung">
         <formula>
          
           var n = 999;
           var termine = [
            {
              id: '2019-12-01',
              kuerzel: 'N6',
              noch: n,
              beschreibung: 'X'
            },
            {
              id: '2019-12-25',
              kuerzel: 'N6',
              noch: n,
              beschreibung: 'X'
              },{
              id: '2020-01-08',
              kuerzel: 'N4',
              noch: n,
              beschreibung: 'X'
              },{
              id: '2020-01-14',
              kuerzel: 'N5',
              noch: n,
              beschreibung: 'X'
              },{
              id: '2020-01-21',
              kuerzel: 'N1',
              noch: n,
              beschreibung: 'X'
              },{
              id: '2020-01-28',
              kuerzel: 'N6',
              noch: n,
              beschreibung: 'X'
              },{
              id: '2020-02-04',
              kuerzel: 'N1',
              noch: n,
              beschreibung: 'X'
              }
              ];

              for (x in termine) 
              {
                var date_diff = new Date();
                var date_ter = new Date(termine[x]["id"]);
                var daysDiff = Math.floor((Date.UTC(date_ter.getFullYear(), date_ter.getMonth(), date_ter.getDate()) - 
                Date.UTC(date_diff.getFullYear(), date_diff.getMonth(), date_diff.getDate()) ) /(1000 * 60 * 60 * 24));

                if(daysDiff&gt;0)
                {
                  termine[x]["noch"] = daysDiff;
                }
             }
              var date = new Date();
              date.setDate(date.getDate()+1);
              var formated_date =date.getFullYear() + "-" + (date.getMonth() + 1) + "-" +  date.getDate();
              var termin = termine.find( t => t.id === formated_date);

              if(termin == null)
              {
                  var min = Math.min.apply(null, termine.map(item => item.noch));

                 y = min;
              }
              else
               {

                 if (termin.kuerzel.length&gt;0)
                 {
                     y = termin.kuerzel;
                 }
                 else
                 {
                   y = "N20";
                 }
               }

        </formula>
        <entry value="N1">R</entry>
        <entry value="N2">B</entry>
        <entry value="N3">SM</entry>
        <entry value="N4">R-P</entry>
        <entry value="N5">B-K</entry>
        <entry value="N6">B-P-K</entry>
        <entry value="N10">-</entry>
        <entry value="N20">ERR</entry>
      </mapping>
MfG Juri

Re: [V1.5.1] CV: Kalender für die Müllentsorgung in CV

Verfasst: Fr Dez 27, 2019 10:06 am
von Chris M.
@Sensej hiermit hast Du die komplexeste Formel im Mapping die ich kenne! :violin: :text-bravo:

(Grundsätzlich gilt aber: wenn die Formel komplex wird, kann sein, dass hier Themen, die in eine Logik-Engine gehören, fälschlicher Weise in die Visu ausgelagert hat; natürlich können Ausnahmen die Regel bestätigen)

Re: [V1.5.1] CV: Kalender für die Müllentsorgung in CV

Verfasst: Fr Dez 27, 2019 5:56 pm
von Sensej
Chris M. hat geschrieben: Fr Dez 27, 2019 10:06 am @Sensej hiermit hast Du die komplexeste Formel im Mapping die ich kenne! :violin: :text-bravo:
Hallo Chris,

ich wusste nicht wie ich das anders, mit anderen Mitteln realisieren könnte.
Falls jamand eine bessere Lösung oder ein paar Tipps für mich hat, raus damit :)

MfG Juri