Abfallsteuerung: funktionierendes Beispiel für Anfänger

Begonnen von Gunther, 11 März 2017, 12:24:10

Vorheriges Thema - Nächstes Thema

moonsorrox

Zitat von: bmwfan am 22 April 2017, 19:50:42
Der Abfallkalender ist vom Typ holiday angelegt.
damit kannst du hier nichts anfangen...! Du musst einen Googlekalender für Abfall erstellen...!
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

chris76e

Das mit dem PopUp habe ich immer noch nicht hinbekommen, aber jetzt werden endlich die einzelnen Tonnen angezeigt.

<li data-row="2" data-col="5" data-sizex="1" data-sizey="5">
                         <header>Abfall</header>
<div class="cell">
<div class="row">           
     
<div
data-type="symbol" data-off-background-color="#7A7A7A" data-on-background-color="#7A7A7A" data-device="myAbfall" data-get='Abfall_GelbeTonne_tage' data-off-color="#E6E600"
data-get-on='["off","^[01]$","^[1-9][0-9]|[2-9]$"]' data-icons='["fs-bag warn","fs-bag warn blink","fs-bag warn"]' data-on-colors='["#E6E600","#E6E600","#E6E600"]' class="bigger"></div>
    <div data-device="myAbfall" data-get="Abfall_GelbeTonne_wochentag" data-type="label" class="darker" ></div>     
                <div data-device="myAbfall" data-get="Abfall_GelbeTonne_datum" data-type="label" class="darker" ></div>
                <div data-type="label" class="darker">Gelbe Tonne</div>
</div>
</div>
<div class="cell">
<div class="row"> 
<div data-type="symbol"  data-off-background-color="#7A7A7A" data-on-background-color="#7A7A7A" data-device="myAbfall" data-get='Abfall_Papier_tage' data-off-color="#32a054"
data-get-on='["off","^[01]$","^[1-9][0-9]|[2-9]$"]' data-icons='["fs-dustbin warn","fs-dustbin warn blink","fs-dustbin warn"]' data-on-colors='["#32a054","#32a054","#32a054"]' class="bigger"></div>
    <div data-device="myAbfall" data-get="Abfall_Papier_wochentag" data-type="label" class="darker"></div>               
                <div data-device="myAbfall" data-get="Abfall_Papier_datum" data-type="label" class="darker"></div>
                <div data-type="label" class="darker">Papier</div>
</div>
</div>

<div class="cell">
<div class="row">

<div data-type="symbol"  data-off-background-color="#7A7A7A" data-on-background-color="#7A7A7A" data-device="myAbfall" data-get='Abfall_Glas_tage' data-off-color="#6699FF"
data-get-on='["off","^[01]$","^[1-9][0-9]|[2-9]$"]' data-icons='["fs-dustbin warn","fs-dustbin warn blink","fs-dustbin warn"]' data-on-colors='["#6699FF","#6699FF","#6699FF"]' class="bigger"></div>
    <div data-device="myAbfall" data-get="Abfall_Glas_wochentag" data-type="label" class="darker"></div>               
                <div data-device="myAbfall" data-get="Abfall_Glas_datum" data-type="label" class="darker"></div>
                <div data-type="label" class="darker">Glas</div>
</div>
</div>
<div class="cell">
<div class="row">

<div data-type="symbol"  data-off-background-color="#7A7A7A" data-on-background-color="#7A7A7A" data-device="myAbfall" data-get='Abfall_Hausmuell_tage' data-off-color="grey"
data-get-on='["off","^[01]$","^[1-9][0-9]|[2-9]$"]' data-icons='["fs-dustbin warn","fs-dustbin warn blink","fs-dustbin warn"]' data-on-colors='["gray","gray","gray"]'   class="bigger"></div>
    <div data-device="myAbfall" data-get="Abfall_Hausmuell_wochentag" data-type="label" class="darker"></div>               
                <div data-device="myAbfall" data-get="Abfall_Hausmuell_datum" data-type="label" class="darker"></div>
                <div data-type="label" class="darker">Hausmüll</div>   
    </div>
    </div>
           
</li>


Gibt es eigentlich ein Symbol für Altglas?

Sargon

Hallo,

bei mir wird leider das Datum bei der Übersicht nicht angezeigt.


