FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: chq am 27 Juli 2018, 13:08:12

Titel: Globale Variable erstellen?
Beitrag von: chq am 27 Juli 2018, 13:08:12
Hallo,

ich vermute, dass ich so etwas wie eine globale Variable brauche.

Folgender Sachverhalt will gelöst werden:

Bisher war es so, dass ich mein NAS 24/7 laufen hatte und ich per Zeitschaltuhr einmal in der Woche einer externen Festplatte Strom gab. Das Erkennen der externen Festplatte seitens des NAS veranlasste dieses dazu, ein Backup von sich auf die externe Platte zu machen.

Mittlerweile fährt das NAS dank FHEM und PRESENCE automatisiert lustig rauf und runter.

Weniger lustig ist das Ganze natürlich bzgl. der (noch immer) doofen Zeitschaltuhr, die es natürlich nicht interessiert, ob das NAS aktuell ein- oder ausgeschaltet ist.

Nun meine Idee:

An einem definierten Tag der Woche soll das NAS für mind. acht Stunden am Stück laufen. Gleichzeitig soll zu diesem Zeitpunkt die externe Festplatte (via tasmotageflashter WLAN-Steckdose) für acht Stunden Strom bekommen. Nur wenn sich das NAS an diesem Tag der Woche nicht durch die Ankunft einer Person einschalten sollte, soll der Vorgang "acht Stunden Strom für NAS und ext. Platte" z.B. um 22 Uhr automatisiert gestartet werden.

Was z.B. nicht passieren darf:

Das NAS fährt nach weniger als acht Stunden wieder runter, weil eben alle das Haus verlassen haben (Stichwort PRESENCE).

Wie löst man so etwas grob?

Gruß Chris
Titel: Antw:Globale Variable erstellen?
Beitrag von: CBSnake am 27 Juli 2018, 14:15:15
Hi,

würde ich so angehen:

wenn die Sicherung länger als eine Woche her ist, deine Automatik auf disable setzen, anschalten, externe Platte anschalten, nach 8h ausschalten, Automatik wieder auf enable, Reading setzen: Sicherung erfolgt

Wenn das NAS angeht und die letzte Sicherung 6 Tage her ist selbe Aktion wie oben, spart dir sinnloses hochfahren nur für die Sicherung.

Lässt sich z.b. mit Doifs und at lösen.

Probier dich mal dran wenn nicht weiter kommst oder mehr "Ansatz" brauchst Gib bescheid ;-)

Grüße

Achim
Titel: Antw:Globale Variable erstellen?
Beitrag von: Amenophis86 am 27 Juli 2018, 16:27:52
Überleg nicht mit globalen Variablen, sondern überlege logisch. Soll heißen, ich glaube dein Problem ist die Logik welche fehlt. Ich schreibe mir zB solche Sachen dann immer auf einem Zettel auf mit wenn ... dann ... Verknüpfungen. Alternativ kann man sich auch einen Verlauf zeichnen um die Logik besser zu verstehen was, wann, wie sein muss.
Titel: Antw:Globale Variable erstellen?
Beitrag von: chq am 28 Juli 2018, 09:30:21
Wäre es eine denkbare Lösung, der WLAN-Steckdose z.B. über userReadings seitens des NAS-DOIFs mitzuteilen, dass der Zeitpunkt gekommen ist, sich einzuschalten?

Gruß Chris
Titel: Antw:Globale Variable erstellen?
Beitrag von: Amenophis86 am 28 Juli 2018, 11:36:02
Denkbar wäre es, bin mir nur noch nicht sicher, ob du deine Logik schon verstanden hast um alle Möglichkeiten abzudecken.
Titel: Antw:Globale Variable erstellen?
Beitrag von: chq am 30 Juli 2018, 08:39:58
Du kannst davon ausgehen, dass ich meine Logik immer verstehe.

Anbei ein in DOIF ausgedrückter Lösungsansatz:

DOIF (es ist Freitag zwischen 12 und 20 Uhr AND NAS fährt im Moment hoch) WLAN-Steckdose einschalten, NAS von nun an für acht Stunden laufen lassen
DOELSEIF(es ist Freitag 20 Uhr und NAS fuhr zwischen 12 und 20 Uhr nicht hoch) WLAN-Steckdose einschalten, NAS hochfahren und von nun an für acht Stunden laufen lassen
DOELSEIF (acht Stunden seit dem einschalten der WLAN-Steckdose sind vergangen) WLAN-Steckdose ausschalten


