Jump to content

NodeLink: Raspberry Pi Install Script


io_guy

Recommended Posts

I am running Stretch on a PI3 and have been running NodeLink for some time now. However, I have not been on the UDI forum for some time and didn't notice that there was a major change to NodeLink!

So I tried to upgrade using the command sudo curl -sSL http://automationshack.com/Files/install.sh | bash  and I am running into problems!

Here is what I got after running the command:

pi@raspberrypi:~ $ sudo curl -sSL http://automationshack.com/Files/install.sh | bash

### Updating System - this may take several minutes
255 packages can be upgraded. Run 'apt list --upgradable' to see them.
The following packages were automatically installed and are no longer required:
  coinor-libipopt1v5 libmumps-seq-4.10.0 libnunit-cil-dev libnunit-console-runner2.6.3-cil libnunit-core-int
  libnunit-framework2.6.3-cil libnunit-mocks2.6.3-cil libnunit-util2.6.3-cil libraw15 mono-jay
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  docutils-common libaacs0 libbdplus0 libbluray2 mypy pylint3 python-colorzero python3-astroid python3-astto
  python3-lazy-object-proxy python3-pygments python3-pyperclip python3-roman python3-thonny-pi python3-typed
The following packages will be upgraded:
  base-files ca-certificates-mono cli-common cups cups-bsd cups-client cups-common cups-core-drivers cups-da
  exim4-base exim4-config exim4-daemon-light file gettext-base ghostscript git git-man libarchive13 libavfor
  libcupsimage2 libcupsmime1 libcupsppdc1 libexpat1 libexpat1-dev libfaad2 libfribidi0 libgd3 libgdiplus lib
  libgs9-common libicu57 libmagic-mgc libmagic1 libmono-2.0-1 libmono-2.0-dev libmono-accessibility4.0-cil l
  libmono-cecil-private-cil libmono-cil-dev libmono-codecontracts4.0-cil libmono-compilerservices-symbolwrit
  libmono-csharp4.0c-cil libmono-custommarshalers4.0-cil libmono-data-tds4.0-cil libmono-db2-1.0-cil libmono
  libmono-i18n-cjk4.0-cil libmono-i18n-mideast4.0-cil libmono-i18n-other4.0-cil libmono-i18n-rare4.0-cil lib
  libmono-i18n4.0-cil libmono-ldap4.0-cil libmono-management4.0-cil libmono-messaging-rabbitmq4.0-cil libmon
  libmono-microsoft-build-framework4.0-cil libmono-microsoft-build-tasks-v4.0-4.0-cil libmono-microsoft-buil
  libmono-microsoft-csharp4.0-cil libmono-microsoft-visualc10.0-cil libmono-microsoft-web-infrastructure1.0-
  libmono-peapi4.0a-cil libmono-posix4.0-cil libmono-profiler libmono-rabbitmq4.0-cil libmono-relaxng4.0-cil
  libmono-simd4.0-cil libmono-smdiagnostics0.0-cil libmono-sqlite4.0-cil libmono-system-componentmodel-compo
  libmono-system-componentmodel-dataannotations4.0-cil libmono-system-configuration-install4.0-cil libmono-s
  libmono-system-data-datasetextensions4.0-cil libmono-system-data-entity4.0-cil libmono-system-data-linq4.0
  libmono-system-data-services4.0-cil libmono-system-data4.0-cil libmono-system-deployment4.0-cil libmono-sy
  libmono-system-drawing4.0-cil libmono-system-dynamic4.0-cil libmono-system-enterpriseservices4.0-cil libmo
  libmono-system-identitymodel4.0-cil libmono-system-io-compression-filesystem4.0-cil libmono-system-io-comp
  libmono-system-json4.0-cil libmono-system-ldap-protocols4.0-cil libmono-system-ldap4.0-cil libmono-system-
  libmono-system-net-http-formatting4.0-cil libmono-system-net-http-webrequest4.0-cil libmono-system-net-htt
  libmono-system-numerics-vectors4.0-cil libmono-system-numerics4.0-cil libmono-system-reactive-core2.2-cil
  libmono-system-reactive-experimental2.2-cil libmono-system-reactive-interfaces2.2-cil libmono-system-react
  libmono-system-reactive-observable-aliases0.0-cil libmono-system-reactive-platformservices2.2-cil libmono-
  libmono-system-reactive-runtime-remoting2.2-cil libmono-system-reactive-windows-forms2.2-cil libmono-syste
  libmono-system-reflection-context4.0-cil libmono-system-runtime-caching4.0-cil libmono-system-runtime-dura
  libmono-system-runtime-serialization-formatters-soap4.0-cil libmono-system-runtime-serialization4.0-cil li
  libmono-system-servicemodel-activation4.0-cil libmono-system-servicemodel-discovery4.0-cil libmono-system-
  libmono-system-servicemodel-routing4.0-cil libmono-system-servicemodel-web4.0-cil libmono-system-servicemo
  libmono-system-threading-tasks-dataflow4.0-cil libmono-system-transactions4.0-cil libmono-system-web-abstr
  libmono-system-web-applicationservices4.0-cil libmono-system-web-dynamicdata4.0-cil libmono-system-web-ext
  libmono-system-web-http-selfhost4.0-cil libmono-system-web-http-webhost4.0-cil libmono-system-web-http4.0-
  libmono-system-web-mvc3.0-cil libmono-system-web-razor2.0-cil libmono-system-web-regularexpressions4.0-cil
  libmono-system-web-services4.0-cil libmono-system-web-webpages-deployment2.0-cil libmono-system-web-webpag
  libmono-system-web4.0-cil libmono-system-windows-forms-datavisualization4.0a-cil libmono-system-windows-fo
  libmono-system-workflow-activities4.0-cil libmono-system-workflow-componentmodel4.0-cil libmono-system-wor
  libmono-system-xml-linq4.0-cil libmono-system-xml-serialization4.0-cil libmono-system-xml4.0-cil libmono-s
  libmono-webbrowser4.0-cil libmono-webmatrix-data4.0-cil libmono-windowsbase4.0-cil libmono-xbuild-tasks4.0
  libmonosgen-2.0-dev libnghttp2-14 libpam-systemd libraspberrypi-bin libraspberrypi-dev libraspberrypi-doc
  libsasl2-modules-db libsdl-image1.2 libsmbclient libss2 libssl1.0.2 libssl1.1 libsystemd0 libudev1 libvpx4
  mono-complete mono-csharp-shell mono-devel mono-gac mono-jay mono-llvm-support mono-llvm-tools mono-mcs mo
  mono-runtime-sgen mono-utils mono-xbuild monodoc-base monodoc-manual msbuild msbuild-sdkresolver openssh-c
  python-automationhat python-gpiozero python-piglow python3-automationhat python3-gpiozero python3-piglow p
  ruby2.3 samba-common samba-libs ssh sudo systemd systemd-sysv tzdata udev unzip usbutils wolfram-engine
