at - Bei Neustart nicht neu ermitteln

Begonnen von chris050280, 15 September 2014, 06:27:58

Vorheriges Thema - Nächstes Thema

chris050280

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
FHEM auf RasbPi ... + RFXTRX433E
div. HomeEasy und Intertechno - Schalter
sowie Somfy - Rolläden

micomat

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
Synology DS218+ with fhem+iobroker in docker, 2x RasPi w. ser2net, CUL433+868, IT, EGPM2LAN, THZ/LWZ, FB_Callmonitor, HMS100TF, Homematic, 2x TX3-TH, Pushover, USB-IR-SML-Head, SONOS, GHoma, MBus, KLF200

betateilchen

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.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

chris050280

Hallo.  Danke für die Antworten werde es später ausprobieren. 

@Betateilchen: will auch nicht immer 1. landen.  Sondern um 30 Tage vorstellen.
FHEM auf RasbPi ... + RFXTRX433E
div. HomeEasy und Intertechno - Schalter
sowie Somfy - Rolläden

chris050280

hab es jetzt getestet, definieren sich beide beim Neustart neu  :'(
FHEM auf RasbPi ... + RFXTRX433E
div. HomeEasy und Intertechno - Schalter
sowie Somfy - Rolläden

betateilchen

ja, sorry. Das war ein Denkfehler von mir heute nachmittag. Das at selbst wird nicht gespeichert, wenn es nur einmal definiert ist.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

chris050280

Dann werde ich mir wohl ganz simpel für einmal im Monat eine Erinnerung setzen im Handy :D
FHEM auf RasbPi ... + RFXTRX433E
div. HomeEasy und Intertechno - Schalter
sowie Somfy - Rolläden

betateilchen

was spricht denn dagegen, es - wie bereits vorgeschlagen - immer auf den Monatsersten zu legen? Dann brauchst Du gar kein at.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

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.

chris050280

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.
FHEM auf RasbPi ... + RFXTRX433E
div. HomeEasy und Intertechno - Schalter
sowie Somfy - Rolläden

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Hollo

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?  ::)

FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

chris050280

mit dem Holiday-file hatte ich noch nichts zu tun :). Muss ich mir mal anschauen.  Danke für den Tipp.

LG Christian
FHEM auf RasbPi ... + RFXTRX433E
div. HomeEasy und Intertechno - Schalter
sowie Somfy - Rolläden

chris050280

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
FHEM auf RasbPi ... + RFXTRX433E
div. HomeEasy und Intertechno - Schalter
sowie Somfy - Rolläden

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!