Wiederverwendung von eigenen Subs in anderen Modulen

Begonnen von Wzut, 07 Februar 2019, 15:02:56

Vorheriges Thema - Nächstes Thema

Wzut

Die Tage wollte ich im Quelltext von WeekdayTimer etwas nachschauen und in gleich am Anfang beim Initialize über folgenden Block gestolpert :

if(!$modules{Twilight}{LOADED} && -f "$attr{global}{modpath}/FHEM/59_Twilight.pm") {
    my $ret = CommandReload(undef, "59_Twilight");


Der erste Gedanke war "was hat Twilight mit WeekdayTimer zu tun" ?
Der nächste Schritt mit grep 59_Twilight *.pm ergab noch zwei weitere Vetter :
98_RandomTimer.pm  & 98_WOL.pm
Nun war es klar, alle vier Module stammen ursprünglich aus der Feder eines Autors und im Twilight Modul wurde eine Sub erfunden die ein Problem mit mehr als einem interen Timer löste und das wohl einige Zeit bevor Markus Bloch  sein 71_YAMAHA_AVR gebaut hat.
Zum Glück hat er das Timer Problem nicht auch mit mittels Reload Twilight gelöst sondern via https://forum.fhem.de/index.php/topic,50265.msg420162.html#msg420162 ,
d.h inzwischen kann InternalTimer genau das wofür myInternalTimer mal erfunden wurde.

Wäre es nicht langsam sinnvoll in allen vier Modulen diese alte Zwangsehe endgültig aufzulösen ?
Oder ist das unter der Rubrik "Furz im Wind" zu behandeln ? 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

herrmannj

Hmmm..... Wenn es läuft dann läuft es. Oder?   ::) Vielleicht wird dein Patch ja angenommen...  ;)

Markus M.

Das ist eher die Rubrik "Gütiger Himmel, warum?"...
Ein Modul sollte meiner Meinung nach keine für den Nutzer nicht ersichtlichen Abhängigkeiten zu wahllosen anderen Modulen haben.
Spätestens bei asynchronen Updates einzelner Module ist Chaos sonst vorprogrammiert.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

CoolTux

Ich würde versuchen die aktuellen Autoren zu bitten die entsprechenden Funktionen um zu stellen.
Dietmar hatte wohl zur damaligen Zeit, wie bereits erwähnt, keine andere Wahl. Und weil er keine Lust hatte alles doppelt zu schreiben hat er es halt so gemacht. Ich denke wir sollten es richten.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

KernSani

Zitat von: Markus M. am 07 Februar 2019, 15:31:29
Das ist eher die Rubrik "Gütiger Himmel, warum?"...
Ein Modul sollte meiner Meinung nach keine für den Nutzer nicht ersichtlichen Abhängigkeiten zu wahllosen anderen Modulen haben.
Spätestens bei asynchronen Updates einzelner Module ist Chaos sonst vorprogrammiert.
Dem schließe ich mich an. Gibt es nicht einen neuen Maintainer für Twilight? Was passiert, wenn da mal aufgeräumt wird? Dann verabschieden sich plötzlich reihenweise weekdayTimer?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

Habe mir gerade WOL angesehen... Als Maintainer steht da noch Dietmar drin... Wenn es sonst niemand haben haben will, würde ich das nehmen...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Christoph Morrison

Zitat von: KernSani am 07 Februar 2019, 15:42:51
Dem schließe ich mich an. Gibt es nicht einen neuen Maintainer für Twilight? Was passiert, wenn da mal aufgeräumt wird? Dann verabschieden sich plötzlich reihenweise weekdayTimer?

Ja, den gibt es und es wäre vermutlich genau so gekommen, weil mein aktueller Rewrite von Twilight nicht mehr so funktionieren wird (exakt das mit den Timern hat mich so abgenervt, dass ich das neu schreibe).

CoolTux

Fassen wir mal kurz zusammen, da es doch recht ernst ist wenn Christoph die neue Twilight Version eincheckt.
Aktuell bekannte betroffende Module
- Twilight selbst
- RandomTimer
- WOL
- WeekdayTimer

Dietmar hatte als Module
98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

Wäre also noch Heating_Control zu prüfen.

Neue Maintainer haben meines Wissens Twilight, eventuell nun WOL.
Bleiben noch
98_WeekdayTimer.pm und 98_RandomTimer.pm.

Mein Vorschlag wäre das die aktuellen Maintainer die Module entsprechend an passen und sich bei Vollzug hier wieder melden. Eventuell könnte Wzut sich WeekdayTimer anschauen und ich schaue mir RandomTimer an.


Was haltet Ihr davon? Andere Ideen im Haus?



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

KernSani

Für weekday- und randomTimer steht igami in der maintainer.txt


Kurz, weil mobil
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

herrmannj

wenn noch was offen ist übernehme ich auch eins, ich hatte die Situation mit Dietmar vergessen.

CoolTux

Zitat von: KernSani am 07 Februar 2019, 17:05:34
Für weekday- und randomTimer steht igami in der maintainer.txt
Kurz, weil mobil

Das gebe ich Igami kurz Bescheid. Danke Dir fürs schauen.

Als Idee wer mag, vielleicht ein kurzer 2 Zeiler als Nachruf in die Module. So ne Art Dank, kein großer Text.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

KernSani

bei mir lokal läuft schon ein WOL ohne twilight...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

Zitat von: CoolTux am 07 Februar 2019, 17:43:39
Als Idee wer mag, vielleicht ein kurzer 2 Zeiler als Nachruf in die Module. So ne Art Dank, kein großer Text.
Guter Gedanke!
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Christoph Morrison

Ich nehme für mich mit, dass
a) ich nichts in Subversion einchecken werde, bis nicht die anderen Module aktualisiert wurden, und
b) ich schauen werde, dass ich meine Tests des Moduls um Integrationstests mit anderen Module erweitere

(nota bene:
Ich wollte sowieso so vorgehen, dass nur getaggte, stabile Versionen (stable) von Github ins Subversion wandern, jeder der eine absolut aktuelle (latest) oder eine Testversion installieren möchte, holt die sich dann von Github.)

CoolTux

Wir können ja hier im Thread entsprechende Updates geben. Also so ne Art Vollzug Meldung.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net