Ich weiss nicht, wie ich Folgendes umsetzen soll:

1. NAS von nun an für acht Stunden laufen lassen

Das NAS hat bereits das folgende DOIF. Dieses müsste ich ja dann für den Zeitraum von achts Stunden eigentlich deaktivieren.

([Bewohner:state] eq "home" and [NAS:isRunning] eq "false") (set NAS on) DOELSEIF ([Bewohner:state] eq "absent" and [NAS:isRunning] eq "true") (set NAS off)

2. NAS fuhr zwischen 12 und 20 Uhr nicht hoch

Wie kann ich "markieren/festhalten", ob das NAS an diesem Tag hochfuhr, oder nicht? In anderen Programmiersprachen würde ich hierfür einfach eine glabale Variable verwenden.

3. NAS hochfahren und von nun an für acht Stunden laufen lassen

Hier auch wieder die Frage, wie ich das eigentliche NAS-DOIF für diesen Zeitraum übergehen könnte.

Gruß Chris
Titel: Antw:Globale Variable erstellen?
Beitrag von: Amenophis86 am 30 Juli 2018, 08:48:30
Deaktivieren = disable
Globale Variable = Readings
Titel: Antw:Globale Variable erstellen?
Beitrag von: Otto123 am 30 Juli 2018, 09:30:11
Zu deinem Punkt 2. vielleicht mal dieses Beispiel:
defmod di_Staubi1 DOIF ([AlleAnwesend:"absent"] and ([?Staubi1] eq "Docked" or [?Staubi1] eq "connected") and [?$SELF:saugen] eq "active") \
    (set Staubi1 cleaning_mode turbo,set Staubi1 start) \
DOELSEIF\
([Staubi1:"Charging"] and [?$SELF:saugen] eq "active")(setreading $SELF saugen done)\
DOELSEIF\
([AlleAnwesend:"present"] and ([?Staubi1] eq "Docked" or [?Staubi1] eq "connected") and [?$SELF:saugen] eq "done")\
    (set Staubi1 fan_power 1)(set Staubi1 remotecontrol start)(set Staubi1 move 0 50 5000)(set Staubi1 remotecontrol stop)\
DOELSEIF ([Staubi1:"Sleeping"])(set Staubi1 charge)(set Staubi1 cleaning_mode turbo,setreading $SELF saugen dustbin)\
DOELSEIF ([04:00]) (set Staubi1 charge,setreading $SELF saugen active)
attr di_Staubi1 room Sauger
attr di_Staubi1 wait 0:0:0,10,10,10:0,10:0
Im Reading "saugen" merke ich mir den aktuellen Zustand des Tagesablaufes.
Aufgabe:
- Einmal am Tag, wenn alle weg sind saugen.
- Wenn nach Abschluss jemand wiederkommt, rausfahren zum Behälter putzen.
- Früh um vier einfach reset des Tagesablaufes.

Gruß Otto
Titel: Antw:Globale Variable erstellen?
Beitrag von: kadettilac89 am 30 Juli 2018, 10:13:39
viele Wege führen nach Rom.

Ich habe was ähnliches aber mit anderer Herangehensweise.

Für das Schalten und 8 Stunden anbleiben ..
--> Hierzu ein IT device Schalter ... dieser unterstützt die Funktion on-for-timer. Alternativ jeder andere Typ der on-for-timer hat.
Define IT_Wlan_Schalter_Dummy

Für die Wlan Steckdose eine normale Definition, hast du schon
Define S20_Wlan

Für das Schalten Wlan-Dose mit dem IT-Dummy
1) Notify auf IT_Wlan_Schalter_Dummy
Define ntf_IT_Wlan_Schalter --> set S20_Wlan <event>

Die Presencelogik wird etwas erweitert
Bedingngu ... wenn Presence = off && IT_Wlan_Schalter_Dummy = off --> set S20_Wlan off     
--> Wenn IT_Wlan_Schalter_Dummy = on wurde diese mit Timer 8 Stunden eingeschaltet und schaltet sich selber aus, darum kein weiterer Eingriff in die Logik. Wenn On-for-timer aktiv "pfuscht" die Presence-Schaltung nicht mehr rein

Das At am Samstag, dass die Sicherung einschaltet ändert sich und schaltet nun den IT-Dummy ..... set IT_Wlan_Schalter_Dummy on-for-timer 28800 (sekunden = 8 Stunden)

Natürlich ist alles mit DO-IF, Timern, ... , möglich. Mit dem IT-Dummy hast du nebenbei noch den visuellen Nutzen ... Wenn der IT-Dummy "on" ist zeigt dir dass ein Schalter an und somit der Sicherungsmodul läuft.
Titel: Antw:Globale Variable erstellen?
Beitrag von: Prof. Dr. Peter Henning am 30 Juli 2018, 11:50:54
Solche Automatisierungsaufgaben lassen sich sehr gut mit dem Modul YAAHM lösen.

LG

pah
Titel: Antw:Globale Variable erstellen?
Beitrag von: Wuppi68 am 30 Juli 2018, 16:01:29
oder noch als "einfache" Version...

ist jemand zu Hause ist das NAS eingeschaltet

also

Kommt zieht virtuelle Person bei dir ein und die ist z.B. jeden Samstag für die Datensicherung von 22:00 bis 06:00 bei Dir zu Hause
Titel: Antw:Globale Variable erstellen?
Beitrag von: chq am 31 Juli 2018, 07:39:03
Kann man eine virtuelle Person mit RESIDENTS abbilden?

Gruß Chris
Titel: Antw:Globale Variable erstellen?
Beitrag von: kadettilac89 am 31 Juli 2018, 07:43:32
Lege einen dummy Roommate an und setze location mit  Set location Home bzw. Away mit einem at. Wenn du noch andere Aktionen per Resident schaltest sind die außer Kraft da ja dein dummy Mitbewohner zu Hause ist.
Titel: Antw:Globale Variable erstellen?
Beitrag von: chq am 31 Juli 2018, 07:47:52
Danke. Danke für den Hinweis. Ich kann es eben deshalb so nicht machen. Werd mich jetzt ein DOIF zusammenbasteln.

Gruß Chris
Titel: Antw:Globale Variable erstellen?
Beitrag von: chq am 31 Juli 2018, 07:50:18
Zitat von: Otto123 am 30 Juli 2018, 09:30:11
Zu deinem Punkt 2. vielleicht mal dieses Beispiel:
defmod di_Staubi1 DOIF ([AlleAnwesend:"absent"] and ([?Staubi1] eq "Docked" or [?Staubi1] eq "connected") and [?$SELF:saugen] eq "active") \
    (set Staubi1 cleaning_mode turbo,set Staubi1 start) \
DOELSEIF\
([Staubi1:"Charging"] and [?$SELF:saugen] eq "active")(setreading $SELF saugen done)\
DOELSEIF\
([AlleAnwesend:"present"] and ([?Staubi1] eq "Docked" or [?Staubi1] eq "connected") and [?$SELF:saugen] eq "done")\
    (set Staubi1 fan_power 1)(set Staubi1 remotecontrol start)(set Staubi1 move 0 50 5000)(set Staubi1 remotecontrol stop)\
DOELSEIF ([Staubi1:"Sleeping"])(set Staubi1 charge)(set Staubi1 cleaning_mode turbo,setreading $SELF saugen dustbin)\
DOELSEIF ([04:00]) (set Staubi1 charge,setreading $SELF saugen active)
attr di_Staubi1 room Sauger
attr di_Staubi1 wait 0:0:0,10,10,10:0,10:0
Im Reading "saugen" merke ich mir den aktuellen Zustand des Tagesablaufes.
Aufgabe:
- Einmal am Tag, wenn alle weg sind saugen.
- Wenn nach Abschluss jemand wiederkommt, rausfahren zum Behälter putzen.
- Früh um vier einfach reset des Tagesablaufes.

Gruß Otto

Nach was muss ich suchen, wenn ich verstehen möchte, was die ?, $ und \ in Deinem Beispiel bedeuten?

Gruß Chris
Titel: Antw:Globale Variable erstellen?
Beitrag von: CBSnake am 31 Juli 2018, 07:54:51
Moin Chris,

dazu musst du die Beschreibung zum DOIF lesen :-)

https://fhem.de/commandref_DE.html#DOIF (https://fhem.de/commandref_DE.html#DOIF)

den \ wirst du da aber nicht finden, der erscheint nur wenn man sich die raw definition anschaut und bedeutet schlicht und einfach zeilenumbruch ;-)

Grüße
Achim
Titel: Antw:Globale Variable erstellen?
Beitrag von: Otto123 am 31 Juli 2018, 11:21:20
Moin Chris,

