Jump to content

Recommended Posts

Posted (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 by Scyto
now v10 is released updated to use my master branch build not dev-latest
Posted

@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)

 

image.thumb.png.b1accb49596ee5e8d0403be6d6f11d18.png

 

Posted

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...

 

image.thumb.png.46e49daee6cbdf9a766fe739276fa976.png

Posted

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.

 

  • 4 weeks later...
Posted

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.

  • Like 1
Posted
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?

Posted
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.

Posted
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?) 

Posted
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.  

  • Like 1
Posted
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

Posted

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

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?

Posted

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.

Posted
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.

Posted

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.

Posted (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 by ralbright
Posted

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.

Posted
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

Posted
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

Posted
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.

Posted
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. :)

Posted
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.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...