NEWS
Test ioBroker unter Windows installieren - 2023 Edition
-
@homoran said in Test ioBroker unter Windows installieren - 2023 Edition:
auch wenn ich kein WIN user bin, hat eine Installation eines Adapters via git doch nichts mit 3rd party Software zu tun.
Es gibt wohl Adapter, die für eine korrekte Funktion eine GIT Installation voraussetzen. Ich denke @mcm1957 geht es um diese Exoten.
-
Na ja, das Problem ist dass es immer wieder Adapter gibt die (warum auch immer) direkte Github Referenzen drinnen haben. Und die failen dann bei den meisten Windows usern.
Man könnte das auch im Zuge der Adapterinstallation lösen - z.B. durch einen Check auf direkte git Abhängigkeiten in Verbindung mit fehlender Installation von git. Oder auch nur einen Hinweis in jedem Fall ...
Ich seh nur dass wahrscheinlich 75% der User überfordert wären das Problem selbst zu lösen - ich habs im Hinterkopf gehabt aber auch eine gefühlte Ewigkeit gebraucht es einzugrenzen und zu fixen.
--- to be discussed - was meine Andere dazu --- sollen wir das beim Meeting nochmal aufwärmen oder wird es euch fad, dann geb ich Ruhe.
-
@homoran said in Test ioBroker unter Windows installieren - 2023 Edition:
@gaspode sagte in Test ioBroker unter Windows installieren - 2023 Edition:
Wo fängt man an und wo hört man auf. Das nächste Thema ist dann schnell Python
ääähm,
auch wenn ich kein WIN user bin, hat eine Installation eines Adapters via git doch nichts mit 3rd party Software zu tun.Nö um das geht es nicht.
Es gibt Adapter die die haben in ihrer package.json eine github Referenz drinnen - statt einer npm Referenz. Und dafür benötigt npm dann bei der Installation ein installiertes 'git'. Nur sagt die Fehlermeldung das nicht in einer für User verständlichen Form. Und die Installation von git ist dann auch noch ein wenig tricky da sie unter dem User zwar funtioniert - aber für die ioBroker Installationb damit nichts gewonnen ist. Die git Installation fragt nicht ob systemweit installiert werden soll sondern installiert lokal für den Benutzer wenn dieser nicht aktiver Administrator ist.
Edit:
Um das Ganze noch "perverser" zu machen:
Eine Installation von Github geht OHNE dass git installiert ist.
Nur die Installation einer DEPENDENCY von github erfordert ein installiertes git.Das soll mal wer verstehen. Ev. hat ja npm einen Spezialeinbau für eine Githubinstallation der bei Installation der dependencies nicht existiert oder ...
In jedem Fall - ohne git crashen manche ganz normale Adapetrinstallationen - auch vom Stable Repository - unter Windows mit einer ziemlich unklaren Fehlermeldung. Da git wohl unter linux standard iost, dürfte es das Problem dort nicht geben.
-
@mcm1957 said in Test ioBroker unter Windows installieren - 2023 Edition:
Da git wohl unter linux standard iost, dürfte es das Problem dort nicht geben.
Hmm, das wäre natürlich tatsächlich ein Argument, git mit zu installieren. Ich persönlich fände es allerdings so aus dem Bauch raus besser, wenn das auf Adapter-Ebene gelöst werden könnte.
-
und das über den adapter checker zu prüfen, wenn der adapter ins repository mit aufgenommen wird?
-
@oliverio said in Test ioBroker unter Windows installieren - 2023 Edition:
und das über den adapter checker zu prüfen, wenn der adapter ins repository mit aufgenommen wird?
Ja, so was in der Art schwebte mir auch vor.
@mcm1957
Über wie viele Adapter reden wir eigentlich? -
@oliverio said in Test ioBroker unter Windows installieren - 2023 Edition:
und das über den adapter checker zu prüfen, wenn der adapter ins repository mit aufgenommen wird?
Ja, das steht sowieso am Programm.
ABER der Checker kann das nur dem Dev mitteilen. Und zu 90% hat der einen guten Grund das so zu lösen. Ergo bringt das dem User bei der Installation wenig. Und das nur bei der Aufnahme zu prüfen bringt wenig - da das oft auch später erfolgt, z.B. um einen Fix direkt aus Github einzubinden - oder statt des Originals einen gefixeten Fork zu verwenden. Für LATEST ist der Checker wirkungslos da er nicht läuft. Und beim Stable könnte ich den Adapter dann zwar blocken - aber das wollen wir eher nicht da es technisch mit der GH Referenz ja funktioniert udn ev. nur mit dieser funktioniert.
Was die Anzahl betrifft:
Keine Ahnung - wahrscheinlich wenig. 2 kenne ich im community Bereich. -
hauptziel ist doch immer das stable repo.
alles andere muss der entwickler dann seinen testern selbst erklären.
komfort für alle eventualitäten zu schaffen sollte nicht das ziel sein,
da es sonst für die zukunft zu hohe komplexitäten und abhängigkeiten aufbaut.oder gibt es ein szenario für einen stable adapter, der git benötigt
und man das nicht anders lösen kann (also npm oder pnpm)? -
@gaspode said in Test ioBroker unter Windows installieren - 2023 Edition:
@mcm1957 said in Test ioBroker unter Windows installieren - 2023 Edition:
Hmm, das wäre natürlich tatsächlich ein Argument, git mit zu installieren. Ich persönlich fände es allerdings so aus dem Bauch raus besser, wenn das auf Adapter-Ebene gelöst werden könnte.
Auf Adapterebene ist es m.E. nicht lösbar.
Außer es zu verbieten - was aber m.E. keine Lösung wäre.Konkret es Beispiel:
Adapter Samsung
Der verwendet einen Fork als dependency wo weder das Original und schon gar nicht der Fork in npm ist. Was soll ich jetzt tun? Ich könnt den Adapter natürlich aus allen Repos werfen. Aber ich glaub da mach ich mich nicht beliebtEinzige Idee die ich noch hätte wäre eine verpflichtender Hinweis im README. Da müssten wir uns dann halt überlegen was da stehn soll.
-
@oliverio said in Test ioBroker unter Windows installieren - 2023 Edition:
hauptziel ist doch immer das stable repo.
Hauptziel ist dass jeder Adapter problemlos installierbar ist und problemlos läuft.
oder gibt es ein szenario für einen stable adapter, der git benötigt
und man das nicht anders lösen kann (also npm oder pnpm)?JA, jeder der eine git dependency benutzen will / muss.
Außerdem erklärst du bitte dann den Devs dass ein Adapter der einwandfrei funktioniert nicht ins Stable kommt. Das Ergebnis sind dann Adapter die im Stable total veraltet sind und die User Experiance schädigen weil die User Probleme haben und dann schnippisch zurück bekommen "Installier halt eine aktuelle Version vom Latest". Ich hab in den letzten Wochen bereits einige Adapter aus dem Stable geworfen wo das Latest viel neuer war, offensichtlich das Stable unbrauchbar war und ein Update nicht sinnvoll war da es z.B. kein vernünftiges README, keine Releasenotes/Changelog etc. gab.
Konkret:
Soll ich den Samsung nun aus dem Stable Repo werfen?
Und wollen wir wirklich dass es dann zig Adapter gibt die nur in Latest sind - irgendwann stellen die User dann auf LATEST um weil im Stable "eh nix verfügbar ist". -
Ev. noch eine alternative Lösung:
Wenn das NEWS System eine platformabhängige notification kann, dann könnte man verlangen dass der dev eine winwods only news einträgt. Die würde dann zwar bei jeder Installation des Adapters kommen - aber das wär wohl akzeptabel.Muss ich mir mal ansehen wenn ich nicht vergesse.
-
Ja evtl ist die toolchain/buildchain für neue afapter und zu bearbeitende bestehende Adapter nicht einfach genug.
Bin zwar noch nicht so weit, aber genau zu diesem Thema wollte ich mich demnächst mal im dev discord melden.
Ich habe versucht für meine Adapter eine neue Entwicklungsumgebung aufzubauen und bin wieder am gleichen hängen geblieben wie vor einiger Zeit.
Entweder mach ich was grundlegend anders oder es funktioniert einfach nicht so richtig wie es sollte.
Auf jeden Fall hab ich meine eigenen Posts dazu wieder gefunden.
Aber wie gesagt, ich bereite da was vor und dann vergleichen wir mal mit jemanden configs der das gleiche Szenario hat. -
@oliverio
Sorry -dein letztes Posting verstehe ich absolut nicht. Ich seh beim besten Willen kein Toolchain Problem.Aber in jedem Fall ist das beim Windows Installer OT. Wenn es bezüglich Toolchain was zu besprechen gibt wär das wahrscheinlich in Telegramm oder in einem eigenen Topic sinnvoller.
-
@gaspode sagte in Test ioBroker unter Windows installieren - 2023 Edition:
Das nächste Thema ist dann schnell Python, Visual Studio Build Tools, etc.
Nur zur Info: Ja, genau das mußte ich wegen des RFLink Adapters manuell nachinstallieren. Sozusagen im Blindflug, jewils die nächsten Schritte aus den Logfiles erratend, https://forum.iobroker.net/topic/60173/rflink-auf-win-rechner-cannot-find-adapter-rflink-2-1-6?_=1716613541351
-
@klassisch said in Test ioBroker unter Windows installieren - 2023 Edition:
Nur zur Info: Ja, genau das mußte ich wegen des RFLink Adapters manuell nachinstallieren.
Ja, genau dich hatte ich auch im Hinterkopf, als ich den Beitrag geschrieben habe.
Es gibt unheimlich viele Fallstricke, die man überwinden muss - richtige Versionen (bei z.B. Python), richtige Pakete (bei z.B. VS Studio), etc. und irgendwie muss man die Installation dann auch aktuell halten. Das würde den Installer sehr komplex machen für einen Fall, den die wenigsten Anwender benötigen. Mal ganz davon abgesehen, dass ich mich mit der Ecke bisher nur rudimentär beschäftigt habe und mir nicht zutrauen würde, das wasserdicht zu implementieren.
Ich würde da eher zu einer sauberen Doku tendieren, evtl. auch zu einem Script, das man als Nachbrenner ausführen kann.
Wie schon geschrieben bringt Node.js das Script "Install Additional Tools for Node.js" im Startmenü mit, das ich bei mir aber noch nicht erfolgreich testen konnte. -
@klassisch
Steht da aber auch im README. Und wenns noch als News käme würden es auch die Nicht - Readme - Leser vor die Nase bekommenGeht (mir) zu 50% um Komfort für weniger erfahrene User und zu 99% darum, dass der User sich auskennen muss und erfahren sollte was er tun muss bzw. warum was nicht geht.
Quintessenz der Diskussion hier (für mich):
Einbau in Installer wäre möglich aber wahrscheinlich ein Fass ohne Boden.
Alternativen gesucht / gefragt.P.S. Muss mal schaun ob npm ein preinstall kennt ..
-
@gaspode said in Test ioBroker unter Windows installieren - 2023 Edition:
Ich würde da eher zu einer sauberen Doku tendieren, evtl. auch zu einem Script, das man als Nachbrenner ausführen kann.
Docu ja
Nachbrenner wird schwer - müsste eher ein PreBooster sein da ja zumindest bei fehlendem git die Installation gar nicht geht. (Nachbrennerscript wär übrigends schon jetzt in ioBroker sauber lösbar - dort wo das hilft)
-
Soda - das könnte die Lösung sein:
npm script PREINSTALL:
Remember that the preinstall script runs before dependencies are installed, so be cautious about any actions that depend on those dependencies being available.
Damit sollte es möglich sein ein Script einzubinden das im Idealfall git installiert aber in jedem Fall eine klare textuale Fehlermeldung ausgeben kann. Werd das mal testen...
Damit ist der Installer arbeitslos
-
@gaspode sagte in Test ioBroker unter Windows installieren - 2023 Edition:
Ja, genau dich hatte ich auch im Hinterkopf, als ich den Beitrag geschrieben habe.
Oh, vielen Dank!
Es gibt unheimlich viele Fallstricke, die man überwinden muss - richtige Versionen (bei z.B. Python), richtige Pakete (bei z.B. VS Studio), etc. und irgendwie muss man die Installation dann auch aktuell halten.
Ja, leider. Python Versionen sind immer so eine Sache. Insbes wenn man das noch wegen eines anderen Paketes auf dem Rechner hat. Und VS Studio ist ein Universum für sich.
Das würde den Installer sehr komplex machen für einen Fall, den die wenigsten Anwender benötigen.
Ja, das wird leider so sein.
und mir nicht zutrauen würde, das wasserdicht zu implementieren.
Das kann ich sehr gut nachvollziehen. Mir graut auch schon vor der nächsten Neu-Installation ....
Ich würde da eher zu einer sauberen Doku tendieren
Hatte ich im o.g. Post versucht. Ob es wirklich geholfen hat weiß ich nicht.
In dem speziellen Fall ist es mMn eher ein Thema des RFLink Adapters. Aber der scheint jetzt nicht zu den populärsten zu gehören - obwohl ungemein praktisch.
-
Mir ist grad aufgefallen, dass der letzte Satz beim Windows Fixer ein wenig krumm wirkt:
ioBroker service installed and started. Go to http://localhost:8081 to open the admin UI. To see the outputs do not start the service, but write "node node_modules/iobroker.js-controller/controller"
Sollte wohl eher heißen
To see the outputs BUT do not start the service, write "node node_modules/iobroker.js-controller/controller"
oder
To see the outputs AND do not start the service, write "node node_modules/iobroker.js-controller/controller"
oder
To see the outputs IF THE the service DOES NOT START , write "node node_modules/iobroker.js-controller/controller"
Ich vermute auch, dass das Service irgendwo einen Output schreibt. Falls das ein fixer Platz ist wär ein Link zu diesem Output ev. sinnvoll.