FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Otto123 am 17 Februar 2021, 22:08:09

Titel: Patch cref sunrise_el
Beitrag von: Otto123 am 17 Februar 2021, 22:08:09
Hallo Rudi,

wie versprochen die Korrektur der deutschen cref für sunrise_el
Neben der Fehlerhaften Beschreibung war da mMn auch was doppelt, habe ich großzügig gelöscht.

Und ein Typo in commandref_frame

Gruß Otto
Titel: Antw:Patch cref sunrise_el
Beitrag von: rudolfkoenig am 18 Februar 2021, 09:15:17
Danke, hab sie eingespielt.
Titel: Antw:Patch cref sunrise_el
Beitrag von: Otto123 am 22 Februar 2021, 11:05:06
Guten Morgen Rudi,

habe noch einen Typo in der DE cref_frame gesehen. Dabei fiel mir eine mMn inkonsistente Formatierung mit HTML tags auf. Es gab zumindest einen p Tag und verdrehter Reihenfolge. Ich habe den Abschnitt "FHEM Befehlstypen" diesbezüglich mal durchgesehen und konsequent Absatzformatierungen (p Tag) gesetzt.
Anbei ein Patch :)

Gruß Otto
Titel: Antw:Patch cref sunrise_el
Beitrag von: rudolfkoenig am 22 Februar 2021, 14:31:00
Danke, habs eingecheckt.
Titel: Antw:Patch cref sunrise_el
Beitrag von: RalfRog am 14 April 2021, 01:23:34
Zufällig bin ich auf den weiter unten genannten Fehler im Log gestoßen. Dabei ist mir aufgefallen, dass sich bei "sunrise_el" die deutsche und englische Beschreibung deutlich unterscheiden. Bei der Suche bin ich auf diesen Forum-Eintrag gestoßen.
Dabei heisst es im Wiki "im Zweifel gilt die Englische".

--> Wieviele Parameter in welche Reihenfolge sind es wirklich?
Den englischen Satz   "isday() can be used in some notify or at commands to check if the sun is up or down. isday() ignores the seconds parameter, but respects min and max. If min < max, than the day starts not before min, and ends not after max. If min > max, than the day starts not after max, and ends not before min"   find ich für Unbedarfte eher verständlich als das deutsche Pendant (was aber die Programmierlogik besser beschreibt).


Zitat
...
Jede der folgenden Funktionen akzeptiert bis zu vier (bzw. fünf) Parameter in der angegebenen Reihenfolge:

  • altitude
  • offset
  • min
  • max
Zitat
...
All functions take up to three arguments:

  • Offset
  • Min
  • Max


Mein Log-Fehler:

2021.04.09 06:25:00.009 1: PERL WARNING: Argument "06:24" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL.pm line 108.
2021.04.09 06:25:00.010 3: eval: {if (!($we) && !isday("HORIZON=2.5", "06:24", "21:00")) { fhem('set LampeFlur on-till {sunrise("HORIZON=2.5")}');;}}


Solange "sunrise(mit HORIZON)" später als der AT um 6:25 liegt tritt die Meldung nicht auf.
Die Warning tritt ab dem Zeitpunkt auf, ab dem sunrise(mit HORIZON) vor dem  AT liegt.
--> Liegt das Problem in der Definition von "isday" oder am Code?

Genau weiss ich nicht mehr warum das Konstrukt entstanden ist - kann sein, dass die Lampe im Frühjahr zwar an aber nicht mehr aus ging.
Titel: Antw:Patch cref sunrise_el
Beitrag von: RalfRog am 14 April 2021, 01:50:08
Zitat von: RalfRog am 14 April 2021, 01:23:34
Zufällig bin ich auf den weiter unten genannten Fehler im Log gestoßen. Dabei ist mir aufgefallen, dass sich bei "sunrise_el" die deutsche und englische Beschreibung deutlich unterscheiden. Bei der Suche bin ich auf diesen Forum-Eintrag gestoßen.
Dabei heisst es im Wiki "im Zweifel gilt die Englische".

--> Wieviele Parameter in welche Reihenfolge sind es wirklich?
Den englischen Satz   "isday() can be used in some notify or at commands to check if the sun is up or down. isday() ignores the seconds parameter, but respects min and max. If min < max, than the day starts not before min, and ends not after max. If min > max, than the day starts not after max, and ends not before min"   find ich für Unbedarfte eher verständlich als das deutsche Pendant (was aber die Programmierlogik besser beschreibt).



Mein Log-Fehler:

2021.04.09 06:25:00.009 1: PERL WARNING: Argument "06:24" isn't numeric in division (/) at ./FHEM/99_SUNRISE_EL.pm line 108.
2021.04.09 06:25:00.010 3: eval: {if (!($we) && !isday("HORIZON=2.5", "06:24", "21:00")) { fhem('set LampeFlur on-till {sunrise("HORIZON=2.5")}');;}}


Solange "sunrise(mit HORIZON)" später als der AT um 6:25 liegt tritt die Meldung nicht auf.
Die Warning tritt ab dem Zeitpunkt auf, ab dem sunrise(mit HORIZON) vor dem  AT liegt.
--> Liegt das Problem in der Definition von "isday" oder am Code?

Genau weiss ich nicht mehr warum das Konstrukt mit "min" & "max" entstanden ist - kann sein, dass die Lampe im Frühjahr zwar an aber nicht mehr aus ging.
Titel: Antw:Patch cref sunrise_el
Beitrag von: rudolfkoenig am 14 April 2021, 07:57:21
ZitatDabei heisst es im Wiki "im Zweifel gilt die Englische".
Meist stammt die englische Version vom Modulautor, die Deutsche von einem Benutzer spaeter, und hier besteht die Moeglichkeit des Missverstaendnisses.
In diesem Fall war die englische Version auch suboptimal, da es nach und nach erweitert wurde, insb. kam altitude als Patch rein, und ich ich habe es nicht gruendlich kontrolliert.
Ich habe jetzt die englische Version ueberarbeitet.

Zitat--> Liegt das Problem in der Definition von "isday" oder am Code?
Es liegt am Aufruf. Nur altitude ist optional, wenn man min/max spezifiziert, dann muss offset auch spezifiziert werden.
Titel: Antw:Patch cref sunrise_el
Beitrag von: Christoph Morrison am 14 April 2021, 08:59:42
Ich hatte damals die deutsche Übersetzung geschrieben und mich dabei einerseits an der bestehenden englischen Doku, aber auch an dem zu diesem Zeitpunkt aktuellen Programmcode orientiert - die englische Version aber nicht analog aktualisiert. Hätte ich so retrospektiv auch gleich machen können.
Titel: Antw:Patch cref sunrise_el
Beitrag von: RalfRog am 14 April 2021, 09:27:22
Hallo
Super - dann aktualisiere ich morgen mal und renoviere meine Definitionen.

Das an der ein oder anderen Stelle was durchgeht ist nur allzu verständlich.

Gruß Ralf