FHEM Forum

FHEM => Automatisierung => Thema gestartet von: chris050280 am 15 September 2014, 06:27:58

Titel: at - Bei Neustart nicht neu ermitteln
Beitrag von: chris050280 am 15 September 2014, 06:27:58
Liebe FHEM-Mitstreiter!


Ich würde mich gerne per Pushover alle 30 Tage an das Service meines Maehrobotors einen lassen. Bei jedem Neustart von Fhem werden aber die 30 Tage neu ermittelt.  Folgenden Code habe ich angelegt:


define Maeher TRX_LIGHT AC 00888c2208 light
attr Maeher webCmd on:off:reset
attr Maeher fp_GR 480,500,1
attr Maeher room Außensensoren

define Maeher_Dummy1 notify Maeher:reset define Maeher_Service at +720:00:00 set Maeher on;; set Pushover1 msg 'Maeher Service!!! 'Maeher Service ist zu machen' '' 0 ''

DANKE für eure Hilfe im voraus.

LG Christian
Titel: Antw:at - Bei Neustart nicht neu ermitteln
Beitrag von: micomat am 15 September 2014, 06:33:07
Hi,
versuchs mal hiermit:
define jedenersten at *18:00:00 {if($mday = 1) { deinCode }}

Damit wuerde die Erinnerung an jedem 1. des Monats kommen. Sind zwar dann je nach Monat nicht exakt 30 Tage aber besser als ein Reset ;)

Markus
Titel: Antw:at - Bei Neustart nicht neu ermitteln
Beitrag von: betateilchen am 15 September 2014, 14:09:44
Ein einmalig auszuführendes at wie von Dir definiert wird bei einem save nicht mit abgespeichert. Probier mal ein wiederholendes at mit +*720:00:00.

Wobei Du bei 720 Stunden nicht automatisch immer am 1. eines Monats landest.

Titel: Antw:at - Bei Neustart nicht neu ermitteln
Beitrag von: chris050280 am 15 September 2014, 16:17:27
Hallo.  Danke für die Antworten werde es später ausprobieren. 

@Betateilchen: will auch nicht immer 1. landen.  Sondern um 30 Tage vorstellen.
Titel: Antw:at - Bei Neustart nicht neu ermitteln
Beitrag von: chris050280 am 15 September 2014, 19:36:04
hab es jetzt getestet, definieren sich beide beim Neustart neu  :'(
Titel: Antw:at - Bei Neustart nicht neu ermitteln
Beitrag von: betateilchen am 15 September 2014, 21:08:04
ja, sorry. Das war ein Denkfehler von mir heute nachmittag. Das at selbst wird nicht gespeichert, wenn es nur einmal definiert ist.
Titel: Antw:at - Bei Neustart nicht neu ermitteln
Beitrag von: chris050280 am 15 September 2014, 21:12:29
Dann werde ich mir wohl ganz simpel für einmal im Monat eine Erinnerung setzen im Handy :D
Titel: Antw:at - Bei Neustart nicht neu ermitteln
Beitrag von: betateilchen am 15 September 2014, 21:14:10
was spricht denn dagegen, es - wie bereits vorgeschlagen - immer auf den Monatsersten zu legen? Dann brauchst Du gar kein at.
Titel: Antw:at - Bei Neustart nicht neu ermitteln
Beitrag von: rudolfkoenig am 15 September 2014, 23:22:52
ZitatEin einmalig auszuführendes at wie von Dir definiert wird bei einem save nicht mit abgespeichert.

Das waere aber ein Bug. Solche at definitionen werden  (warum auch immer) in fhem.state gespeichert.
Titel: Antw:at - Bei Neustart nicht neu ermitteln
Beitrag von: chris050280 am 16 September 2014, 05:22:33
Also ich würde gerne im konkreten folgendes machen:

Der Maehrobotor muss nach 30 Tagen geputzt und die Klingen getauscht werden.  Dazu hätte ich gerne einen Schalter im Floorplan, der auf an springt, wenn diese 30 Tage um sind.  Wenn ich diesen schaltet auf off Stelle,  sollen die 30 Tage wieder von vorne beginnen.

Dasselbe dann auch mit Laufzeiten von 90 Tagen für den Filtertausch der Wohnraumlueftung und für 180 Tage beim Frischwasserfilter.
Titel: Antw:at - Bei Neustart nicht neu ermitteln
Beitrag von: betateilchen am 16 September 2014, 08:30:31
30 Tage = 12 Einträge pro Jahr. Schreib doch die Termine einfach in ein holiday-File, soviel Arbeit ist das doch nicht. Die Filterwechesltage kannst Du da auch gleich mit unterbringen.
Titel: Antw:at - Bei Neustart nicht neu ermitteln
Beitrag von: Hollo am 16 September 2014, 09:07:54
Zitat von: chris050280 am 16 September 2014, 05:22:33
...Der Maehrobotor muss nach 30 Tagen geputzt und die Klingen getauscht werden...Dasselbe dann auch mit Laufzeiten von 90 Tagen für den Filtertausch der Wohnraumlueftung und für 180 Tage beim Frischwasserfilter...
Das mit dem holiday-File ist doch ein guter Vorschlag; das übersteht Neustarts und Reboot ohne Probleme, und der 1 Tag Unterschied durch Schaltjahre wird den Mäher nicht aus dem Takt bringen.

Warum kommt mir jetzt gerade der Gedanke, sowas mit passenden Bildchen auf dem RSS-Tablet für meinen Kaffeevollautomaten (spülen, reinigen, entkalken...) zu realisieren?  ::)

Titel: Antw:at - Bei Neustart nicht neu ermitteln
Beitrag von: chris050280 am 16 September 2014, 12:23:09
mit dem Holiday-file hatte ich noch nichts zu tun :). Muss ich mir mal anschauen.  Danke für den Tipp.

LG Christian
Titel: Antw:at - Bei Neustart nicht neu ermitteln
Beitrag von: chris050280 am 16 September 2014, 20:24:37
Hab jetzt mal Holiday eingefügt in fhem.cfg mittels:

define events holiday
define CheckEventHeute at *20:22:00 {\
my $Eventname;;\
my $EventHeute;;\
$EventHeute = fhem("get events today");;\
print $EventHeute;;\
if ($EventHeute ne "none") {\
  $Eventname = "Reminder: $EventHeute" ;;\
  Pushover1 msg ''Erinnerung' $Eventname' '' $Eventname '';;\
}\
}

und die events.holiday:
# Format für einzelne Tage: 1 MM-DD
1 03-15 Maeherservice
1 04-15 Maeherservice
1 05-15 Maeherservice
1 06-15 Maeherservice
1 07-15 Maeherservice
1 08-15 Maeherservice
1 09-15 Maeherservice
1 10-15 Maeherservice
1 12-15 Filter_Lueftung_ohne_Pollenfilter
1 03-15 Filter_Lueftung_mit_Pollenfilter
1 06-15 Filter_Lueftung_ohne_Pollenfilter
1 09-15 Filter_Lueftung_mit_Pollenfilter
1 09-16 TEST

FHEM ermittelt mir unter events das "TEST", schickt aber nichts über Pushover. Erkennt jemand den Fehler? DANKE

LG Christian
Titel: Antw:at - Bei Neustart nicht neu ermitteln
Beitrag von: betateilchen am 17 September 2014, 10:38:05
Du machst das viel zu kompliziert. Die Sache mit dem "get events" kannst Du Dir komplett sparen, da der aktuelle Status immer automatisch kurz nach Mitternacht ermittelt wird und in state steht.

Du brauchst also nur das reading auszulesen und entsprechend zu reagieren. Theoretisch könnte man sogar direkt auf das holiday-device triggern.

In Deiner pushover Anweisung stimmt etwas mit den doppelten Anführungszeichen nicht, davon gibt es drei Stück und die dürfen eigentlich nicht in einer ungeraden Anzahl vorkommen.