die ersten beiden Sachen findest Du in der Doku von DOIF (https://commandref.fhem.de/commandref_DE.html#DOIF_Zeitintervalle_Readings_und_Status_ohne_Trigger)
? bedeutet an der Stelle, der Wert wird abgefragt, triggert aber das Modul nicht.
$SELF steht für den Namen des DOIF (er selbst) damit kann man das DOIF umbenennen ohne den Code ändern zu müssen.

Der Code selbst ist für die Raw Def, dort wird der Zeilenumbruch (nicht das Codezeilenzeilenende) mit dem \ maskiert.

Edit: Jetzt habe ich einfach geschrieben und nicht weitergeblättert :)

Gruß Otto
Titel: Antw:Globale Variable erstellen?
Beitrag von: chq am 08 August 2018, 22:04:07
Zitat von: Amenophis86 am 30 Juli 2018, 08:48:30
Deaktivieren = disable
Globale Variable = Readings

Die Antwort ist kurz und knackig. Fein.  :)

Wie setze ich denn ein anderes DOIF auf "disable"? Die Suche in der englischsprachigen Commandref ergibt 621 Treffer.

Gruß Chris
Titel: Antw:Globale Variable erstellen?
Beitrag von: Otto123 am 08 August 2018, 22:10:43
Hallo Chris,

und in der englischen commandref ist DOIF nicht komplett dokumentiert.
Bei den meisten Geräten geht das mit attr NameDesDevices disable 1
Beim DOIF geht das auch mit
set NameDesDoif disable

Es gibt auch noch disabledForIntervals ...

Gruß Otto
Titel: Antw:Globale Variable erstellen?
Beitrag von: chq am 18 August 2018, 10:37:41
Hallo Otto,

ich denke, dass ich mittlereile einen Großteil Deines Beispiels mit dem Saugroboter verstehe.  ;D

Solche konkreten Beispiele sind oftmals viel hilfreiecher als so manche "einfachen Idealbeispiele" aus der Commandref.

Zwei Fragen hätte ich jedoch trotzdem.

1. Gehst Du davon aus, dass der Saugvorgang immer dann vollumfänglich beendet ist, sobald der Saugroboter an die Ladestation fährt?
2. Was setzt Staubi1 auf "Sleeping"?

Danke.  :)

Gruß Chris
Titel: Antw:Globale Variable erstellen?
Beitrag von: Otto123 am 18 August 2018, 11:58:58
Moin Chris,

zu 1. ich unterbreche den Saugvorgang nicht. D.h. er wird gestartet und der Saugroboter erledigt selbstständig seine Arbeit und fährt, solange er sich nicht in irgendwelchen Schnürsenkeln selbst gefangen hat, zurück zur Ladestation. Ob der Saugvorgang voll umfänglich war kann ich nur im Nachgang an Hand der Karte feststellen.
zu 2. Das macht der Saugroboter selbst. Ich fahre ihn ja aus der Station zum Behälter leeren. Jetzt kann der Entleerer auf den Home Knopf drücken und er fährt wieder zurück. Oder ich lass ihn einfach stehen wo er steht, dann schaltet er in den Schlafmodus. Das passiert nach ca. 14 min. Ja es ist gemein, wo er gerade eingeschlafen ist wecke ich ihn wieder auf und fahre ihn zurück. Das passiert natürlich auch wenn man den Behälter nicht geleert hat. Dafür gibt es leider keinen Event.

Gruß Otto
Titel: Antw:Globale Variable erstellen?
Beitrag von: chq am 19 August 2018, 11:51:00
"saugen" ist ein Reading, welches Du via readingList erzeugt hast?

Gruß Chris
Titel: Antw:Globale Variable erstellen?
Beitrag von: Otto123 am 19 August 2018, 12:05:17
Das reading saugen entsteht einfach durch den setreading Befehl im DOIF selbst. Also irgendwann das DOIF am Tage definiert, Nachts um 4:00 Uhr schlägt der letzte DOIF Zweig zu und setzt das reading. Ab da ist es verfügbar.
Kann man natürlich auch bei der Anlage des DOIF einmal mit dem setreading Befehl setzen.
Titel: Antw:Globale Variable erstellen?
Beitrag von: chq am 27 September 2018, 08:45:50
Was muss ich tun, damit ein DOIF im Moment des per enable "scharfgeschaltet werdens" prüft, ob es unmittelbar eines seiner Zweige ausführen muss?

Im u.a. Fall schaltet das NAS nicht ab, wenn im oberen DOIF set doif_NAS enable ausgeführt wird, aber niemand daheim ist.

Dieses DOIF schaltet das unten angegebene DOIF:

([14:59|Do]) (setreading $SELF doifState reset) ## Reset

DOELSEIF ([15:00-24:00|Do] and [Bewohner:"home"]) ## Zwischen 15-24 Uhr
(set nasBackupHD on) ## NAS Backup HD einschalten
(set doif_NAS disable) ## NAS-DOIF deaktivieren
(setreading $SELF doifState backupRunning) ## Zustand ändern

DOELSEIF ([$SELF:doifState] eq "backupRunning")
(set nasBackupHD off) ## NAS Backup HD ausschalten
(set doif_NAS enable) ## NAS-DOIF aktivieren
(setreading $SELF doifState hd_finished) ## Zustand ändern

DOELSEIF ([15:00|Fr]) (setreading $SELF doifState idle) ## Auf nächstes Backup warten


Inhalt des zu schaltenden DOIFs:

([Bewohner:"home"]) (set NAS on) DOELSEIF ([Bewohner:"absent"]) (set NAS off)

Gruß Chris
Titel: Antw:Globale Variable erstellen?
Beitrag von: Amenophis86 am 27 September 2018, 16:19:03
https://fhem.de/commandref_DE.html#DOIF_setcheckall
Titel: Antw:Globale Variable erstellen?
Beitrag von: chq am 27 September 2018, 20:25:34
Somit ist doch eigentlich ,,initialize" das, was ich benötige, oder?

Gruß Chris
Titel: Antw:Globale Variable erstellen?
Beitrag von: Amenophis86 am 27 September 2018, 20:49:10
nein, ist es nicht. Damit entscheidest du nur, welchen Zustand das DOIF annehmen soll, es wird nix geschaltet. Habe doch genau auf die Funktion verlinkt, welche du nutzen musst :)
Titel: Antw:Globale Variable erstellen?
Beitrag von: chq am 27 September 2018, 20:53:03
Hm, ok. Um das ausführen zu können, muss ich das entspr. DOIF aber schon zunächst einmal mit..

(set doif_NAS enable)

..aktivieren, oder? Anschließend dann..

(set doif_NAS checkall)

..oder?

Gruß Chris
Titel: Antw:Globale Variable erstellen?
Beitrag von: Amenophis86 am 27 September 2018, 20:55:33
korrekt :)
Titel: Antw:Globale Variable erstellen?
Beitrag von: chq am 27 September 2018, 20:57:31
Super, vielen Dank. Werd's dann mal umbauen.

Gruß Chris
Titel: Antw:Globale Variable erstellen?
Beitrag von: chq am 28 September 2018, 07:17:40
Guten Morgen,

ich habe festgestellt, dass ein anderes Problem bei meinem DOIF dafür sorgt, dass es noch nicht funktioniert.

DOELSEIF ([$SELF:doifState] eq "backupRunning") wird offensichtlich nie wahr, obwohl ich im Kommando zuvor (setreading $SELF doifState backupRunning) angegeben habe.

Das DOIF bleibt somit immer bei cmd_nr 2, cmd_seqnr 3 hängen, da cmd_nr 3 nie erreicht wird.

wait wird zwar (u.a. mit einer Angabe von 28800 Sekunden) verwendet, ich kann aber trotzdem keinen Fehler entdecken.

Scheinbar wird nicht geprüft, ob doifState die Zeichenkette backupRunning enthält; aber warum?

Hier mal ein list:

Internals:
   DEF        ([14:59|Do]) (setreading $SELF doifState reset) ## Reset

DOELSEIF ([14:00-24:00|Do] and [Bewohner:"home"]) ## Zwischen 14-24 Uhr
(set nasBackupHD on) ## NAS Backup HD einschalten
(set doif_NAS disable) ## NAS-DOIF deaktivieren
(setreading $SELF doifState backupRunning) ## Zustand ändern

DOELSEIF ([$SELF:doifState] eq "backupRunning")
(set nasBackupHD off) ## NAS Backup HD ausschalten
(set doif_NAS enable) ## NAS-DOIF aktivieren
(setreading $SELF doifState hd_finished) ## Zustand ändern

