NEWS
RFLink auf Win Rechner "cannot find adapter "rflink@2.1.6"
-
Habe versucht neu von github zu instellieren.
Da gibt es im Verlauf folgende Meldungenpm ERR! code 1 npm ERR! path C:\ioBroker\node_modules\iobroker.rflink\node_modules\@serialport\bindings npm ERR! gyp ERR! find Python checking if Python is C:\Windows\system32\config\systemprofile\AppData\Local\Programs\Python\Python38\python.exe npm ERR! gyp ERR! node -v v16.15.1 npm ERR! gyp ERR! node-gyp -v v8.4.1 npm ERR! gyp ERR! not ok npm ERR! A complete log of this run can be found in: npm ERR! C:\Windows\system32\config\systemprofile\AppData\Local\npm-cache\_logs\2022-11-20T09_03_11_130Z-debug-0.log host.T460-ioB Cannot install ioBroker/ioBroker.rflink#361e6e65f4bf3aede6e53a754571b24cb73b5ebe: 1 ERROR: Process exited with code 25
Auf dem Rechner habe ich ein Python 3.10 mit eingerichteten Pfaden nach der Anleitung von Chip https://praxistipps.chip.de/python-in-cmd-nutzen-so-gehts_96172
Aber das RFLink buildscript scheint speziell nach
C:\Windows\system32\config\systemprofile\AppData\Local\Programs\Python\Python38\python.exe
zu verlangen.
Also Python 3.8-
Ist das ein Bug im ioBroker Adapter oder muß ich dieses Python in dieser Form und an diesem Ort installieren? Und was gebe ich da ein, damit es genau dort landet?
-
Oder kann ich den Pfad irgendwo anders ändern? Kommt der vielleicht von der Spenderinstallation (Kopie von iokroker-data)?
-
-
Mittlerweile wird Python anscheinend gefunden.
Visual Studio wurde angefordert.
Habe Visual Studio 2022 installiert.
Ist aber immer noch nicht zufriedenAuszug aus dem log:
1378 timing command:install Completed in 18046ms 1379 verbose stack Error: command failed 1379 verbose stack at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\promise-spawn\lib\index.js:63:27) 1379 verbose stack at ChildProcess.emit (node:events:527:28) 1379 verbose stack at maybeClose (node:internal/child_process:1092:16) 1379 verbose stack at Process.ChildProcess._handle.onexit (node:internal/child_process:302:5) 1380 verbose pkgid @serialport/bindings@8.0.8 1381 verbose cwd C:\ioBroker 1382 verbose Windows_NT 10.0.19044 1383 verbose node v16.15.1 1384 verbose npm v8.11.0 1385 error code 1 1386 error path C:\ioBroker\node_modules\iobroker.rflink\node_modules\@serialport\bindings 1387 error command failed 1388 error command C:\Windows\system32\cmd.exe /d /s /c prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild 1389 error gyp info it worked if it ends with ok 1389 error gyp info using node-gyp@8.4.1 1389 error gyp info using node@16.15.1 | win32 | x64 1389 error gyp info find Python using Python version 3.10.8 found at "c:\Users\JS\AppData\Local\Programs\Python\Python310\python.exe" 1389 error gyp ERR! find VS 1389 error gyp ERR! find VS msvs_version not set from command line or npm config 1389 error gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt 1389 error gyp ERR! find VS checking VS2022 (17.4.33110.190) found at: 1389 error gyp ERR! find VS "C:\Program Files\Microsoft Visual Studio\2022\Community" 1389 error gyp ERR! find VS - found "Visual Studio C++ core features" 1389 error gyp ERR! find VS - missing any VC++ toolset 1389 error gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use 1389 error gyp ERR! find VS looking for Visual Studio 2015 1389 error gyp ERR! find VS - not found 1389 error gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8 1389 error gyp ERR! find VS 1389 error gyp ERR! find VS ************************************************************** 1389 error gyp ERR! find VS You need to install the latest version of Visual Studio 1389 error gyp ERR! find VS including the "Desktop development with C++" workload. 1389 error gyp ERR! find VS For more information consult the documentation at: 1389 error gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows 1389 error gyp ERR! find VS ************************************************************** 1389 error gyp ERR! find VS 1389 error gyp ERR! configure error 1389 error gyp ERR! stack Error: Could not find any Visual Studio installation to use 1389 error gyp ERR! stack at VisualStudioFinder.fail (C:\ioBroker\node_modules\node-gyp\lib\find-visualstudio.js:122:47) 1389 error gyp ERR! stack at C:\ioBroker\node_modules\node-gyp\lib\find-visualstudio.js:75:16 1389 error gyp ERR! stack at VisualStudioFinder.findVisualStudio2013 (C:\ioBroker\node_modules\node-gyp\lib\find-visualstudio.js:363:14) 1389 error gyp ERR! stack at C:\ioBroker\node_modules\node-gyp\lib\find-visualstudio.js:71:14 1389 error gyp ERR! stack at C:\ioBroker\node_modules\node-gyp\lib\find-visualstudio.js:384:16 1389 error gyp ERR! stack at C:\ioBroker\node_modules\node-gyp\lib\util.js:54:7 1389 error gyp ERR! stack at C:\ioBroker\node_modules\node-gyp\lib\util.js:33:16 1389 error gyp ERR! stack at ChildProcess.exithandler (node:child_process:406:5) 1389 error gyp ERR! stack at ChildProcess.emit (node:events:527:28) 1389 error gyp ERR! stack at maybeClose (node:internal/child_process:1092:16) 1389 error gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:302:5) 1389 error gyp ERR! System Windows_NT 10.0.19044 1389 error gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\ioBroker\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" 1389 error gyp ERR! cwd C:\ioBroker\node_modules\iobroker.rflink\node_modules\@serialport\bindings 1389 error gyp ERR! node -v v16.15.1 1389 error gyp ERR! node-gyp -v v8.4.1 1389 error gyp ERR! not ok 1390 verbose exit 1
Irgendetwas mit den serialport Bindings scheint da durcheinander zu sein.
Visual Studio ist vorhanden wird aber nicht detektiert.
Habe das Visual Studio installiert, bin aber nicht durch den Einstellungsprozess gegangen. Wollte nichts falsch einstellen.
Was könnte ich noch tun? -
Die Fehlversuche werden wohl daran liegen, daß mein Produktivrechner kein Entwicklungsrechner ist und ich kein Entwickler.
Mittlerweile läuft die Übersetzung durch.
Visual Studio benötigt zusätzliche Plugins (Workloads) und Komponenten.
Installiert habe ich:
Davon wird Desktop C++ ganz sicher gebraucht.
vorsichtshalber noch Linux Workload
Und sicher gebraucht wird auch ein passendes Windosw SDK. Der Installer hatte unglücklicherweise Win 11 SDK auf dem Win 10 Rechner installiert. Habe die Win 10 SDKs nachgeordert.
Welche man wirklich benötigt weiss ich nicht.
Danach lief die Übersetzung durch und die serielle Schnittstelle kann ausgewählt werden.
Bei nächster Gelegenheit werden ich versuchen dieses ioBroker System zum Produktivsystem zu machen.
-
Moin, gibt es für das Problem schon eine Lösung, welche weniger "umständlich" ist?
Ich kenne das Problem schon seit 2020 nach jedem hochsetzen der Node Version. Bislang war es immer mit dem folgenden Workaround zu heilen.
https://forum.iobroker.net/topic/34318/rflink-nodejs12-18
Jetzt bin ich auf Node 18.x gegangen und das im Link beschriebene Prozedere funktioniert nicht mehr. In der Konsole kommt dann nur die folgende Meldung und im ioB Debug wird weiterhin versucht die 2.1.6er Version von RF-Link zu installieren.
host.GLT 2023-04-02 12:13:37.618 info "system.adapter.rflink.0" disabled host.GLT 2023-04-02 12:13:36.916 info iobroker npm-install: host.GLT Adapter "system.adapter.rflink.0" is stopped. admin.0 10876 2023-04-02 12:13:30.130 info <== Disconnect system.user.admin from ::ffff:10.122.60.92 host.GLT 2023-04-02 12:13:25.959 info iobroker install rflink@2.1.6 using installedFrom host.GLT 2023-04-02 12:13:25.958 warn startInstance cannot find adapter "rflink@2.1.6". Try to install it... 1 attempt host.GLT 2023-04-02 12:13:24.917 info iobroker npm-install: exit 25 host.GLT 2023-04-02 12:13:23.530 error iobroker npm-install: host.GLT Cannot install iobroker.rflink@2.1.6: 1 host.GLT 2023-04-02 12:13:01.844 info "system.adapter.rflink.0" enabled
Your environment has been set up for using Node.js 18.15.0 (x64) and npm. C:\iobroker\GLT>npm install serialport npm WARN skipping integrity check for git dependency ssh://git@github.com/noopkat/browser-serialport.git npm WARN deprecated jscs-preset-wikimedia@1.0.1: No longer maintained. We recomment migrating to ESLint with eslint-config-wikimedia. npm WARN deprecated nomnom@1.8.1: Package no longer supported. Contact support@npmjs.com for more info. npm WARN deprecated uuid@2.0.3: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm WARN deprecated jscs@3.0.7: JSCS has merged with ESLint! See - https://medium.com/@markelog/jscs-end-of-the-line-bc9bf0b3fdb2 npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. added 137 packages, and audited 2088 packages in 1m 192 packages are looking for funding run `npm fund` for details 105 vulnerabilities (10 low, 59 moderate, 27 high, 9 critical) To address issues that do not require attention, run: npm audit fix To address all issues possible (including breaking changes), run: npm audit fix --force Some issues need review, and may require choosing a different dependency. Run `npm audit` for details. C:\iobroker\GLT>
-
OK, ich nehme alles zurück und behaupte das Gegenteil. Also der Workaround aus dem Link funktioniert scheinbar immer noch.
Ich habe eine Migration aus einer alten ioBroker Windows Installation mit dem neuen "Installer 2023" durchgeführt. Dieser Prozess verläuft zu 100% automatisiert. Im Rahmen dessen, wurde zwar die INSTANZ mit übernommen, aber der RF-Link ADAPTER vergessen, bzw. gelöscht.
Die Instanz Einstellungen waren aber vorhanden und auch voll bedienbar. In der Zwischenzeit habe ich versucht über ein
install serialport
die Instanz zum laufen zu bekommen. Da der Adapter aber gar nicht installiert war, konnte das nicht funktionieren.Ich habe den RF-Link Adapter dann über den Admin und aus dem GIT in meine ioBroker Installation nachinstalliert. Die Instanz war ja schon vorhanden und nun konnte ich auch problemlos wieder einen COM-Port auswählen.
Die externen Werte kommen nun auch wieder über den RF-Link Empfänger im ioBroker an - also alles wieder Gut.
-
@jb_sullivan said in RFLink auf Win Rechner "cannot find adapter "rflink@2.1.6":
Im Rahmen dessen, wurde zwar die INSTANZ mit übernommen, aber der RF-Link ADAPTER vergessen, bzw. gelöscht.
Wie schon im anderen Thread geschrieben: Der Installer übernimmt nur Daten und passt diese an die neue Installation an. Die Installation der Adapter erfolgt im Anschluss durch ioBroker selbst. In seltenen Fällen scheint es da zu haken. In einem anderen Thread hat jemand über das gleiche Problem berichtet, im Zusammenhang mit dem S7 Adapter. wie du hatte er auch die Fehlermeldung "Cannot Install":
2023-04-02 10:52:28.934 error iobroker npm-install: host.Host Cannot install iobroker.rflink@2.1.6: 1
2023-03-27 19:27:02.133 error iobroker npm-install: host.Host Cannot install iobroker.s7@1.3.14: 1
Evtl. kann @apollon77 da die Ursache erkennen und vielleicht ist es auch ein entsprechendes Github Issue wert. Controller? Admin?
Generell würde ich davon abraten, in solchen Fällen aus GIT zu installieren. Besser zunächst über "Adapter" und "+" im Admin versuchen, sollte das nicht gehen auf der Konsole mit
iob install rflink
Bei Git weiß man halt nie genau, ob man nicht irgendeinen Zwischenstand erwischt.
-
Hallo Leute
Srry, aber ich möchte dieses Thema "aufwärmen".
Und entgegen der vielen Unkenrufe rennt das Ding unter unter Windows einwandfrei.Aber ... um den vielen Basteleien (wie oben von @JB_Sullivan beschrieben) zu entgehen, eine bescheidene Frage: Gibt es schon eine einfache Lösung, die ich hier im Forum mglw. noch nicht erspähen konnte?
Danke !!
RP -
@f493
Ich kann dir nicht ganz folgen, Sprichst du von ioBroker allgemein oder von einem speziellen Adapter? Hast du ein konkretes Problem, bei dem wir helfen können?
Welche "einfache Lösung" suchst du und wofür? -
Also der Adapter ist gang normal im Repo gelistet - eine Installation via Giuthub ist nicht ntwendig und von Github Installation die nicht auf Anregung des Maintainers erfolgen wird dringend abgeraten.
Wie schon in der README steht muss unter Windows das binary mittels visual studio gebaut werden:
To use serial port on Windows it is VS required to build the binary.
https://github.com/ioBroker/ioBroker.rflink#prerequires
Das Problem ist allerdings mit Issue https://github.com/ioBroker/ioBroker.rflink/issues/42 erfasst. Falls es sich jemand ansehen will / kann - PR ist sicher gerne gesehen.
-
@klassisch said in RFLink auf Win Rechner "cannot find adapter "rflink@2.1.6":
Visual Studio benötigt zusätzliche Plugins (Workloads) und Komponenten.
Installiert habe ich:Hat mal jemand versucht, die erforderlichen Tools über den Startmenüpunkt "Install Additional Tools for Node.js" im Node.js Menü zu installieren? Den bringt die Node.js Installation mit.
-
@gaspode ich habe mich auf das Thema im Thread bezogen. Kann man etwas genauer formulieren - da hast du recht.
@mcm57 "To use serial port on Windows it is VS required to build the binary." = ein Klassiker
Als Normalo hat man VS nicht installiert. Und damit dann einen Build zu erstellen wäre die nächste Hürde
Das hatte ich etwas missverständlich mit "einfache Lösung" formuliert. Denn einer sonst sehr einfachen Installation eines Adapters im IOB einen Build voranzustellen, wird so manchen Anwender mglw. etwas überfordern. Mich mit eingeschlossen.
Bleibt mir vorerst eine aktive Beobachterrolle, bis sich ein DEV das mal intensiv zur Brust nimmt.
Trotzdem vielen Dank für eure Antworten -
@f493 said in RFLink auf Win Rechner "cannot find adapter "rflink@2.1.6":
@gaspode ich habe mich auf das Thema im Thread bezogen. Kann man etwas genauer formulieren - da hast du recht.
Nee, war schon OK. Ich bin durcheinander gekommen und hatte zwei Themen verwechselt. Sorry.
-
@mcm57
Hallo
Ich weiß, ich bin lästig.
Aber kann mir bitte jemand erklären wie ich die "Binärdatei VS" erstellen kann?
Ich möchte nicht basteln, löten, experimentieren ...
IOB funktioniert unter Windows eigentlich sehr, sehr gut.Danke !!
-
@f493 sagte in RFLink auf Win Rechner "cannot find adapter "rflink@2.1.6":
@mcm57
Ich weiß, ich bin lästig.Nö, nicht Du, sondern der Bug
Aber kann mir bitte jemand erklären wie ich die "Binärdatei VS" erstellen kann?
Meinen Leidensweg - oder Durchgewurschtel habe ich im Eingangspost beschrieben. So hat es bei mir funktioniert.
Ich möchte nicht basteln, löten, experimentieren
Löten muß man nur beim Zusammenbau des RFLink Arduino. Bei der Erstellung der SW habe ich auch Fehlermeldungen gelesen, recherchiert und experimentiert. Kann man auch als basteln bezeichnen. Unerfreulich, war aber der Stand und scheint es immer noch zu sein.
IOB funktioniert unter Windows eigentlich sehr, sehr gut.
Ja, das möchte ich bestätigen. Super stabil und die Wartung des Rechners wie man es gewöhnt ist.
Wenn das Problem mit RFLink nicht gelöst werden kann, dann scheint es noch eine 433MHz Lösung über ESP 8266 bzw. ESP32 und ESPHome zu geben. Die kenne ich allerdings nicht und will sie eigentlich nicht. Müßte dann viele Skripte umschreiben. Und das wäre auch wieder mit Löten, was mich persönlich jetzt nicht stören würde.
-
Hallo Leute
Wie auch schon @klassisch es beschrieben hat. Das funktioniert wirklich !!
Zusammengefasst - was habe ich gemacht:
- Visual Studio 2022 (Community Version) - alles manuell auswählen wie @klassisch es markiert hat
- Ergänzung: Obwohl ich Windows 11 im Einsatz habe, musste ich auch die Windows 10 SDKs installieren (hab alle mitgenommen)
- WICHTIG: Python nicht die letzte Version 3,12.1 (Stand heute 09.12.2023) verwenden, sondern unbedingt die Version 3.11.0 - manuell Inst. - und alles (!) auswählen (!)
Der Grund: Das Modul "distutils" ist in den neuesten Versionen nicht mehr enthalten - und genau das braucht es - RFLink installieren - serielle Schnittstelle zuweisen - fertig
Das Ganze hat mich Stunden gekostet ... es läuft. Für den Anspruch den der IOB mittlerweile hat jedoch eher mau und hemdsärmelig ... und dass mich hier ja keiner falsch versteht !!!!
Ich bin absolut begeistert von diesem System, der Community und v.a. von den vielen Entwicklern die das System vorantreiben - allergrößter RESPEKT !!DANKE
-
@f493 sagte in RFLink auf Win Rechner "cannot find adapter "rflink@2.1.6":
Für den Anspruch den der IOB mittlerweile hat jedoch eher mau und hemdsärmelig
Das Modul 'serialport' ist aber nicht von iobroker.
Da musst du dich dort beschweren. -
@thomas-braun sagte in RFLink auf Win Rechner "cannot find adapter "rflink@2.1.6":
Das Modul 'serialport' ist aber nicht von iobroker.
Da musst du dich dort beschweren.Ändert die Sichtweise etwas - in der Tat.
Entscheidend jedoch mein letzter Satz ...