Ich habe diesen code
define Buegel_zu at *{Twilight("myTwilight","ss_civil","20:30","23:00")} set Roll_Buegel 25
laut wiki eingegeben und bekomme den Fehler
the function "Twilight("myTwilight","ss_civil","20:30","23:00")" must return a timespec and not Undefined subroutine &main::Twilight called at (eval 4949) line 1, <> line 123. .
mit "list myTwilight" bekomme ich folgendes
Internals:
CONDITION 26
CONDITION_TXT Cloudy
DEF 49.9807 8.432 3 12835246
INDOOR_HORIZON 3
LATITUDE 49.9807
LONGITUDE 8.432
NAME myTwilight
NR 65
STATE 6
SUNPOS_OFFSET 300
SWIP 1
TEMPERATUR 17
TYPE Twilight
VERSUCHE 0
WEATHER 12835246
WEATHER_CORRECTION 4.8
WEATHER_HORIZON 7.8
Readings:
2016-06-25 19:35:21 aktEvent sr_weather
2016-06-25 19:36:59 azimuth 286.61
2016-06-25 19:36:59 compasspoint west
2016-06-25 19:35:21 condition 26
2016-06-25 19:35:21 condition_txt Cloudy
2016-06-25 19:36:59 elevation 16.49
2016-06-25 19:35:21 horizon 7.8
2016-06-25 19:35:21 light 6
2016-06-25 19:35:21 nextEvent ss_weather
2016-06-25 19:35:21 nextEventTime 20:35:15
2016-06-25 19:26:59 sr 05:25:44
2016-06-25 19:26:59 sr_astro undefined
2016-06-25 19:26:59 sr_civil 04:34:37
2016-06-25 19:26:59 sr_indoor 05:48:46
2016-06-25 19:26:59 sr_naut 03:29:28
2016-06-25 19:35:21 sr_weather 06:23:26
2016-06-25 19:26:59 ss 21:32:56
2016-06-25 19:26:59 ss_astro undefined
2016-06-25 19:26:59 ss_civil 22:24:03
2016-06-25 19:26:59 ss_indoor 21:09:54
2016-06-25 19:26:59 ss_naut 23:29:13
2016-06-25 19:35:21 ss_weather 20:35:15
2016-06-25 19:35:21 state 6
2016-06-25 19:36:59 twilight 100
2016-06-25 19:36:59 twilight_weather 100
Timer:
Mytwilight_midnight:
HASH myTwilight
MODIFIER Midnight
NAME myTwilight_Midnight
Mytwilight_sr:
DEG 0
HASH myTwilight
LIGHT 4
MODIFIER sr
NAME myTwilight_sr
NAMENEXT sr_indoor
STATE 4
SWIP 0
TIME 1466825144.03
Mytwilight_sr_civil:
DEG -6
HASH myTwilight
LIGHT 3
MODIFIER sr_civil
NAME myTwilight_sr_civil
NAMENEXT sr
STATE 3
SWIP 0
TIME 1466822077.02
Mytwilight_sr_indoor:
DEG 3
HASH myTwilight
LIGHT 5
MODIFIER sr_indoor
NAME myTwilight_sr_indoor
NAMENEXT sr_weather
STATE 5
SWIP 0
TIME 1466826526.04
Mytwilight_sr_naut:
DEG -12
HASH myTwilight
LIGHT 2
MODIFIER sr_naut
NAME myTwilight_sr_naut
NAMENEXT sr_civil
STATE 2
SWIP 0
TIME 1466818168.01
Mytwilight_sr_weather:
DEG 7.8
HASH myTwilight
LIGHT 6
MODIFIER sr_weather
NAME myTwilight_sr_weather
NAMENEXT ss_weather
STATE 6
SWIP 1
TIME 1466828606.05
Mytwilight_ss:
DEG 0
HASH myTwilight
LIGHT 3
MODIFIER ss
NAME myTwilight_ss
NAMENEXT ss_civil
STATE 9
SWIP 0
TIME 1466883176.97
Mytwilight_ss_civil:
DEG -6
HASH myTwilight
LIGHT 2
MODIFIER ss_civil
NAME myTwilight_ss_civil
NAMENEXT ss_naut
STATE 10
SWIP 0
TIME 1466886243.98
Mytwilight_ss_indoor:
DEG 3
HASH myTwilight
LIGHT 4
MODIFIER ss_indoor
NAME myTwilight_ss_indoor
NAMENEXT ss
STATE 8
SWIP 0
TIME 1466881794.96
Mytwilight_ss_naut:
DEG -12
HASH myTwilight
LIGHT 1
MODIFIER ss_naut
NAME myTwilight_ss_naut
NAMENEXT ss_astro
STATE 11
SWIP 0
TIME 1466890153.99
Mytwilight_ss_weather:
DEG 7.8
HASH myTwilight
LIGHT 5
MODIFIER ss_weather
NAME myTwilight_ss_weather
NAMENEXT ss_indoor
STATE 7
SWIP 1
TIME 1466879715.95
Mytwilight_sunpos:
HASH myTwilight
MODIFIER sunpos
NAME myTwilight_sunpos
Tw:
Sr:
DEG 0
LIGHT 4
NAME sr
NAMENEXT sr_indoor
STATE 4
SWIP 0
TIME 1466825144.03
Sr_astro:
DEG -18
LIGHT 1
NAME sr_astro
NAMENEXT sr_naut
STATE 1
SWIP 0
TIME 0
Sr_civil:
DEG -6
LIGHT 3
NAME sr_civil
NAMENEXT sr
STATE 3
SWIP 0
TIME 1466822077.02
Sr_indoor:
DEG 3
LIGHT 5
NAME sr_indoor
NAMENEXT sr_weather
STATE 5
SWIP 0
TIME 1466826526.04
Sr_naut:
DEG -12
LIGHT 2
NAME sr_naut
NAMENEXT sr_civil
STATE 2
SWIP 0
TIME 1466818168.01
Sr_weather:
DEG 7.8
LIGHT 6
NAME sr_weather
NAMENEXT ss_weather
STATE 6
SWIP 1
TIME 1466828606.05
Ss:
DEG 0
LIGHT 3
NAME ss
NAMENEXT ss_civil
STATE 9
SWIP 0
TIME 1466883176.97
Ss_astro:
DEG -18
LIGHT 0
NAME ss_astro
NAMENEXT sr_astro
STATE 12
SWIP 0
TIME 0
Ss_civil:
DEG -6
LIGHT 2
NAME ss_civil
NAMENEXT ss_naut
STATE 10
SWIP 0
TIME 1466886243.98
Ss_indoor:
DEG 3
LIGHT 4
NAME ss_indoor
NAMENEXT ss
STATE 8
SWIP 0
TIME 1466881794.96
Ss_naut:
DEG -12
LIGHT 1
NAME ss_naut
NAMENEXT ss_astro
STATE 11
SWIP 0
TIME 1466890153.99
Ss_weather:
DEG 7.8
LIGHT 5
NAME ss_weather
NAMENEXT ss_indoor
STATE 7
SWIP 1
TIME 1466879715.95
Attributes:
room WETTER
Mein ss_civil liegt doch schon innerhalb meiner angegebenen Zeit. Oder sind meine 23:00 schon eine Zeit, die ss_civil nie erreicht und es gibt deshalb einen Fehler?
Ich dachte, wenn ss_civil ausserhalb meiner angegebenen Zeit liegt gelten jeweils die Zeiten, je nachdem ss_civil drüber oder drunter liegt. Wo ist mein Baum im Wald??
Wenn du das im Wiki gefunden hast ist das Wiki wohl faksch
Sorry, das verstehe ich nicht, wie hilft mir Deine Antwort weiter?
ZitatUndefined subroutine &main::Twilight
deutet darauf hin, dass es die Funktion
Twilight nicht gibt.
ich würde mal nach ReadingsVal suchen.
Wenn ich doch list myTwilight eingebe, habe ich doch eine Aussage. Somit muss doch auch Twilight vorhanden sein.
Twilight schon, aber Eine solche Funktion gibt es nicht.
Schreib mal *{twilight
Groß- Kleinschreibung in Perl ist wichtig
Vielleicht eine andere Idee:
ich habe auch eine Weile mit twilight gearbeitet und festgestellt, dass die überlieferten Zeiten immer nur Näherungswerte waren zu den eigentlichen Uhrzeiten / Helligkeiten, zu denen ich schalten wollte. Und dann bin ich auf die Idee gekommen, einen Bewegungsmelder, den ich ohnehin schon im Garten installiert hatte, dazu zu verwenden: die haben nämlich ein reading brightness, und das habe ich dann ausgelesen. Seitdem ist es exakt so dunkel/hell, wie ich es haben möchte, wenn irgendwelche Lichter (ich habe keine Rolladensteuerung) an oder aus gehen sollen.
Zudem ein weitere Vorteil: wenn es mal abends bei schlechtem Wetter wirklich dunkel wird, die twilight-Zeiten aber noch nicht erreicht sind, dann liefert die reine Helligkeitsbasierte Schaltung trotzdem Ergebnisse und macht auch tagsüber mal das Licht an, wenn's zu dunkel ist. Funktioniert bei mir sehr zuverlässig. Ich hab's in einem DOIF zudem mit festen Zeiten kombiniert: [16:30-23:00].
VG Yil
Zitat von: Yil am 26 Juni 2016, 11:16:36
.. Seitdem ist es exakt so dunkel/hell, wie ich es haben möchte, wenn irgendwelche Lichter (ich habe keine Rolladensteuerung) an oder aus gehen sollen.
Dieser Aussage nach kanst Du mit dem Bewegungsmelder die Umgebungshelligkeit beeinflussen? ;) Das wage ich zu bezweifeln!
Zitat von: Yil am 26 Juni 2016, 11:16:36
Vielleicht eine andere Idee:
Noch eine andere Idee ;)
HM-Sen-LI-O
Wenn bei elv endlich mal verfügbar, wird er mein neues Twilight...
Bis dahin Twilight nach der geschweiften Klammer klein schreiben,.
Zitat von: kumue am 26 Juni 2016, 11:54:08
Noch eine andere Idee ;)
HM-Sen-LI-O
Wenn bei elv endlich mal verfügbar, wird er mein neues Twilight...
Hab ich im Einsatz und bin höchst zufrieden. Vorallem deutlich einfacher als die Temperaturdifferenzmethode für die Rolläden und bisher top zuverlässig.
VG Stefan
Zitat von: StefanD am 28 Juni 2016, 21:16:00
Hab ich im Einsatz und bin höchst zufrieden. Vorallem deutlich einfacher als die Temperaturdifferenzmethode für die Rolläden und bisher top zuverlässig.
VG Stefan
hab grad mal bei elv geschaut..
aus 1Woche Lieferzeit sind nun 15 geworden :(
Gibt es die Bausätze noch woanders ?
@ Dietmar63: das war es, danke. Ich habe mich von
define myTwilight [color=red]Twilight[/color] 49.9807 8.432 3 12835246
verleiten lassen.
kein Problem
Zitat von: kumue am 28 Juni 2016, 21:25:59
Gibt es die Bausätze noch woanders ?
elv hat vor 2 Jahren (glaube ich) den Vertrieb der Bausätze über Dritte komplett eingestellt.
Die Bausätze gibt es nur noch bei elv. Manchmal werden aus 15 Wochen 30 - manchmal auch schnell wieder eine 8)
Ich werde wohl doch einfach den "Sonnensensor" holen.
Temperaturdifferenzfühler - ist zumindest derzeit preiswert
Ich hätte da noch eine Frage: Wie kann ich z.B. die Zeit von ss_indoor (heute 21:09:02) um 30 Minuten verzögern?
Geht das mit
define Buegel_zu at *{twilight("myTwilight","ss_indoor + 30","20:30","23:00")} set Roll_Buegel 25
twilight () liefert dir eiene Zeit im Format 00:00:00 zurück.
Es gibt hier im Forum viele Beiträge, die sich damit beschäftigt haben von so einer Uhrzeit x Minuten oder so abzuziehen. Du müsstest also nur ein eigene kleine Funktion in die 99_utils bauen, dort twilight() aufrufen und dann die Funktion addiere(30) oder so aufrufen und das Ergebnis zurück liefern.
etwa so:
define Buegel_zu at *{myTwilight("myTwilight","ss_indoor","20:30","23:00",30)} set Roll_Buegel 25