Internals:
   CFGFN
   DEF        Abfall
   KALENDER   Abfall
   NAME       myABFALL
   NR         478
   NTFY_ORDER 50-myABFALL
   STATE      2
   TYPE       ABFALL
   Readings:
     2017-05-01 20:09:43   Abfall_Altpapier_datum 26.05.17
     2017-05-01 20:09:43   Abfall_Altpapier_tage 25
     2017-05-01 20:09:43   Abfall_Altpapier_text   Altpapier
     2017-05-01 20:09:43   Abfall_Altpapier_wochentag Freitag
     2017-05-01 20:09:43   Abfall_Biomuell_datum 04.05.17
     2017-05-01 20:09:43   Abfall_Biomuell_tage 3
     2017-05-01 20:09:43   Abfall_Biomuell_text   Biomuell
     2017-05-01 20:09:43   Abfall_Biomuell_wochentag Donnerstag
     2017-05-01 20:09:43   Abfall_GelberSack_datum 03.05.17
     2017-05-01 20:09:43   Abfall_GelberSack_tage 2
     2017-05-01 20:09:43   Abfall_GelberSack_text   GelberSack
     2017-05-01 20:09:43   Abfall_GelberSack_wochentag Mittwoch
     2017-05-01 20:09:43   Abfall_Gruenschnitt_datum 08.11.17
     2017-05-01 20:09:43   Abfall_Gruenschnitt_tage 191
     2017-05-01 20:09:43   Abfall_Gruenschnitt_text   Grünschnitt
     2017-05-01 20:09:43   Abfall_Gruenschnitt_wochentag Mittwoch
     2017-05-01 20:09:43   Abfall_Restmuell_datum 10.05.17
     2017-05-01 20:09:43   Abfall_Restmuell_tage 9
     2017-05-01 20:09:43   Abfall_Restmuell_text   Restmuell
     2017-05-01 20:09:43   Abfall_Restmuell_wochentag Mittwoch
     2017-05-01 20:09:43   next            Abfall_GelberSack_2
     2017-05-01 20:09:43   next_datum      03.05.17
     2017-05-01 20:09:43   next_tage       2
     2017-05-01 20:09:43   next_text         GelberSack
     2017-05-01 20:09:43   next_wochentag  Mittwoch
     2017-05-01 20:09:43   state           2
Attributes:
   userReadings ftui_datum {ReadingsVal("myABFALL","now_text","") eq "" ? datumHeuteMorgen(ReadingsVal("myABFALL","next_datum","")) : "heute";},ftui_next {ReadingsVal("myABFALL","now_text","") eq "" ? ReadingsVal("myABFALL","next","") : ReadingsVal("myABFALL","now","")."_0";}


Hier die Divs für die Label

                <div data-device="myABFALL" data-get="ftui_datum" data-type="label" class="darker"/>   
                <div data-device="myABFALL" data-get="next_text" data-type="label" class="darker"/> 


Ansonsten habe ich keine Änderungen gemacht.

Gruß und Danke für die Hilfe
Thomas
Unitymedia IPv6, Synology 212+, Cul, 4 Max Thermostate und 4 Fensterkontakte

SirMarco

Muss das nicht:

                <div data-device="myABFALL" data-get="next_datum" data-type="label" class="darker"/>   
                <div data-device="myABFALL" data-get="next_text" data-type="label" class="darker"/> 


heissen?

Kusselin

Dann hätte es aber der Ersteller aus Post 1 auch falsch.....

nils_

Zitat von: SirMarco am 02 Mai 2017, 12:19:00
Muss das nicht:

                <div data-device="myABFALL" data-get="next_datum" data-type="label" class="darker"/>   
                <div data-device="myABFALL" data-get="next_text" data-type="label" class="darker"/> 


heissen?
wenn er nur das Datum anzeigen lassen möchte, wäre das richtig, aber in "ftui_datum" steht dann auch noch Text drin (siehe die funktion in 99_myUtils): "heute", "morgen", ....


@Sargon:
hast du auch auch alles was im wiki steht durchgeführt?
wie sieht zB die funktion in 99_myUtils bei dir aus?
viele Wege in FHEM es gibt!

Sargon

Hallo zusammen,

ja ich habe mich an die Anleitung aus dem Wiki und dem Thread gehalten. Hm jetzt wird zumindest das Datum angezeigt aber kein heute oder morgen und Morgen wird abgeholt.
Hier die Funktion aus der 99_myUtils (sollte ohne Änderung sein)

sub datumHeuteMorgen($){
my $compareDate = shift;
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year += 1900; $mon += 1;
my $heute = sprintf('%02d.%02d.%04d', $mday, $mon, $year);
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time+86400);
$year += 1900; $mon += 1;
my $morgen = sprintf('%02d.%02d.%04d', $mday, $mon, $year);

Log3(undef,1,"datumHeuteMorgen: compareDate $compareDate");
Log3(undef,1,"datumHeuteMorgen: Heute $heute und Morgen $morgen");

return "heute" if $compareDate eq $heute;
return "morgen" if $compareDate eq $morgen;
return $compareDate;
}



Danke für die Hilfe
Gruß
Thomas
Unitymedia IPv6, Synology 212+, Cul, 4 Max Thermostate und 4 Fensterkontakte

nils_

ohne Änderung gegenüber dem Wiki ist sie nicht (bei dir sind 2 zeilen für eine log-ausgabe drin).
ob es so funktioniert keine Ahnung, aber wenn hast du ja nen Logauszug davon den könntest du mal posten :)
viele Wege in FHEM es gibt!

Sargon

Hallo zusammen,

bei mir ist das Datum was die Jahreszahl angeht 2stellig und nicht 4stellig wie in der Funktion erwartet.