255 upgraded, 22 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
Need to get 37.5 MB/579 MB of archives.
After this operation, 292 MB of additional disk space will be used.

The system is just sitting there! Is this normal or should I expect something else to have happened? It has been about an hour like this!

 

EDIT:

After several hours the installation continued! It unpacked many packages; set up a number of things and installed a number of assemblies. Then in the installation showed: 

"Setting up mono-runtime-common (6.6.0.161-0xamarin7+raspbian9b1) ..."

Followed by...

"dpkg: dependency problems prevent processing triggers for desktop-file-utils:

 desktop-file-utils depends on libglib2.0-0 (>= 2.28.0); however:

  Package libglib2.0-0:armhf is not configured yet."

 

Then this was followed by many instances of the following:

 "dpkg: error processing package desktop-file-utils (--configure):

 dependency problems - leaving triggers unprocessed

dpkg: dependency problems prevent processing triggers for desktop-file-utils:

 desktop-file-utils depends on libglib2.0-0 (>= 2.28.0); however:

  Package libglib2.0-0:armhf is not configured yet."

Finally the following came up...

"dpkg: error processing package desktop-file-utils (--configure):

 dependency problems - leaving triggers unprocessed

dpkg: too many errors, stopping

Errors were encountered while processing:

 desktop-file-utils

 desktop-file-utils

 desktop-file-utils

