Hallo
Ich möchte gerne mein Tablet täglich neu starten lassen.
Ein manuelles neustarten per set Nexus7 system reboot
funktioniert wunderbar.
Nun habe ich es versucht zu automatisieren.
define Nexus7_reboot at *04:30:00 {\
set Nexus7 system reboot\
}
attr Nexus7_reboot room Zentralsysteme
Dies funktioniert leider nicht ich bekomme folgende Meldung im Log:
2016.07.06 04:30:00 1: PERL WARNING: Unquoted string "reboot" may clash with future reserved word at (eval 35079) line 3.
2016.07.06 04:30:00 3: eval: {
set Nexus7 system reboot
}
2016.07.06 04:30:00 3: Nexus7_reboot: Bareword "reboot" not allowed while "strict subs" in use at (eval 35079) line 2.
Ich hoffe mir kann jemadn behilflich sein.
Gruß
Daniel
Warum nicht einfach so?
define Nexus7_reboot at *04:30:00 set Nexus7 system reboot
Mit { landest Du auf der Perlebene und somit ist der Code für den Befehl ein anderer. Bitte schreibe Dein at so um wie von devil77 vorgeschlagen.
... und beschäftige dich etwas mit den FHEM Grundlagen!
Zitat von: devil77 am 06 Juli 2016, 13:47:40
Warum nicht einfach so?
define Nexus7_reboot at *04:30:00 set Nexus7 system reboot
Danke Dir! Werde es so machen und berichten!
@CoolTux
Danke Dir für die Erläuterung was mein Fehler bewirkt hat sodass ich die Fehlermeldung nun nachvollziehen kann!
Nach der Änderung funktioniert es Problemlos. Vielen Dank nochmal!
Sehr schön. Darf man fragen wie Du auf Deine erste Lösung gekommen bist?
Ich versuche einige Sachen zusammen zu tragen um zu sehen wie Einsteiger auf die ein oder andere "Lösung"/Konfiguration kommen.
Grüße
Ähm ja! Gute Frage... DAs Vorhanen in in Worte fassen und nach stichpunkten gegoogelt.
Dann versucht es von ähnlichen Vorhaben den Syntax zu adaptieren.
Ich glaube so kann man es am besten beschreiben.
Aber wo ich Dich grad dran habe ;)
Ich versuche das Tablet mittels amad2 nach jedem Fhem neustart ebenfalls neu zu starten.
define Nexus7_reboot_after_restart_Fhem notify global:INITIALIZED \
set Nexus7 system reboot
attr Nexus7_reboot_after_restart_Fhem room Zentralsysteme
Ich baekomme aber diese Meldung im Log und weis nicht recht weiter. :(
2016.07.14 08:56:20 3: Nexus7_reboot_after_restart_Fhem return value: set command only works if state not equal initialized
Hoffe Du kannst mir auch dabei helfen!
Gruß
Daniel
Die Meldung ist korrekt. Nach einem FHEM Neustart ist der Zustand des Device noch nicht bekannt. Erst nachdem erste Daten vom Device gekommen sind. Das geschieht in der Regel alle 30s.
Für Dein Vorhaben würde ich auf zwei Ereignisse innerhalb eines bestimmten Zeitraumes reagieren. Hierfür empfehle ich das Modul sequenz. Erstes Ereignis ist das FHEM INITIAL und dann meinetwegen innerhalb von 5 Minuten das AMAD_DEVICE:deviceState.online :)
Schaue Dir sequenz mal an und versuche was zusammen zu basteln, wenn Du dann noch Fragen oder Probleme hast einfach melden.
Grüße
Ich habe mich mit sequenz mal beschäftigt.
Allerdings finde ich kein Event das exakt nach jedem Neustart stattfindet.
Habe diverse ausprobiert. :(
Aktuell:
define rebootseq sequence AMADCommBridge:opened 120 Nexus7:active
attr rebootseq room Zentralsysteme
define Nexus7_reboot_after_restart_Fhem notify rebootseq:trigger \
set Nexus7 system reboot
attr Nexus7_reboot_after_restart_Fhem room Zentralsysteme
Wenn ich die beiden aktuell eingetragenen Events manuell trigger rebootet das Tablet.
Ich muss also nur zwei Events finden die verlässlich nach einem reboot nacheinader stattfinden.
Hat einer ne Idee dazu?
Gruß
Daniel
Nach jedem Start von FHEM kommt das Event global:INITIALIZED
ok hab es nochmal probiert...
config:
define AMADCommBridge AMAD
attr AMADCommBridge room Zentralsysteme
define Nexus7 AMAD 192.168.6.33 wlan.whity
attr Nexus7 DbLogExclude .*
attr Nexus7 room Zentralsysteme
define Nexus7_reboot at *04:30:00 \
set Nexus7 system reboot
attr Nexus7_reboot room Zentralsysteme
define rebootseq sequence global:INITIALIZED 120 Nexus7:active
attr rebootseq room Zentralsysteme
define Nexus7_reboot_after_restart_Fhem notify rebootseq:trigger \
set Nexus7 system reboot
attr Nexus7_reboot_after_restart_Fhem room Zentralsysteme
Logauszug:
2016.07.18 13:32:40 2: SecurityCheck: telnetForBlockingFn has no associated allowed device with password/globalpassword. Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2016.07.18 13:32:40 0: Featurelevel: 5.7
2016.07.18 13:32:40 0: Server started with 452 defined entities (fhem.pl:11756/2016-07-07 perl:5.012003 os:linux user:fhem pid:23613)
2016.07.18 13:32:40 1: HMLAN_Parse: HMLAN1 new condition ok
2016.07.18 13:32:41 1: HMLAN_Parse: HMLAN2 new condition ok
...
2016.07.18 13:33:03 3: Nexus7_reboot_after_restart_Fhem return value: Cannot set command, FHEM Device is unknown
Wieso kennt er hier das FHEM Device Nexus7 nicht? Oder meint er ein Anderes?
-
Daniel
Das kann ich Dir ehrlich gesagt nicht sagen. Ich gehe mal von aus das der set Befehl von Hand ausgeköst klappt, oder?
Kannst Du mal bitte statt Auszüge aus der cfg ein List der entsprechenden Devices machen. Da sieht man viel mehr.
Wie geschrieben der Neustarte des Tablets nachdem FHEM neu gestartet wurde will noch immer nicht aber der Grund warum ich das haben wollte ist auch verschwunden.
2016.06.30 12:17:34 1: FHEMWEB SSL/HTTPS error:
2016.06.30 12:17:34 1: FHEMWEB SSL/HTTPS error:
Diese Meldungen tauchen nach dem Update auf Version 1.3 des Fully Fullscreen Browser nicht mehr auf.
Scheinbar wurde auch dort ein nicht vorhandenes Problem gefixt. ;)
Sorry für die kleine Anspielung! Egal was die Ursache war und wodurch diese weg ist...Ich bin wirklich froh das alles wieder läuft!
Nichts desto trotz würde ich schon gerne wissen warum die Sequenz nicht läuft. Schon allein wegen dem Lerneffekt. ;)
Ja von Hand geht der Nexus7 reboot. Und der um 4:30 Uhr auch.
Also los geht mit den Lists...
List Nexus7:
Internals:
APSSID wlan.whity
CFGFN /var/fhem/FHEM/amad2.cfg
DEF 192.168.6.33 wlan.whity
HOST 192.168.6.33
NAME Nexus7
NR 1095
PORT 8090
STATE active
TYPE AMAD
VERSIONFLOWSET 2.4.0
VERSIONMODUL 2.4.0
Readings:
2016-07-18 13:33:10 airplanemode off
2016-07-18 13:33:09 androidVersion 5.1 Lollipop MR1
2016-07-18 13:33:09 automagicState Automagic Premium
2016-07-18 13:33:09 batteryHealth 2
2016-07-18 13:33:09 batteryTemperature 27.0
2016-07-18 13:33:09 bluetooth off
2016-07-18 13:55:59 checkActiveTask 0
2016-07-18 13:55:59 connectedBTdevices
2016-07-18 13:55:59 connectedBTdevicesMAC
2016-07-18 13:33:09 currentMusicAlbum no player active
2016-07-18 13:33:09 currentMusicApp no player active
2016-07-18 13:33:09 currentMusicArtist no player active
2016-07-18 13:33:09 currentMusicTrack no player active
2016-07-18 13:55:59 deviceState online
2016-07-18 13:33:09 dockingState undocked
2016-07-18 13:55:59 flow_SetCommands aktiv
2016-07-18 13:49:26 flow_informations aktiv
2016-07-18 13:55:59 flowsetVersionAtDevice 2.2.4
2016-07-18 13:33:10 keyguardSet 0
2016-07-18 04:30:01 lastSetCommandState setCmd_done
2016-07-18 13:55:59 lastStatusRequestState statusRequest_done
2016-07-18 13:33:09 nextAlarmDay off
2016-07-18 13:33:09 nextAlarmTime off
2016-07-18 13:33:09 powerLevel 100
2016-07-18 13:33:09 powerPlugged 1
2016-07-18 13:50:25 screen off unlocked
2016-07-18 13:33:09 screenBrightness 35
2016-07-18 13:50:25 screenOrientation landscape
2016-07-18 13:50:25 screenOrientationMode manual
2016-07-18 13:55:59 state active
2016-07-18 13:33:10 volume 0
2016-07-18 13:33:09 volumeNotification
Helper:
deviceStateErrorCounter 0
infoErrorCounter 0
setCmdErrorCounter 0
Attributes:
DbLogExclude .*
room Zentralsysteme
list rebootseq:
Internals:
CFGFN /var/fhem/FHEM/amad2.cfg
DEF global:INITIALIZED 120 Nexus7:active
IDX 0
MAX 3
NAME rebootseq
NR 1099
NTFY_ORDER 50-rebootseq
RE global:INITIALIZED
STATE active
TYPE sequence
Helper:
Dblog:
State:
Mylogdb:
TIME 1468841583.01142
VALUE trigger
Readings:
2016-07-18 13:33:03 state active
Attributes:
room Zentralsysteme
List Nexus7_reboot_after_restart_Fhem:
Internals:
CFGFN /var/fhem/FHEM/amad2.cfg
DEF rebootseq:trigger
set Nexus7 system reboot
NAME Nexus7_reboot_after_restart_Fhem
NOTIFYDEV rebootseq
NR 1101
NTFY_ORDER 50-Nexus7_reboot_after_restart_Fhem
REGEXP rebootseq:trigger
STATE 2016-07-18 13:33:03
TYPE notify
Readings:
2016-07-18 13:32:37 state active
Attributes:
room Zentralsysteme
-
Daniel
Hallo Daniel,
Es scheint alles korrekt zu sein. Ich kann mir nicht erklären wie er auf die Idee kommt das das Device Nexus7 nicht existiert. Zumal er ja auch auf das Device triggert, also das sequenz Modul.
Versuche mal bitte zu Testzwecken ihm 300s statt 120s zu geben nach einem Neustart. Mal sehen ob da die Fehlermeldung die selbe ist.
Grüße
2016.07.18 13:32:40 2: SecurityCheck: telnetForBlockingFn has no associated allowed device with password/globalpassword. Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2016.07.18 13:32:40 0: Featurelevel: 5.7
2016.07.18 13:32:40 0: Server started with 452 defined entities (fhem.pl:11756/2016-07-07 perl:5.012003 os:linux user:fhem pid:23613)
2016.07.18 13:32:40 1: HMLAN_Parse: HMLAN1 new condition ok
2016.07.18 13:32:41 1: HMLAN_Parse: HMLAN2 new condition ok
...
2016.07.18 13:33:03 3: Nexus7_reboot_after_restart_Fhem return value: Cannot set command, FHEM Device is unknown
Moment mal das sind gar keine 120 Sekunden! Das sind gerade mal 23. Also ist das nicht das auslösen der Sequenz das er da anmeckert. Oder seh ich das falsch?
Nichts desto trotz hab ich mal auf 300 gestellt änderte aber nichts.
Ah hab nochmal im Commandref nachgelesen. Die Zahl bedeutet innerhalb dieser Zeit nicht nach der Zeit.
Von daher kann das mit den 23 Sekunden schon sein. Und somit stehen wir wieder am Anfang. :(
Eigentlich nicht. Stimmt jetzt fällt es mir auch ein. Aber dennoch muß ja das Device vorhanden sein denn es löst ja die sequenz aus.
Aber mach doch mal folgendes. Trigger doch mal den zweiten Teil der Sequenz auf deviceState online.
Dann sollte es auf jeden Fall gehen.
Ich habs!!! 8)
Es war ein Timingproblem! Scheinbar war das Device noch nicht 100%ig verfügbar. Mit einer kleinen Pause vorher klappt nun alles. ;D
define Nexus7_reboot_after_restart_Fhem notify rebootseq:trigger \
sleep 30;; set Nexus7 system reboot
attr Nexus7_reboot_after_restart_Fhem room Zentralsysteme
Danke Dir für Deine Hilfe!
Hihi, Problem erschlagen. Lach. Aber schön zu wissen das es nun geht und woran es lag.
Grüße