Hauptmenü

Aufgabenplanung mit FHEM

Begonnen von blixx, 13 Oktober 2016, 12:17:14

Vorheriges Thema - Nächstes Thema

blixx

Hi zusammen,
ich habe schon ein paar schöne Sachen mit FHEM laufen, zum Beispiel ein Kalendergesteuertes Wake-Up-Szenario oder das Auslesen von Abfuhrkalendern usw.
Was ich nun Suche ist eine Art Zeitgesteuerter Button.
Also Button gedrückt, dann läuft ein definierter Timer (zB 7d - für Müllrausbringen oder 90d für Kaffeemaschine entkalken), nach Ablauf des Timers läuft dann eine Aktion.
Wenn die Aufgabe erledigt wurde, wird der Button gedrückt und der Timer beginnt von neuem(bestehende Timer werden gelöscht).
Schön wäre auch sowas wie eine Restzeit-Anzeige.
Ich meine auch sowas schon einmal irgendwo gesehen zu haben, hab jetzt aber bei der Forum-Suche nicht gefunden.

Sowas wäre auch cool zur Aufgabenverteilung in einer WG.
Da würde dann der, der den Button drückt, den Timer für den Mitbewohner starten , der als nächstes dran ist(FHEM könnte entscheiden wer) und dieser würde eine Nachricht bekommen wenns Zeit ist.

Kennt da wer was Fertiges?
Hat bestimmt schon mal jemand was gemacht in die Richtung..

Beste Grüße

Bernd

visionsurfer

Grundsätzlich coole Idee. Würde mich auch interessieren, wie da die Ansätze wären.

Grüße,
Visionsurfer

marvin78


visionsurfer

Krass. Was es alles gibt.
Geil. Ich arbeite viel mit Wunderlist. Muss ich mir mal näher anschauen, was man da alles basteln könnte :)

Grüße,
Visionsurfer

blixx

#4
Ich glaub wunderlist wär ein bisschen oversized und noch eine schnittstelle die vielleicht nicht unbedingt sein muss.
Bezüglich Restzeit hab ich das hier gefunden.
Man könnte das also vielleicht mit on/off-for-timer lösen


/Sry, Links vergessen
Balkenanzeige:
http://www.fhemwiki.de/wiki/ReadingsGroup

Timed_OnOff:
https://forum.fhem.de/index.php/topic,39090.0.html

blixx

Okay, also mal Zwischenstand:
Hiermit kann man die Restzeit abfragen:

define Restzeit notify Restzeit { \
   my $triggertime= InternalVal("Aufgabe_timer","TRIGGERTIME","0");;\
   my $t = time;;\
   my $restzeit = floor($triggertime-$t);;\
   fhem("setreading Aufgabe_timer Restzeit $restzeit");;\
}
-->"Aufgabe_timer" ist ein "at", das automatisch bei on-for-timer von FS20-Dummys angelegt wird.
-->Die Restlaufzeit in Sekunden wird als Reading in das "at" geschrieben



Hiermit zeige ich im Moment den voraussichtlichen Füllstand von Mülltonnen an:

define RestmuellFuellstand dummy
attr RestmuellFuellstand devStateIcon {Balken("RestmuellFuellstand",100,8,50,"FFFFFF","4B9C8A")}
attr RestmuellFuellstand room Plots

define RestmuellFuellstandfn notify Abfallview { \
   my $max= 14;;\
   my $Resttage = ReadingsVal("Abfallview", "Abfall_AWMRestabfalltonne_tage", 0);;\
   my $prozent=  100-($Resttage/$max*100);;\
   fhem("set RestmuellFuellstand $prozent");;\
}

99my:
sub Balken($$$$$$) {
my ($name, $max, $width, $height, $color1, $color2) = @_;
my $p=int(ReadingsVal("$name","state",0)/($max/$height));
return '<div align="center"><div align="bottom" style="width:'.$width.'px;height:'.($height-$p).'px;background-color:#'.$color1.'"></div><div align="bottom" style="width:'.$width.'px;height:'.$p.'px;background-color:#'.$color2.';"></div></div>'
}
(Der Müll wird alle 14 Tage abgeholt und umso mehr Tage vergehen, desto voller wird die Mülltonne sein. Code abgeguckt aus dem Forum)


Was nun noch fehlt:
Ein Device, das auf der Oberfläche von Fhem nur einen Trigger Button hat
Eine Automatik, die den "Restzeit-Code" für das jeweilige Device anpasst
Ein Trigger, der die restzeit aktualisiert, wenn sie gebracuht wird.