Mein AT verschwindet täglich....

Begonnen von presskopf, 23 November 2017, 19:09:32

Vorheriges Thema - Nächstes Thema

presskopf

Hallo zusammen,

ich habe da ein komisches Phänomen.

Ich habe eine Lampe, die ich abends an und nachts abschalte.
Jetzt habe ich versucht eine Abhängigkeit vom Sonnenuntergang einzubauen, was auf den ersten Blick gelang. (Also bei Sonnenuntergang: on)
Komischerweise verschwindet mein AT einfach so täglich.
Zur Steuerung habe ich ein paar dummys und ein notify.

Dummies
sw_1x02_on_time - Manuelle Zeit, um die Lampe anzuschalten
sw_1x02_on_useSunset - Sunset soll verwendet werden
sw_1x02_on_deltaSunset - Winkel der Sonne beim Sunset


Das Notify, das das nötige AT einstellt:

(sw_1x02_on_time)|(sw_1x02_on_useSunset)|(sw_1x02_on_deltaSunset)|(sunset)
{
my $ontime = ReadingsVal("sw_1x02_on_time","state",0);;
my $onuse = ReadingsVal("sw_1x02_on_useSunset","state",0);;
my $onsunset = Value("sunset");;
my $delta = ReadingsVal("sw_1x02_on_deltaSunset","state",0);;
my $newsunset = sunset("HORIZON=$delta");;

if ($onuse eq "off")
{
fhem("modify sw_1x02_on ". ((ReadingsVal("sw_1x02_on_time","state",0))));;
}
else
{
fhem("modify sw_1x02_on $onsunset");;
}
}



Ich vermute, das AT verschwindet, wenn der Sunset neu berechnet wird, weil ansonsten keiner was hier anfasst.
Sieht hier jemand, den Fehler, den ich konstruierte?

Danke
Matthias

C_Herrmann

Ich vermute es fehlt ein * als erstes Zeichen der Zeitdefinition. Ohne wird das at nach einmaliger Ausführung gelöscht.
FHEM auf RPi, CUL868, FHT, UNIRoll, verschiedene FS20 Komponenten, IT, Zigbee zum Testen

Hollo

Ich sehe nicht einmal das ursprüngliche at.  :-\
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"

Frank_Huber

Zitat von: Hollo am 23 November 2017, 20:07:01
Ich sehe nicht einmal das ursprüngliche at.  :-\
das liegt daran dass im ersten Post kein kompletter LIST im Code steht.
Aber die Fehlermeldung ist ja eigentlich eindeutig. ;-)

presskopf

Stimmt, hatte es nicht eingefügt.
Das AT hat kein *.

Dass dann einmalig ausgeführt und gelöscht wird, habe ich wohl verdrängt, vergessen oder verlegt...  :-[
DANKE für den Zaunpfahl!


Hier noch der Vollständigkeit halber:



Internals:
   CFGFN
   COMMAND    { if ((Value("sw_1x02_status") eq "on")) { fhem "set sw_1x02 on" } }
   DEF        2017-11-24T17:00:00 { if ((Value("sw_1x02_status") eq "on")) { fhem "set sw_1x02 on" } }
   NAME       sw_1x02_on
   NR         4732
   PERIODIC   no
   RELATIVE   no
   STATE      Next: 17:00:00
   TIMESPEC   17:00:00
   TRIGGERTIME 1511539200
   TRIGGERTIME_FMT 2017-11-24 17:00:00
   TYPE       at
   VOLATILE   1
   READINGS:
     2017-11-23 18:59:39   state           Next: 17:00:00
Attributes: