Meta.pm: Metadaten über FHEM Module

Begonnen von Loredo, 19 Februar 2019, 11:43:50

Vorheriges Thema - Nächstes Thema

Loredo

#30
Zitat von: rudolfkoenig am 14 März 2019, 17:02:21
Nach meiner Erfahrung fuehrt "Opt-Out" haeufig zu Aerger. Ich frage mich, warum diese Angaben notwendig sind, und wieso ich ploetzllch eine Menge an Aufgaben bekomme.

Du hast überhaupt gar keine Aufgaben bekommen. Soweit ich weiß, bist du der eingetragene Maintainer für fhem.pl und in dieser Funktion habe ich dich darüber informiert, dass ein anderes Modul dessen Daten analysiert und deren Ergebnisse zur Kenntnis und Durchsprache vorgelegt. Du kannst da frei entscheiden, wie du deine Rolle als Maintainer definierst und wahrnimmst.
Dafür, dass ich offenbar bisher ungeklärte Fragestellungen des FHEM e.V. bei dir aufgeworfen habe, kann ich nichts. Ich nehme also zur Kenntnis, dass Transparenz und eine gewisse Rechtssicherheit für dich und den FHEM e.V. nicht von Bedeutung sind. Das ist absolut in Ordnung und hier ja nun auch dokumentiert.


Für mich bleibt aber die Frage: Wo ist denn dein "Continuous Development", wenn man nicht einen Arbeitsstand einchecken darf, um ihn dann stetig weiterzuentwickeln? Ich habe ja überhaupt nichts in Stein gemeißeltes getan und dich auch brav nach Rückmeldung gefragt. Sicherlich hätte ich auch hier einige Tausend Zeilen Quellcode hochladen können und dann nächstes Jahr nochmal nachfragen, ob sich das wer angesehen hat... ich handelte und handele nach bestem Wissen und Gewissen und wenn ich mich einmal getäuscht haben sollte, dann kann ich das ja im Rahmen des Continuous Development Gedanken jederzeit und direkt korrigieren.

Zitat von: rudolfkoenig am 14 März 2019, 17:02:21Alternativ verwendet man das Modul nicht. fhem.pl ist weder stable noch unstable oder testing sondern wird per "continuous development" gebaut.


Korrekt. Niemand wird gezwungen Meta.pm in sein Modul einzubauen oder 98_Installer zu verwenden. Das habe ich immer betont.
Aber wie mir scheint hast du dich gar nicht über CPAN::Meta::Spec informiert. Sonst wüsstest du, dass das gar kein Modul ist, sondern eine Spezifikation (wie der Name am Ende schon vermuten lassen könnte...).


Zitat von: rudolfkoenig am 14 März 2019, 17:02:21
Ich habe lange gegen Stable und Development branches gekaempft, und faende es nicht gut, wenn sie durch eine Hintertuer eingefuehrt werden.


Ich lese nur, dass du etablierte Standards und Best Practices, nach denen andere arbeiten und auch gerne arbeiten möchten, nicht gut findest.
Und nach einer solchen Aussage wunderst du dich noch darüber, dass du meinst hier würde ein "Opt-Out" durchgeführt?  ::)
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

justme1968

bitte atmet doch beide mal tief durch und schaukelt euch nicht hoch.

es wäre schade wenn das hier wegen aneinander vorbei reden oder anderen missverständnissen  im sande verläuft.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Loredo

Zitat von: justme1968 am 14 März 2019, 17:18:37
bitte atmet doch beide mal tief durch und schaukelt euch nicht hoch.

es wäre schade wenn das hier wegen aneinander vorbei reden oder anderen missverständnissen  im sande verläuft.


Mich nervt einfach dieses unkonstruktive und respektlose Herumgemaule.
Dass es mich trotzdem wenig kratzt, sieht man ja daran, dass Rudi mich auch nach all den Jahren noch nicht vergrault hat.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

CoolTux

Hallo Julian, Hallo Rudi,

Eventuell hilft es Euch beiden wenn der Julian versucht kleinere Sprünge zu machen (nicht gleich email Adressen rein nehmen oder Verlinkungen zu machen zum Verein) und wartet bis sich der Verein oder Rudi auf explizite Anfragen gemeldet hat. Es ist nicht einfach alle Stimmberechtigten innerhalb von ein paar Tagen zu bekommen.

Und vielleicht mag Rudi einfach mal kurz erzählen was er von der derzeitigen Entwicklung der beiden Module hält und die Idee die Julian für die Zukunft hat. Er hat ja schon so einiges geschrieben. Die Nutzer finden es jedenfalls bis jetzt eine gute Entwicklung sagen sie.
Ich verstehe aber auch Rudi der nun Aufgaben bekommen hat (in Form von Anfragen und Bitten) aber anscheinend noch keine wirkliche Zeit gefunden hat dafür.
Julian Du stemmst da eine ziemlich große Sache und ich finde sie super, aber eshängt auch einiges an Entscheidungen von Rudi ab die Du vielleicht erstmal bitte abwartest, oder halt in Deinen Modulen vorerst verschiebst oder mit Dummys belegst. Es hilft weder dem wundervollen Projekt von Julian noch FHEM mit Rudi wenn das jetzt ausarten sollte. Daher wie Andre schon sagte bitte tief durchatmen und versuchen einen gemeinsamen Konzens zu finden.


Entspannte Grüße
Marko
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

rudolfkoenig

ZitatUnd vielleicht mag Rudi einfach mal kurz erzählen was er von der derzeitigen Entwicklung der beiden Module hält und die Idee die Julian für die Zukunft hat.
Ich habe jetzt versucht die beiden Themen durchzulesen, evtl. habe ich was uebersehen.

Ich sehe auch das Problem der externen Abhaengigkeiten, meine persoenliche Loesung ist diese soweit wie moeglich zu vermeiden, siehe FHEMWEB, MQTT2, usw.

Ein Modul zu schreiben, was die benoetigten Module oder Programme installiert, ist loeblich, das richtig zu machen ist viel Entwicklungsarbeit und noch mehr Supportaufwand. Ich verstehe, dass eine Kooperation der Module, die sowas brauchen, die Sache erleichtert, aber (noch?) nicht, wozu copyright, oder privacy-statements dabei notwendig sind, oder was Installer.pm mit fhem.pl anfangen will (installieren ja nicht).

Aber das ist ja auch egal, ich bin kein Visionaer, und lasse mich gerne ueberraschen, wenn ich dafuer nichts tun muss. Ich will nur meine Emailadresse nicht in einem mailto: Link sehen, ich kriege jetzt schon ausreichend Zuschriften der Sorte "Mein letztes FS20RSU ist kaputt, haben sie noch was auf dem Lager", und jetzt sind noch die ausgefiltert, die kein Copy&Paste beherrschen. Mit einem mailto: Link ist das auch keine Voraussetzung mehr.

CoolTux

Danke Dir Rudi für Dein Statement. Ich denke auf Basis Deiner Aussage kann Julian seine Module weiter voran bringen und weiß nun erstmal wo er ganz auf Angaben verzichtet oder eben einfach noch mal nach fragt.

@Julian
Da ich nun auch festes FHEM e.V. Mitglied bin biete ich mich gerne als Vermittler bei weiteren Fragen an.
@ Rudi wäre das auch in Deinem Interesse?


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

rudolfkoenig

ZitatDa ich nun auch festes FHEM e.V. Mitglied bin biete ich mich gerne als Vermittler bei weiteren Fragen an.
Gerne.

Loredo

Danke sehr, Rudi. Diese Art der Formulierung ist die Art von Umgang, den ich mir wünsche und auch selbst pflegen möchte, wenn man ihn mir so entgegen bringt.


Von meiner Seite aus ist es lediglich ein Anreiz gewesen, auch nicht-technische Informationen mit anzuzeigen. Data Privacy bewegt eben viele und wenn man alle Informationen über den Anbieter (FHEM e.V., nach meinem Verständnis) sowie auch ein Statement zu Thema Datenschutz an einer zentralen Stelle (und so verstehe ich den Installer) finden kann, dann trägt das zur Transparenz bei. Meiner Meinung nach muss man sich da auch nicht viel Aufwand mit machen (außer dann vielleicht der Frage "wem gehört jetzt FHEM bzw. wer ist der Diensteanbieter für das Gesamtprodukt?"). Diese Fragen will und kann ich euch auch gar nicht beantworten, beruflich bedingt weiß ich aber, dass diese Dinge oft ein notwendiges Übel sein können. Da es bisher aber auch kein Thema für FHEM war, soll es nun auch dann dabei belassen sein. Modulautoren haben nach wie vor die Möglichkeit für ihre eigenen Module solche Informationen zu hinterlegen, wenn sie das für wichtig halten.


Zu der Frage, was der Installer mit fhem.pl tut: Der Installer bildet ein vollumfängliches Bild der Abhängigkeiten ab, FHEM intern wie extern und auch über Perl hinaus. Grundlage ist alles, was in %modules steht. Dort gibt es eben auch 'Global' als Modul, also ein Alias für fhem.pl. Ich fand bisher nicht, dass deine Arbeit am zentralen Herzstück nun weniger Aufmerksamkeit verdient hätte als alle anderen Module, deren Abhängigkeiten und Details angezeigt werden können.


Man muss aber natürlich auch sagen: Der Getter showModuleInfo ist jetzt natürlich das einzige Feature, was man sehen kann. Das bleibt aber ja nicht so und es ist keinesfalls der Dreh und Angelpunkt wenn es darum geht, einfach nur zu schauen, was fehlt und diese fehlenden Abhängigkeiten nachzuinstallieren. Da fhem.pl wahrscheilich niemals etwas fehlen wird, wird es auch eher unwahrscheinlich in der Liste mit fehlenden Abhängigkeiten auftauchen  ;)
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

justme1968

ich habe eben eine alexa version mit den ersten meta infos eingecheckt. du kannst also anfangen die node modul info auszuwerten und auch in npmjs einzubauen.

ich hatte versucht die perl version als v5.14.x anzugeben. dann gibt es aber einen fehler aus Meta.pm mit is not numeric.

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Loredo

Zitat von: justme1968 am 14 März 2019, 21:42:02
ich habe eben eine alexa version mit den ersten meta infos eingecheckt. du kannst also anfangen die node modul info auszuwerten und auch in npmjs einzubauen.


Prima, mache ich! Wird dann aber erstmal noch ein Mix sein müssen, weil die anderen ja noch nachziehen müssen :-)


Zitat von: justme1968 am 14 März 2019, 21:42:02
ich hatte versucht die perl version als v5.14.x anzugeben. dann gibt es aber einen fehler aus Meta.pm mit is not numeric.


Ja, das ist richtig. Du musst von semver auf nummerisch umrechnen. Das geht ganz einfach:


5 -> bleibt so
14 -> 014 (3-stellig machen)
x -> 00x (3-stellig machen)


Was du also angeben musst ist 5.01400x (ich weiß nicht, wofür x bei dir stehen sollte).




Gruß
Julian
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

justme1968

das x war nur ein platzhalter :)

wir haben doch computer. warum muss man dann etwas selber umrechnen? wäre toll wenn das modul das macht :).

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Loredo

#41
Zitat von: justme1968 am 15 März 2019, 08:48:48
das x war nur ein platzhalter :)

wir haben doch computer. warum muss man dann etwas selber umrechnen? wäre toll wenn das modul das macht :) .


Jaein, dann ist der META.json nicht mehr standard konform und kann von anderer Software nicht mehr ausgewertet werden.
Alle Datenfelder, die nicht mit x_ anfangen, sind schon vordefiniert in ihrem Datenformat und ich würde gerne zu der bestehenden CPAN Spezifikation kompatibel bleiben, ohne dass FHEM zwangsläufig gestartet werden muss.


Dass so viele Dinge von jedem anders gemacht werden, damit kämpfe ich ja gerade extrem beim zusammensammeln und harmonisieren aller Datenquellen. Da würde ich das nicht noch fördern wollen ;-)
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Loredo

Ich hab dir da Quark erzählt.
Habe vergessen, dass später auch noch die Auswertung als ">=x.xx,<y.yy" und so weiter notwendig ist. Von daher baue ich eine Normalisierung ein, im generierten JSON wird dann immer der nummerische Wert hinterlegt, damit man ihn direkt für Vergleiche hernehmen kann. Für eine Anzeige im Userinterface rechnet man es dann bedarfsweise um oder nicht.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

DS_Starter

Hi Julian,

ich hatte dir doch in #21 berichtet, dass das Internal FVERSION bei meinem Versuchen nicht gesetzt wurde.
Inzwischen habe ich mich intensiver damit und deinem Meta.pm befasst und nun klappt es.
Das Problem lag in der $Id - Zeile. Nur wenn sie komplett gefüllt ist, wie z.B.

  $Id: 76_SMAPortal.pm 00000 2019-03-14 22:03:37Z DS_Starter $

wird {x_version} gesetzt was dann ja mit FHEM::Meta::SetInternals auf das Internal abgebildet wird.
Da mein contrib-Modul nicht eingecheckt ist und diese Zeile nicht komplett gefüllt hatte, klappte das eben nicht.
Weiß nicht ob du für noch nicht eingecheckte Module diesbezüglich etwas ändern möchtest.
Das nur nochmal als Feedback, ansonsten klappte bisher alles super bei meinen Tests.  :)

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter