Scyto Posted October 20, 2019 Posted October 20, 2019 (edited) I created a docker for this thanks as always @io_guy for the breadcrumb trails. If you don't already know docker this is probably not for you. My full set of tags is as follows: scyto/nodelink:latest - dotNet 3.0.0 Core and nodelinkv10.x (linux/amd64 & arm32v7 & arm64 and windows/amd64) Linux Version For linux use the following command to run the container - replace $pwd% with path to your host mapped files as required (where nodelink will store its config).. docker run --name=NodeLink -v $PWD$:/NodeLink -p 8090:8090 scyto/nodelink Windows Version For windows use the following command to run the container -replace $pwd% with path to your host mapped files as required docker run --name=NodeLink -v $PWD$:C:\NodeLink -p 8090:8090 scyto/nodelink:latest Let me know if you find issues. You can bug them on the dev github branch. Dockerhub page here https://github.com/scyto/NodeLink/tree/Dev Edited October 26, 2019 by Scyto now v10 is released updated to use my master branch build not dev-latest Quote
Scyto Posted October 24, 2019 Posted October 24, 2019 @io_guy Not sure if it supposed to be there? I saw it when it was set to the default of profile 1? I installed ISY portal on 1 (thats what it chose after i had removed all my nodes for everything) Quote
io_guy Posted October 25, 2019 Author Posted October 25, 2019 Not sure the question. That option auto-updates the ISY with NodeLink's NodeDef files if they're not up to date. Quote
Scyto Posted October 25, 2019 Posted October 25, 2019 what happened to the button in the install doc (see below and compare with mine above)? Did it intentionally dissapear? It was there one moment today and not the next... Quote
io_guy Posted October 25, 2019 Author Posted October 25, 2019 It only shows up if the nodedefs are out of date. If they're ok, it's hidden. 1 Quote
Bumbershoot Posted October 26, 2019 Posted October 26, 2019 FWIW: The daily program update check is returning a '404' this morning. 2019-10-26 07:41:00 - Auto-Update: Error updating file: The remote server returned an error: (404) Not Found. Quote
io_guy Posted October 27, 2019 Author Posted October 27, 2019 Had a few of those too, seems to be working now. Quote
ralbright Posted November 22, 2019 Posted November 22, 2019 I just tried updating Nodelink... just saw that things were looking weird in ISY. (Venstar and GEM showing names of items as [NLS-10:ST-GV2-NAME]). Tried the install code script in the first post... not working. When I try to wget http://automationshack/Files/install-core.sh, I get a 404 error. Running on Debian in Virtual machine on Windows 10 Pro. Version I am currently running is 0.9.36, would like to update to latest, but unsure how. 1 Quote
ralbright Posted November 22, 2019 Posted November 22, 2019 On 9/29/2019 at 2:46 PM, Bumbershoot said: Just an FYI: Interestingly, the config file in '/home/pi/node' was created with 'root' ownership/permissions. My usual practice is to keep things in user directories owned by that user, so I changed the ownership of '/home/pi/node/config.xlm' to user 'pi' to give my '/bin/systemctl' control file ('/etc/systemd/system/nodelink.service') permission to run. I could have also just eliminated the 'User=pi' line. [UNIT] Description=NodeLink Server Documentation=http://automationshack.com/nodelink.html Requires=network-online.target After=network-online.target [Service] Type=simple ExecStartPre=/bin/sleep 10 ExecStart=/home/pi/dotnet/dotnet /home/pi/node/NodeLink.dll Restart=always User=pi [Install] WantedBy=multi-user.target I modified my script, exactly as indicated above, but I get errors when starting it. pi@polyglot:~$ sudo systemctl status nodelink.service ● nodelink.service Loaded: loaded (/etc/systemd/system/nodelink.service; enabled; vendor preset: enabled) Active: activating (start-pre) since Fri 2019-11-22 09:08:31 PST; 3s ago Process: 2192 ExecStart=/home/pi/dotnet/dotnet /home/pi/node/NodeLink.exe (code=exited, status=203/EXEC) Main PID: 2192 (code=exited, status=203/EXEC); Control PID: 2197 (sleep) Tasks: 1 (limit: 4915) CGroup: /system.slice/nodelink.service └─control └─2197 /bin/sleep 10 Here is my nodelink.service file: ### BEGIN INIT INFO # Provides: nodelink.service # Required-Start: $all # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: NodeLink Server ### END INIT INFO [UNIT] Description=NodeLink Server Documenation=http://automationshack.com/nodelink.html Requires=network-online.target After=network-online.target [Service] Type=simple ExecStartPre=/bin/sleep 10 ExecStart=/home/pi/dotnet/dotnet /home/pi/node/NodeLink.exe ExecReload=/bin/sleep 5 | /home/pi/dotnet/dotnet /home/pi/node/NodeLink.exe Restart=always User=pi [Install] WantedBy=multi-user.target I have tried running the install.sh, but it does have issues at the rc.local part (startup script) as I am following Bumbershoot's startup script. I am missing something really simple... question is what? Quote
Bumbershoot Posted November 22, 2019 Posted November 22, 2019 6 hours ago, ralbright said: I modified my script, exactly as indicated above, but I get errors when starting it. pi@polyglot:~$ sudo systemctl status nodelink.service ● nodelink.service Loaded: loaded (/etc/systemd/system/nodelink.service; enabled; vendor preset: enabled) Active: activating (start-pre) since Fri 2019-11-22 09:08:31 PST; 3s ago Process: 2192 ExecStart=/home/pi/dotnet/dotnet /home/pi/node/NodeLink.exe (code=exited, status=203/EXEC) Main PID: 2192 (code=exited, status=203/EXEC); Control PID: 2197 (sleep) Tasks: 1 (limit: 4915) CGroup: /system.slice/nodelink.service └─control └─2197 /bin/sleep 10 Here is my nodelink.service file: ### BEGIN INIT INFO # Provides: nodelink.service # Required-Start: $all # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: NodeLink Server ### END INIT INFO [UNIT] Description=NodeLink Server Documenation=http://automationshack.com/nodelink.html Requires=network-online.target After=network-online.target [Service] Type=simple ExecStartPre=/bin/sleep 10 ExecStart=/home/pi/dotnet/dotnet /home/pi/node/NodeLink.exe ExecReload=/bin/sleep 5 | /home/pi/dotnet/dotnet /home/pi/node/NodeLink.exe Restart=always User=pi [Install] WantedBy=multi-user.target I have tried running the install.sh, but it does have issues at the rc.local part (startup script) as I am following Bumbershoot's startup script. I am missing something really simple... question is what? Sorry, I'm traveling so I can't look at the script on my RPi, but I notice right away that you're calling 'nodelink.exe' instead of 'nodelink.dll'. You might edit 'nodelink.service' to see if that matters. I really haven't touched Windows machines much in over a decade, so my expertise with Windows executables is low. Quote
ralbright Posted November 23, 2019 Posted November 23, 2019 1 hour ago, Bumbershoot said: Sorry, I'm traveling so I can't look at the script on my RPi, but I notice right away that you're calling 'nodelink.exe' instead of 'nodelink.dll'. You might edit 'nodelink.service' to see if that matters. I really haven't touched Windows machines much in over a decade, so my expertise with Windows executables is low. I will appreciate getting it when you are back. (BTW, traveling for Thanksgiving?) Quote
Bumbershoot Posted November 23, 2019 Posted November 23, 2019 9 minutes ago, ralbright said: I will appreciate getting it when you are back. (BTW, traveling for Thanksgiving?) I’ll be back next week, prior to turkey day. I’ll look at my service file and repost it. I bounced NodeLink just before I left, and it started successfully and continues to run (I get several notifications daily that report changing values in NodeLink nodes). BTW, my experience with NodeLink on an RPi has been exceptional, both with Mono and now with DotNet. I’m expecting the same when I install it on my Polisy. No crashes, no nonsense. 1 Quote
io_guy Posted November 23, 2019 Author Posted November 23, 2019 23 hours ago, ralbright said: I just tried updating Nodelink... just saw that things were looking weird in ISY. (Venstar and GEM showing names of items as [NLS-10:ST-GV2-NAME]). Tried the install code script in the first post... not working. When I try to wget http://automationshack/Files/install-core.sh, I get a 404 error. Running on Debian in Virtual machine on Windows 10 Pro. Version I am currently running is 0.9.36, would like to update to latest, but unsure how. It's no longer install-core it's http://automationshack/Files/install.sh I doubt the script will work as it's meant for a Raspberry Pi. It will install the wrong .NET Runtime (built for ARM) To use Debian download: http://automationshack/Files/NodeLink.dll http://automationshack/Files/NodeLink.runtimeconfig.json For the core runtime follow this:https://dotnet.microsoft.com/download/linux-package-manager/runtime-3.0.0 or download the binary:https://download.visualstudio.microsoft.com/download/pr/a5ff9cbb-d558-49d1-9fd2-410cb1c8b095/a940644f4133b81446cb3733a620983a/dotnet-runtime-3.0.0-linux-x64.tar.gz Quote
ralbright Posted November 23, 2019 Posted November 23, 2019 So I did the following: wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/ wget -q https://packages.microsoft.com/config/debian/9/prod.list sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list Then: sudo apt-get update sudo apt-get install apt-transport-https sudo apt-get update sudo apt-get install aspnetcore-runtime-3.0=3.0.0-1 This was found at: Quote https://dotnet.microsoft.com/download/linux-package-manager/runtime-3.0.0 When I try to run from the node folder dotnet NodeLink.dll I get the following: pi@polyglot:~/node$ dotnet NodeLink.dll Failed to load ▒▒t, error: /usr/share/dotnet/host/fxr/5.0.0-alpha.1.19564.1/libhostfxr.so: cannot open shared object file: No such file or directory The library libhostfxr.so was found, but loading it from /usr/share/dotnet/host/fxr/5.0.0-alpha.1.19564.1/libhostfxr.so failed - Installing .NET Core prerequisites might help resolve this problem. https://go.microsoft.com/fwlink/?linkid=2063370 The link sends me to a 404 error page on Microsoft's website. Google search led me to adding this command: sudo apt-get install dotnet-sdk-3.0 But I still get the same above error. Any ideas? Quote
io_guy Posted November 24, 2019 Author Posted November 24, 2019 So I just installed a fresh Debian in a VM on Windows. Did the install as above (except I installed netcore-runtime-3.0=3.0.0-1, not netcore-runtime-3.0=3.0.0-1). NodeLink started up without issue. Quote
ralbright Posted November 24, 2019 Posted November 24, 2019 4 hours ago, io_guy said: So I just installed a fresh Debian in a VM on Windows. Did the install as above (except I installed netcore-runtime-3.0=3.0.0-1, not netcore-runtime-3.0=3.0.0-1). NodeLink started up without issue. Ummm.... you typed the same thing. installed netcore-runtime-3.0=3.0.0-1, not netcore-runtime-3.0=3.0.0-1 Just want to make sure I type the correct stuff. And by 'install as above' are you referencing to what I typed or something else. (Sorry to be a pain. Quote
ralbright Posted November 24, 2019 Posted November 24, 2019 Also I am not running a true Debian install, I am actually running the RPi Debian on VM. (Not sure if that makes a difference or not.) Quote
io_guy Posted November 25, 2019 Author Posted November 25, 2019 I did netcore-runtime-3.0 instead of aspnetcore-runtime-3.0 I have no idea what VM RPi debian is but it's most likely the issue. Pi is ARM, Windows is x64, a VM cannot emulate a different architecture. Mono didn't care about arch, but Net Core does. Quote
ralbright Posted November 25, 2019 Posted November 25, 2019 (edited) So I managed to get 0.10.5 loaded on a Debian 9 (RPi) VM. Here is how I did it! Fresh install from 019-04-11-rpd-x86-stretch.iso Set my IP address to a fixed address sudo apt-get update sudo apt-get upgrade sudo apt-get install libicu57 sudo apt-get install libssl1.0.2 wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/ wget -q https://packages.microsoft.com/config/debian/9/prod.list sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list sudo apt-get update sudo apt-get install apt-transport-https sudo apt-get update sudo apt-get install dotnet-sdk-3.0 sudo apt-get install libunwind8 gettext curl wget sudo curl -sSL http://automationshack.com/Files/install.sh | bash I can now run the command: dotnet /home/pi/node/NodeLink.dll However my attempts at following Bumbershoot's systemd startup script fail miserably. The /etc/systemd/system/nodelink.service file looks like this: ### BEGIN INIT INFO # Provides: nodelink.service # Required-Start: $all # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: NodeLink Server ### END INIT INFO [UNIT] Description=NodeLink Server Documentation=http://automationshack.com/nodelink.html Requires=network-online.target After=network-online.target [Service] Type=simple ExecStartPre=/bin/sleep 10 ExecStart=/home/pi/dotnet/dotnet /home/pi/node/NodeLink.dll ExecReload=/bin/sleep 5 | /home/pi/dotnet/dotnet /home/pi/node/NodeLink.dll Restart=always User=pi [Install] WantedBy=multi-user.targetNode Whenever I run status on this service I get this error message: pi@raspberry:~ $ sudo systemctl status nodelink.service ● nodelink.service Loaded: loaded (/etc/systemd/system/nodelink.service; disabled; vendor preset: enabled) Active: activating (start-pre) since Sun 2019-11-24 20:00:38 PST; 4s ago Process: 5599 ExecStart=/home/pi/dotnet/dotnet /home/pi/node/NodeLink.dll (code=exited, status=255) Main PID: 5599 (code=exited, status=255); Control PID: 5604 (sleep) Tasks: 1 (limit: 4915) CGroup: /system.slice/nodelink.service └─control └─5604 /bin/sleep 10 Nov 24 20:00:38 raspberry systemd[1]: nodelink.service: Service hold-off time over, scheduling restart. Nov 24 20:00:38 raspberry systemd[1]: Stopped nodelink.service. Nov 24 20:00:38 raspberry systemd[1]: Starting nodelink.service... Also at times I see this in the status: Nov 24 19:59:56 raspberry systemd[1]: [/etc/systemd/system/nodelink.service:10] Unknown section 'UNIT'. Ignoring. ----- Something I am still experiencing however is naming conventions in ISY. (What caused me to look into all of this upgrade stuff...) All NodeLink nodes follow this naming convention for their various properties: (box 1) - Occupied (box 2) - [NLS-10:ST-GV1-NAME] (box 3) - [NLS-10:ST-GV2-NAME] ....etc.... Edited November 25, 2019 by ralbright Quote
io_guy Posted November 25, 2019 Author Posted November 25, 2019 No idea why you'd install a Pi image on Windows instead of just standard Debian. Can't help with the service startup, I use rc.local. I need the actual NodeLink log to work on your NLS issue. Quote
ralbright Posted November 25, 2019 Posted November 25, 2019 6 hours ago, io_guy said: No idea why you'd install a Pi image on Windows instead of just standard Debian. Can't help with the service startup, I use rc.local. I need the actual NodeLink log to work on your NLS issue. The "server" is running Windows 10, which I have in my home, it has VirtualBox running a few VMs, one of which is Debian with the RPi load. Does that help? (It is mainly because I already have it running 24/7 in my home, why put a Pi in place when I already have it. As for the NLS issue, I have the NodeLink running debug now. And then I go and check on my ISY again.... and it is showing the names properly. What a wonderful annoying (apparently not) issue now. logfile_2019-11-25.txt Quote
glarsen Posted November 25, 2019 Posted November 25, 2019 4 19:59:56 raspberry systemd[1]: [/etc/systemd/system/nodelink.service:10] Unknown section 'UNIT'. Ignoring. I think "UNIT" should be "Unit". It's case sensitive in most *nixes Quote
io_guy Posted November 26, 2019 Author Posted November 26, 2019 9 hours ago, ralbright said: The "server" is running Windows 10, which I have in my home, it has VirtualBox running a few VMs, one of which is Debian with the RPi load. Does that help? (It is mainly because I already have it running 24/7 in my home, why put a Pi in place when I already have it. As for the NLS issue, I have the NodeLink running debug now. And then I go and check on my ISY again.... and it is showing the names properly. What a wonderful annoying (apparently not) issue now. logfile_2019-11-25.txt 65.95 kB · 2 downloads I mean why would you use a RPi image instead of just plain Debian VM. Or just run it on the Windows box straight. Quote
ralbright Posted November 26, 2019 Posted November 26, 2019 56 minutes ago, io_guy said: I mean why would you use a RPi image instead of just plain Debian VM. Or just run it on the Windows box straight. Good question.... to which my answer is.... I don't know. Quote
simplextech Posted November 26, 2019 Posted November 26, 2019 Just now, ralbright said: Good question.... to which my answer is.... I don't know. Can I ask... what is " Debian with the RPi load" ??? Raspbian is just debian for arm with some additional edu packages and hardware specific packages for rPi. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.