reading mit sunrise/sunset in at setzen, Uhrzeit ist 24h zu weit in der Zukunft

Begonnen von Shortie, 14 Februar 2021, 22:02:29

Vorheriges Thema - Nächstes Thema

Shortie

Ich versuche aktuell in einer Structure, welches alle meine Wohnzimmer Jalousien enthält, ein Reading zu setzen das ich mit dann im stateFormat der Structure ausgeben möchte. Das schreiben und ausgeben funktioniert auch schon soweit. Allerdings bekomme ich es nicht hin die korrekte Zeit zu setzen.

Definition des at:

defmod WohnzimmerJalousieRunter at *{sunset(0,"15:00","22:00")} set Structure_Wohnzimmer_Jalousien position 100;; setreading Structure_Wohnzimmer_Jalousien nextDown {(sunset(0,"15:00","22:00"))}


Das at erhält so die richtige Zeit und zeigt diese auch an und steuert die Jalousien korrekt an. Das Reading erhalt aber leider immer 24h zuviel, also z.b. 42:05:14, ziehe ich 24h ab passt die Zeit wieder mit der Anzeige im at überein. Nutze ich beim setreading sunset_abs zeigt er mir die heutige sunset Zeit an, auch wenn diese schon vorbei ist. Also aktuell 18:03:27. Laut der Zeit die im at gesetzt wird, müsste es aber in beiden Fällen 18:05:14 sein.

Laut der Commandref https://fhem.de/commandref_DE.html#SUNRISE_EL könnte das verhalten bei sunset sogar korrekt sein, wobei ich hier den Sinn nicht verstehe diese 24h zu addieren. Dann müsste aber sunset_abs doch die richtige Zeit liefern, da ja der aktuelle sunset vorbei ist und der nächste ja der morgige wäre.

Otto123

Hi,

ich sehe jetzt keine Frage in deinem Post - gibt es eine?

sunset und sunrise liefert immer die Zeit für den nächsten Sonnenauf- Sonnenuntergang.
Die _abs Funktionen liefern den Zeitpunkt für den aktuellen Tag.
Klar das sich die Zeiten für heute und morgen unterscheiden?

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

rudolfkoenig

Zitatwobei ich hier den Sinn nicht verstehe diese 24h zu addieren.
Versuch mal testweise sunset/sunrise durch sunset_abs/sunrise_abs zu ersetzen, das sind Zeiten die man "versteht"

Ergebnis: In der Fruehling gehen die Rolladen zweimal runter, im Herbst zweimal hoch.
Solange man die Rolladen komplett runter/hochfaehrt, faellt das nicht auf, sonst schon.

Wenn das Senden des on/off Signals die Fahrt stoppt (wie bei FS20), dann gibt es andere Effekte, wie "bisschen" geoeffnete/geschlossene Rolladen.

Shortie

Mein Problem ist, das das at mit sunset/sunrise entsprechend funktioniert. Das Reading das ich über den gleichen Aufruf an sunset/sunrise sende nicht. In beiden Fällen mache ich dies mit {(sunset(0,"15:00","22:00"))} siehe auch das define aus dem ersten Post.
Nutze ich sunset/sunrise bekomme ich z.B. 42:05:14 im Reading, nutze ich sunset_abs/sunrise_abs erhalte ich die Zeit für den aktuellen Tag, auch wenn der sunrise/sunset bereits in der Vergangenheit liegt und nicht für den nächsten.

Otto123

Wenn Du also den absoluten Zeitpunkt für morgen wissen willst:
{sunrise_abs_dat(time() + 1*86400)}

Ich behaupte die deutsche Doku ist falsch! Und meine Annahme von #1 als Werte umgesetzt:
{sunrise} 30:49:05 (morgen)
{sunrise_abs} 06:50:54 (heute)
{sunrise_abs_dat(time() + 1*86400)} 06:49:05 (morgen)
{sunrise_abs_dat(time() + 0*86400)} 06:50:54 (heute)

bestätigt die englische Doku

Zitatsunrise_abs() and sunset_abs() return the absolute time of the corresponding event today (no 24 hours added).
sunrise_abs() - absolute Zeit des nächsten Sonnenaufgangs (ohne Stundenzuschlag)

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

rudolfkoenig

Die Uebersetzung ist nicht auf meinem Mist gewachsen :)
Bin nur dafuer verantwortlich :(

Otto123

@Rudi ich setze mich morgen mal hin und schreibe Patches. Ich habe woanders noch Typos gefunden ;)
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

Christoph Morrison


Shortie

Danke für die Hilfe und auch den Hinweis auf die englische Commandref. Jetzt verstehe ich auch den Unterschied der verschiedenen Funktionen und mit dem Vorschlag von Otto123 setzt er jetzt das Reading auf die richtige Uhrzeit.