.

.

.

.

Processing was halted because there were too many errors.

E: Sub-process /usr/bin/dpkg returned an error code (1)"

Then I saw the message that NodeLink was starting and "ISY NodeLink Server v0.10.5 started", however I cannot log into NodeLink with a browser!

 

Note that during the installation I saw the following:            "Unpacking libglib2.0-0:armhf (2.50.3-2+deb9u1) over (2.50.3-2) ..."

Is this the wrong version of the package? Can I simply install the newer version [libglib2.0-0 (>= 2.28.0)] on my stretch system and then reinstall NodeLink? Does this make sense?

 

Edited by GMD99
Link to comment
Share on other sites

Update:

I continued to try to update my system and after several tries it seemed to get everything updated. Then I ran the NodeLink installation again... below is the result...

sudo curl -sSL http://automationshack.com/Files/install.sh | bash

### Updating System - this may take several minutes
All packages are up to date.
The following packages were automatically installed and are no longer required:
  coinor-libipopt1v5 libmumps-seq-4.10.0 libnunit-cil-dev libnunit-console-runner2.6.3-cil libnunit-core-interfaces2.6.3-cil libnunit-core2.6.3-cil libnunit-framework2.6.3-cil
  libnunit-mocks2.6.3-cil libnunit-util2.6.3-cil libraw15 mono-jay
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

### Cleaning/Creating directories

### Installing .NET Core 3.1

### Downloading NodeLink

### Modifying startup script

### Starting NodeLink

### Install complete. Login to NodeLink at http://10.0.1.69:8090

pi@raspberrypi:~ $ 2019-12-24 16:34:52 - ISY NodeLink Server v0.10.5 started
2019-12-24 16:34:52 - OS: Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux
2019-12-24 16:34:52 - Web config server started (http://10.0.1.69:8090)
2019-12-24 16:34:52 - ISY resolved to 10.0.1.19 ()
2019-12-24 16:34:52 - ISY Node Server config detected (profile 1)
2019-12-24 16:34:54 - ISY Warning: Duplicate node names exist on the ISY (Home)
Unhandled exception. System.InvalidCastException: Conversion from string "" to type 'Integer' is not valid.
 ---> System.FormatException: Input string was not in a correct format.
   at Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat)
   at Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)
   --- End of inner exception stack trace ---
   at Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)
   at NodeLink.MainModule.Main()

Then I rebooted the Raspberry and tried to start NodeLink manually (mono ~/node/NodeLink.exe )... here is the result...