2017.05.05 22:18:39 1: datumHeuteMorgen: compareDate 10.05.17
2017.05.05 22:18:39 1: datumHeuteMorgen: Heute 05.05.17 und Morgen 06.05.17

Ich hab die Formatierung so umgebaut das das passt

Gruß
Thomas
Unitymedia IPv6, Synology 212+, Cul, 4 Max Thermostate und 4 Fensterkontakte

Kusselin

#24
Hallo Zusammen,

wie schaut das aus wenn ich zB nur die Icons , also die Mülltonnen von hier übernehmen will in meinen Code???
Ich habe z:Zt die Standard -Tonnen abgebildet.

- wo bekommt man die Mülltonnensymbole her und ich muss diese doch in Fhem kopieren..richtig?

Wie muss ich da vorgehen?

Gruss
Markus

Standarduser

Zitat von: Kusselin am 07 Juni 2017, 13:05:14
Hallo Zusammen,

wie schaut das aus wenn ich zB nur die Icons , also die Mülltonnen von hier übernehmen will in meinen Code???
Ich habe z:Zt die Standard -Tonnen abgebildet.

- wo bekommt man die Mülltonnensymbole her und ich muss diese doch in Fhem kopieren..richtig?

Wie muss ich da vorgehen?

Gruss
Markus

Welche Symbole verwendet wurden steht doch im Code, der zu dem Bild gepostet wurde:

fs-bag
fs-dustbin


Einfach statt den fa-*-Symbolen verwenden.

Kusselin

Zitat von: Standarduser am 07 Juni 2017, 17:43:58
Welche Symbole verwendet wurden steht doch im Code, der zu dem Bild gepostet wurde:

fs-bag
fs-dustbin


Einfach statt den fa-*-Symbolen verwenden.

Hallo Standarduser,
vielen Dank für die Info....muss ich aber denn nicht dieses Icon noch irgendwo in fhem abspeichern? wie will fhem das denn dann finden??

schau mal das ist mein jetziger Code..:
<header>
<div data-type="label" class="medium">Abfall Kalender</div>
</header>

<div class="top-space small">

<div class="inline">
                           <div data-type="symbol"
                                  data-device="MuellterminDummy"
                                  data-get="BioTonne"
                                  data-icons='["fa-trash warn fa-spin","fa-trash warn"]'
                                  data-on-colors='["SaddleBrown","SaddleBrown"]'
                                  data-get-on='["0","2"]'
                                  class="bigger inline" >
                           </div>
                                  <div data-type="label"
                                          class="">Biomüll</div>
                   </div>

<div class="inline">
                           <div data-type="symbol"
                                  data-device="MuellterminDummy"
                                  data-get="BlaueTonne"
                                  data-icons='["fa-trash warn fa-spin","fa-trash warn"]'
                                  data-on-colors='["blue","blue"]'
                                  data-get-on='["0","2"]'
                                  class="bigger inline" >
                           </div>
                                  <div data-type="label"
                                          class="">Glasbox</div>
                   </div>

<div class="inline">
                           <div data-type="symbol"
                                  data-device="MuellterminDummy"
                                  data-get="GrueneTonne"
                                  data-icons='["fa-trash warn fa-spin","fa-trash warn"]'
                                  data-on-colors='["green","green"]'
                                  data-get-on='["0","2"]'
                                  class="bigger inline" >
                           </div>
                                  <div data-type="label"
                                          class="">Grüne Tonne</div>
                   </div>

<div class="inline">
                           <div data-type="symbol"
                                  data-device="MuellterminDummy"
                                  data-get="Restmuell"
                                  data-icons='["fa-trash warn fa-spin","fa-trash warn"]'
                                  data-on-colors='["gray","grey"]'
                                  data-get-on='["0","2"]'
                                  class="bigger inline" >
                           </div>
                                  <div data-type="label"
                                          class="">Restmüll</div>
                   </div>


Über ne Info vielen Dank

Gunther

FHEM hat die Standard Icons an Board. Wenn Du eigene nutzen willst, schau mal ins Wiki.
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Kusselin

Hallo Gunther,
habe gesehen das du auch mal einen Thread eröffnet hast....

Aber woher bekomme ich das Icon??? wie ich es einbinden muss kann ich lesen..aber als .png Datei woger bekomme ich das??

Gruss

Standarduser

Zitat von: Kusselin am 07 Juni 2017, 19:36:45
Hallo Gunther,
habe gesehen das du auch mal einen Thread eröffnet hast....

Aber woher bekomme ich das Icon??? wie ich es einbinden muss kann ich lesen..aber als .png Datei woger bekomme ich das??

Gruss

Trage das doch einfach mal ein.
Oder hast du es schon ausprobiert und es wird nicht angezeigt?

Wie schon zuvor geschrieben: einfach mal ins Wiki schauen. Das ist dort beschrieben.
Dann ausprobieren und wenn es nicht geht, dann fragen.