DOELSEIF ([15:00|Fr]) (setreading $SELF doifState idle) ## Auf nächstes Backup warten
   MODEL      FHEM
   NAME       doif_nasBackupHD
   NR         58
   NTFY_ORDER 50-doif_nasBackupHD
   STATE      backupRunning
   TYPE       DOIF
   READINGS:
     2018-09-28 05:45:34   Device          Bewohner
     2018-09-27 16:04:43   cmd             2.3
     2018-09-27 16:04:43   cmd_event       Bewohner
     2018-09-27 16:04:43   cmd_nr          2
     2018-09-27 16:04:43   cmd_seqnr       3
     2018-09-27 16:04:43   doifState       backupRunning
     2018-09-28 05:45:34   e_Bewohner_events home
     2018-09-27 08:48:24   mode            enabled
     2018-09-27 16:04:43   state           backupRunning
     2018-09-27 14:59:00   timer_01_c01    28.09.2018 14:59:00|Do
     2018-09-28 00:00:00   timer_02_c02    28.09.2018 14:00:00|Do
     2018-09-28 00:00:00   timer_03_c02    29.09.2018 00:00:00|Do
     2018-09-27 15:00:00   timer_04_c04    28.09.2018 15:00:00|Fr
     2018-09-27 16:04:43   wait_timer      no timer
   Regex:
   attr:
     cmdState:
       0:
         reset
       1:
         backupRunning
       2:
         backupFinished
       3:
         idle
     wait:
       0:
         0
       1:
         240
         1
         1
       2:
         28800
         1
         1
       3:
         0
     waitdel:
   condition:
     0          DOIF_time_once($hash,0,$wday,"Do")
     1          DOIF_time($hash,1,2,$wday,$hms,"Do") and EventDoIf('Bewohner',$hash,'home',1)
     2          ReadingValDoIf($hash,'doif_nasBackupHD','doifState') eq "backupRunning"
     3          DOIF_time_once($hash,3,$wday,"Fr")
   days:
     0          Do
     1          Do
     2          Do
     3          Fr
   devices:
     1           Bewohner
     2           doif_nasBackupHD
     all         Bewohner doif_nasBackupHD
   do:
     0:
       0          setreading doif_nasBackupHD doifState reset
     1:
       0          set nasBackupHD on
       1          set doif_NAS disable
       2          setreading doif_nasBackupHD doifState backupRunning
     2:
       0          set nasBackupHD off
       1          set doif_NAS enable
       2          setreading doif_nasBackupHD doifState hd_finished
     3:
       0          setreading doif_nasBackupHD doifState idle
     4:
   helper:
     event      home
     globalinit 1
     last_timer 4
     sleepdevice Bewohner
     sleepsubtimer -1
     sleeptimer -1
     timerdev   Bewohner
     timerevent home
     triggerDev Bewohner
     DOIF_eventas:
       cmd_nr: 2
       cmd_seqnr: 3
       cmd_event: Bewohner
       state: backupRunning
     timerevents:
       home
     timereventsState:
       state: home
     triggerEvents:
       home
     triggerEventsState:
       state: home
   internals:
   interval:
     1          -1
     2          1
   intervalfunc:
   intervaltimer:
   itimer:
   localtime:
     0          1538139540
     1          1538136000
     2          1538172000
     3          1538139600
   readings:
     2           doif_nasBackupHD:doifState
     all         doif_nasBackupHD:doifState
   realtime:
     0          14:59:00
     1          14:00:00
     2          00:00:00
     3          15:00:00
   time:
     0          14:59:00
     1          14:00:00
     2          24:00:00
     3          15:00:00
   timeCond:
     0          0
     1          1
     2          1
     3          3
   timer:
     0          0
     1          0
     2          0
     3          0
   timers:
     0           0
     1           1  2
     3           3
   trigger:
     all         Bewohner
   triggertime:
     1538136000:
       localtime  1538136000
       hash:
     1538139540:
       localtime  1538139540
       hash:
     1538139600:
       localtime  1538139600
       hash:
     1538172000:
       localtime  1538172000
       hash:
   uiState:
   uiTable:
Attributes:
   alias      doif_NAS Backup HD
   cmdState   reset|backupRunning|backupFinished|idle
   wait       0:240,1,1:28800,1,1:0


Gruß Chris

Edit: Ich hab da was gefunden.. https://fhem.de/commandref_DE.html#DOIF_selftrigger (https://fhem.de/commandref_DE.html#DOIF_selftrigger) Werde das Ganze nun mit selftrigger all probieren.