Hauptmenü

[Template] Müllabholung

Begonnen von Wolle02, 14 April 2022, 15:30:17

Vorheriges Thema - Nächstes Thema

Wolle02

Ich habe hier noch ein Template gebastelt, das vielleicht für die interessant sein könnte, die ihre Müllkalender mit dem Modul CALVIEW auswerten.

{
  "name": "trash",
  "author": "Wolle02",
  "date": "2022-04-07",
  "status": {
    "bar": ["t_001_daysleft:3:0:success", "t_001_daysleft:2:100:success", "t_001_daysleft:1:100:warning", "t_001_daysleft:0:100:error"]
  },
  "main": [
    {
      "text": ["next::%s"],
      "text2": ["t_001_daysleft:2:in %n Tagen", "t_001_daysleft:1:morgen", "t_001_daysleft:0:heute"]
    }
  ],
  "info": {
    "left1": ["next:::mdi-trash-can"],
"mid1": ["nextafter::danach %s"],
"mid2": ["nextafter_days:2:in %n Tagen", "nextafter_days:1:morgen"]
  }
}



Wegen der Infozeile und vor allem weil bei mir manchmal mehrere Mülltonnen am gleichen Tag abgeholt werden, sind im Calview-Device folgende Userreadings erforderlich:

next {my $d1 = (ReadingsNum("$name","t_001_daysleft",0));
      my $d2 = (ReadingsNum("$name","t_002_daysleft",0));
      my $d3 = (ReadingsNum("$name","t_003_daysleft",0));
      my $t1 = (ReadingsVal("$name","t_001_summary",0));
      my $t2 = (ReadingsVal("$name","t_002_summary",0));
      my $t3 = (ReadingsVal("$name","t_003_summary",0));
      if ($d1 == $d3) {
         return $t1.", ".$t2." und ".$t3
      }
      elsif ($d1 == $d2) {
         return $t1." und ".$t2
      }
      else {
         return $t1
      }
},

nextafter {
      my $d1 = (ReadingsNum("$name","t_001_daysleft",0));
      my $d2 = (ReadingsNum("$name","t_002_daysleft",0));
      my $d3 = (ReadingsNum("$name","t_003_daysleft",0));
      my $t2 = (ReadingsVal("$name","t_002_summary",0));
      my $t3 = (ReadingsVal("$name","t_003_summary",0));
      my $t4 = (ReadingsVal("$name","t_004_summary",0));
      if ($d1 == $d3) {
         return $t4
      }
      elsif ($d1 == $d2) {
         return $t3
      }
      else {
         return $t2
      }
},

nextafter_days {
      my $d1 = (ReadingsNum("$name","t_001_daysleft",0));
      my $d2 = (ReadingsNum("$name","t_002_daysleft",0));
      my $d3 = (ReadingsNum("$name","t_003_daysleft",0));
      my $d4 = (ReadingsNum("$name","t_004_daysleft",0));
      if ($d1 == $d3) {
         return $d4
      }
      elsif ($d1 == $d2) {
         return $d3
      }
      else {
         return $d2
      }
}


Einfaches Copy & Paste sollte reichen.
Danach in appOptions mit
{"template": "trash"}
einbinden.

marboj

Hi Wolle,

kann man das auch mit dem Modul "Abfall" nutzen?

Gruß
Marco
meine FHEM-Konfiguration: Raspberry Pi4, BT-Dongle, CUL868, CeeBee II

Wolle02

Ich verwende auch das Abfallmodul und wollte das auch für das Template verwenden. Dabei bin ich aber auf Probleme bei der Anzeige für den übernächsten Müll gestoßen. Ich hatte dann den Modulautor angeschrieben und gefragt, ob man eine kleine Änderung machen könnte. Allerdings war der Modulautor das letzte Mal vor Jahren im Forum aktiv und hat auch bis heute nicht geantwortet. Deshalb habe ich auf Calview umgeschwenkt und fahre jetzt in FhemApp und FhemWeb zweigleisig.

Lange Rede, kurzer Sinn: Nein, so unmittelbar geht das nicht. Du müsstest dir im Templete ein paar andere Readings anpassen und etwas finden wie die übernächste Müllabholung angezeigt werden kann.