pi@raspberrypi:~ $ mono ~/node/NodeLink.exe
2019-12-24 22:54:29 - ISY NodeLink Server v0.9.36 started
2019-12-24 22:54:29 - OS: Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux
2019-12-24 22:54:29 - Mono version: 6.6.0.161 (tarball Tue Dec 10 11:12:19 UTC 2019)
2019-12-24 22:54:29 - Web config server started (http://10.0.1.69:8090)
2019-12-24 22:54:30 - ISY resolved to 10.0.1.19 ()
2019-12-24 22:54:30 - ISY Node Server config detected (profile 1)
2019-12-24 22:54:31 - ISY Warning: Duplicate node names exist on the ISY (Home)
2019-12-24 22:54:32 - Warning: Node definitions need updating in ISY, see NodeLink's Devices page

Unhandled Exception:
System.InvalidCastException: Conversion from string "" to type 'Integer' is not valid. ---> System.FormatException: Input string was not in a correct format.
  at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey) [0x0001a] in <d2ec5c92492f4d6ba8c422bdf574b786>:0
  at System.Number.ParseInt32 (System.ReadOnlySpan`1[T] value, System.Globalization.NumberStyles styles, System.Globalization.NumberFormatInfo info) [0x00016] in <d2ec5c92492f4d6ba8c422bdf574b786>:0
  at System.Int32.Parse (System.String s) [0x00016] in <d2ec5c92492f4d6ba8c422bdf574b786>:0
  at Microsoft.VisualBasic.CompilerServices.IntegerType.FromString (System.String Value) [0x00018] in <59173c9117d849e18350533933a7517e>:0
   --- End of inner exception stack trace ---
  at Microsoft.VisualBasic.CompilerServices.IntegerType.FromString (System.String Value) [0x00055] in <59173c9117d849e18350533933a7517e>:0
  at Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger (System.String Value) [0x00001] in <59173c9117d849e18350533933a7517e>:0
  at j.j () [0x00d0e] in <d73f2f14f1b045d1b5de5704edeb2314>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidCastException: Conversion from string "" to type 'Integer' is not valid. ---> System.FormatException: Input string was not in a correct format.
  at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey) [0x0001a] in <d2ec5c92492f4d6ba8c422bdf574b786>:0
  at System.Number.ParseInt32 (System.ReadOnlySpan`1[T] value, System.Globalization.NumberStyles styles, System.Globalization.NumberFormatInfo info) [0x00016] in <d2ec5c92492f4d6ba8c422bdf574b786>:0
  at System.Int32.Parse (System.String s) [0x00016] in <d2ec5c92492f4d6ba8c422bdf574b786>:0
  at Microsoft.VisualBasic.CompilerServices.IntegerType.FromString (System.String Value) [0x00018] in <59173c9117d849e18350533933a7517e>:0
   --- End of inner exception stack trace ---
  at Microsoft.VisualBasic.CompilerServices.IntegerType.FromString (System.String Value) [0x00055] in <59173c9117d849e18350533933a7517e>:0
  at Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger (System.String Value) [0x00001] in <59173c9117d849e18350533933a7517e>:0
  at j.j () [0x00d0e] in <d73f2f14f1b045d1b5de5704edeb2314>:0

Whereas before the reboot the system appeared to be trying to start NodeLink v0.10.5, after the reboot it appears to be trying to start up NodeLink v0.9.36!!  I am totally confused!

Does anyone have any ideas on what I should do next? 

Edited by GMD99
Link to comment
Share on other sites

Thanks... I didn't realize that the NodeLink command had changed!

That explains why I was getting the NodeLink v0.9.36 version showing up!!

I removed mono, rebooted the Rpi and then ran your installation command again... here is the output... something is not working...

pi@raspberrypi:~ $ sudo curl -sSL http://automationshack.com/Files/install.sh | bash

### Updating System - this may take several minutes
All packages are up to date.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

### Cleaning/Creating directories

### Installing .NET Core 3.1

### Downloading NodeLink

### Modifying startup script

### Starting NodeLink

### Install complete. Login to NodeLink at http://10.0.1.69:8090

pi@raspberrypi:~ $ 2019-12-27 00:27:22 - ISY NodeLink Server v0.10.5 started
2019-12-27 00:27:22 - OS: Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux
2019-12-27 00:27:22 - Web config server started (http://10.0.1.69:8090)
2019-12-27 00:27:23 - ISY resolved to 10.0.1.19 ()
2019-12-27 00:27:23 - ISY Node Server config detected (profile 1)
2019-12-27 00:27:24 - ISY Warning: Duplicate node names exist on the ISY (Home)
Unhandled exception. System.InvalidCastException: Conversion from string "" to type 'Integer' is not valid.
 ---> System.FormatException: Input string was not in a correct format.
   at Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat)
   at Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)
   --- End of inner exception stack trace ---
   at Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(String Value)
   at NodeLink.MainModule.Main()

As a result, I cannot log in through a browser. Any thoughts on why this is happening?

Link to comment
Share on other sites

  • 2 weeks later...
  • 4 weeks later...

I was not able to get NodeLink working on my raspberry with Stretch OS! So I finally got around to doing a clean install of the Buster OS, and I am now about to try installing NodeLink... My question, before I start, is will the new setup accept my nodes which were previously setup on my ISY, or do I have to delete them and start from scratch?

Link to comment
Share on other sites

On 12/14/2019 at 8:02 PM, io_guy said:

Polisy is waiting for UDI.  They are creating required packages to run NodeLink.

I run it successfully but I enable the regular BSD repo and install the required packages.

Does that mean in the future NodeLink will run as a NodeServer in Polyglot?  Or just run as it does now on the RPi, but just on Polisy?

Link to comment
Share on other sites

8 hours ago, GMD99 said:

I was not able to get NodeLink working on my raspberry with Stretch OS! So I finally got around to doing a clean install of the Buster OS, and I am now about to try installing NodeLink... My question, before I start, is will the new setup accept my nodes which were previously setup on my ISY, or do I have to delete them and start from scratch?

I was just wondering the same thing as I am upgrading my NodeLink/Polyglot RPi to a 4.  I am sure @io_guy will comment. 

Link to comment
Share on other sites

  • 4 weeks later...

I'm also having an issue getting NodeLink running.  I was just trying to update from v0.9.34.  I removed mono and I'm getting this error:

### Starting NodeLink
bash: line 48:  1910 Segmentation fault      dotnet /home/pi/node/NodeLink.dll

I just read page 6 of this thread, and that this was a problem because of an old Raspberry Pi.  I will obtain a new one and report back.

Edited by deza
read the thread
Link to comment
Share on other sites

  • 3 weeks later...
  • 3 weeks later...
On 3/22/2020 at 2:18 PM, ldb said:

Trying to install NodeLink Windows 10 PC and have been unable to get beyond this message:  

1. In windows search box type "Command Prompt" (no quotes).

2. Right click on the "Command Prompt" result that comes and click "Run as Administrator".

3. Type cd "\Users\dotba\OneDrive\Documentation\Home Automation\ISY\NodeLink" (with quotes), then enter

4. Type dotnet NodeLink.dll

5. Open a web browser and navigate to http://localhost:8090 to configure NodeLink 

Edited by beninsteon
Link to comment
Share on other sites

21 hours ago, ldb said:

Do I need to configure something in the ISY?

1. ISY needs to be running version 5 software. Help ---> About in Administrative Console to confirm. If you're on 4 (or below) you need to upgrade to use nodeservers, including NodeLink/Polyglot.

2. NodeLink needs to be configured. Click on System Config and enter your username and password

 

Link to comment
Share on other sites

5 minutes ago, ldb said:

1.  ISY is at version 5.0.16C

2.  Updated username and password in NodeLink config

3.  Have tried to contact io_guy via Automation Shack website but contact page does not work.

Have you purchased either the Networking Module for you ISY or the UDI Portal?  You'll need either one.

Link to comment
Share on other sites

  • 1 month later...
On 6/11/2020 at 11:10 PM, blueman2 said:

@io_guy, is it OK to run multiple instances of Nodelink? I am using the 1wire add on and want to have that run on 2 different Raspberry Pi's for report temperatures at different locations.  

Don't think it will currently work.  NodeLink tries to find the node profile number (in the ISY) on startup.  So both instances would try to use the same slot in the ISY and overwrite each others data.

  • Thanks 1
Link to comment
Share on other sites

@io_guy,  While you were away, I posted this 

Quote

I was not able to get NodeLink working on my raspberry with Stretch OS! So I finally got around to doing a clean install of the Buster OS, and I am now about to try installing NodeLink... My question, before I start, is will the new setup accept my nodes which were previously setup on my ISY, or do I have to delete them and start from scratch?

   I actually never tried setting it up because I was also away... so, I now want to set up Nodelink again but on Buster without mono. So to repeat my original question... should I delete the nodes I previously set up or will the new setup recognize the old original ones?

Link to comment
Share on other sites

I decided to go ahead and try to install NodeLink on my Raspberry (running Buster). 

I ran the install script with the command: 

sudo curl -sSL http://automationshack.com/Files/install-core.sh | bash

This is the result:

pi@raspberrypi3:~ $ sudo curl -sSL http://automationshack.com/Files/install-core.sh | bash
bash: line 1: syntax error near unexpected token `newline'
bash: line 1: `<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">'

Am I using the correct script command?

 

Link to comment
Share on other sites

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