Hauptmenü

[gelöst]at verschwindet

Begonnen von brown78, 16 April 2019, 18:18:04

Vorheriges Thema - Nächstes Thema

brown78

Hallo zusammen,

ich habe ein kleines Problem. Meinen Rolladen öffne ich schichtabhängig, zu verschiedenen Zeiten. 2 Dummys dienen der Zeiteinstellung, Derzeit durchsucht Automate meine Handykalender nach der nächsten Schicht, und setzt per http request eine lightscene. Diese lightscene ändert mit modify die Zeit im at. Soweit funktioniert das auch, allerdings werden zwecks backups, nachts alle services beendet und wieder gestartet, also fhem, apache2 u.a. Nach dem Neustart ist das at dann verschwunden. Ich hab es schon mit verschiedenen Namen versucht, bringt aber nichts. Kennt jemand sowas bzw. weiß abhilfe?

betateilchen

Was heißt "ist dann verschwunden?" Ein einmal auszuführendes at verschwindet nach dessen Ausführung immer.

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

brown78

aber z.b at *8:00 sollte heden tag um 8:00 uhr triggern. Selbst at 8:00 sollte um 8:00 uhr triggern und nicht um 2:00 nachts nachbeinem neustart weg sein.

Otto123

Hi,

nach einem define bla at *8:00 {} steht das at in der aktiven config. Nach einem modify steht das modifizierte at in der aktiven config.
Es steht beides nicht in der gespeicherten config. Erst nach einem save steht es dort.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

brown78

Ich habe jetzt mal versucht, den Umweg über die LightScene wegzulassen, dazu müsste ich aber per http request den dummy state auslesen.

https://url.zu.fhem:port/fhem&cmd.dummy=dmy_rolloSZ_open%20state&XHR=1

liefert mir aber 200 statt 8:00

Otto123

Den state eines dummy per http auslesen? Weiß nicht ob es etwas besseres gibt, aber ich würde das per list dummy state machen.
Und  wenn Du FHEM die Geschichte machen lässt und den Kalender per Modul Calendar in FHEM einbindest?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

brown78

@Otto123: Ich hatte das die ganze Zeit problemlos am Laufen, da stand in der LighScene
modify set_rolloSZ_open *13:00 Uhr
So ging das Problemlos auch ohne save hat das at den Neustart übelebt.
Der Code ist jetzt so abgeändert, dass ich die Zeiten mit Dummies frei definiere und beim modify die values genutzt werden.
modify set_rolloSZ_open *{dmy_rolloSZ_open("state"),""}

brown78

#7
Ich hatte das damals mit Google Kalender probiert und hatte massive Probleme. Habe jetzt Google verlassen und nutze einen eigenen Nextcloud Server dafür. Wenn ich mal ausreichend Zeit habe wäre das sicher eine Option, Fhem das machen zu lassen.

Edit: list dummy state liefert mir

dmy_rolloSZ_open 2019-04-08 17:00:16   8:00

Wie bekomme ich da nur 8:00?

Otto123

Ich denke, Du hattest lange kein Update gemacht. Du hattest irgendeine save Routine / Autosave Einstellung - die jetzt nicht mehr funktioniert. Siehe auch hier https://forum.fhem.de/index.php?topic=92793.0

Ich habe keine Ahnung wo Du überhaupt diesen HTTP Request absetzt und in welcher Umgebung Du aus der list Ausgabe die Zeit extrahieren willst. Für Windows Powershell könnte ich es Dir sagen :)
Aber am Ende ist die Antwort ein Array mit Leerzeichen getrennt. Also Ein split und das vierte ( Arrays zählen meist von 0 also Nummer 3 )
wäre es :)
Wenn Du hier nach Nextcloud und Calendar suchst findest Du bestimmt Hinweise für die Umsetzung. Ich mache alles mit Google Kalender und bin auf der gegenüberliegenden Seite von "massive Probleme". Ich denke die Problem sitzen 50 cm vorm Bildschirm  ;D

Gute Nacht
Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

brown78

Autosave war auf 1, Updates mache ich schon 1x im Monat mindestens. Kann ich per Script, http request oder über ein at direkt aus fhem ein save ausführen?

Otto123

Ja und das müsstest Du in deinem Fall auch. Sonst kommt das define des at *8:00 nicht in die config.
Übrigens anders als ein at 8:00 - das wandert in den statefile und da der beim shutdown automatisch gesichert wird, überlebt der auch einen Neustart. ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

brown78

Ouch, hab grad gesehen, dass unter global autosave deaktiviert war. Ich hatte in meinem Leichtsinn unter autocreate geschaut... Soviel zum Thema 50cm vor dem Bildschirm :D
Ich werde aber trotzdem, in dem Script welches fhem stoppt, verwuchen save auszuführen.

betateilchen

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

brown78

Leider zu früh gefreut. Sobald das at durch die LightScene modifiziert wird, ist es nach einem Neustart von fhem nicht mehr da.
global autosave=1, und mit
perl fhem.pl 7072 save
gespeichert

brown78

#14
Ich habe nochmal etwas rumgespielt. Wenn ich das at anlage, und über die LightScene mit modify *Uhrzeit modifiziere, geht es trotz autosave und speichern per script verloren.
Lasse ich den * weg bleibt es erhalten.
Allerdings löscht es sich ja quasi selbst, nachdem es getriggert hat. Wenn ich dann also abends den Kalender durchsuche und die Rollo Auf Zeit anpassen will, ist das at nicht mehr da.
Mittels der LightScene ein define at *Uhrzeit funktioniert aber scheinbar nicht (oder ich check nicht wie). Alles sehr merkwürdig zumal das ja einige Zeit lang problemlos ging, also das at mit *Uhrzeit aus der LightScene heraus modifizieren und nach dem neustart noch da...

Ich glaube fast, das liegt an der LightScene. Denn ich habe noch andere at, die ich mit einem notify ändere, die bleiben auch ohne autosave und save befehl erhalten.