Patch cref sunrise_el

Begonnen von Otto123, 17 Februar 2021, 22:08:09

Vorheriges Thema - Nächstes Thema

Otto123

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
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

Danke, hab sie eingespielt.

Otto123

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
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


RalfRog

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.
FHEM auf Proxmox VM Bookworm (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

RalfRog

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.
FHEM auf Proxmox VM Bookworm (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

rudolfkoenig

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.

Christoph Morrison

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.

RalfRog

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
FHEM auf Proxmox VM Bookworm (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen