Jump to content

NodeLink: Raspberry Pi Install Script


io_guy

Recommended Posts

1 hour ago, Bumbershoot said:

Okay, something might have not gone correctly with the script.  If you can log back on to your RPi, and type the following command at the prompt to see if NodeLink is running:

You should get output that looks like the following:


pi@raspberrypi:~ $ ps aux | grep NodeLink
pi        4693  0.0  0.0   4376   544 pts/0    S+   14:52   0:00 grep --color=auto NodeLink
pi       32043  1.5  5.7 101436 54348 ?        Ssl  03:43  10:36 /usr/bin/mono /home/pi/Nodelink/NodeLink.exe

The last line is the important one, that's what tells you that NodeLink has a process number and is indeed running.

Major progress..... I have access to Nodelink in my browser but it keeps telling me that I have the wrong ISY credentials. I have tried both with  username/password for Administrative Console and those for ISY Portal. And each time I have restarted Nodelink to activate changes. I have also restarted the RPi but no luck with credentials.

I have also done the ps aux|greb Nodelink that you suggested

nodelink1.jpg

nodelink.jpg

nodelink2-terminal.jpg

Edited by asbril
Link to comment
Share on other sites

5 minutes ago, asbril said:

Major progress..... I have access to Nodelink in my browser but it keeps telling me that I have the wrong ISY credentials. I have tried both with  username/password for Administrative Console and those for ISY Portal. And each time I have restarted Nodelink to activate changes. I have also restarted the RPi but no luck with credentials.

nodelink1.jpg

nodelink.jpg

Okay, the ISY address field needs to have the IP address of your ISY in it: 192.168.x.x  The ISY username and password are what you use to log into the AC.

Edited by Bumbershoot
Link to comment
Share on other sites

10 minutes ago, Bumbershoot said:

Okay, the ISY address field needs to have the IP address in it: 192.168.x.x  The ISY username and password are what you use to log into the AC.

That helped but ........

2019-01-22 23:58:54 - ISY NodeLink Server v0.9.27 started
2019-01-22 23:58:54 - OS: Linux raspberrypi 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l GNU/Linux
2019-01-22 23:58:54 - Mono version: 5.18.0.240 (tarball Wed Jan 16 09:28:29 UTC 2019)
2019-01-22 23:58:54 - Web config server started (http://192.168.86.46:8090)
2019-01-22 23:58:55 - ISY resolved to 192.168.86.48 (5.0.14)
2019-01-22 23:58:55 - ISY Error: Profile (isylink) not setup in ISY, please follow howto
2019-01-22 23:58:55 - Unable to determine ISY Node Server profile number
2019-01-22 23:58:59 - ISY Warning: Duplicate node names exist on the ISY (ZW 058 MBR Not operative node)
2019-01-22 23:58:59 - ISY Warning: Duplicate node names exist on the ISY (ZW 122 Laundry Not operative )

How do I set up isylink ?

Link to comment
Share on other sites

1 minute ago, asbril said:

That helped but ........

2019-01-22 23:58:54 - ISY NodeLink Server v0.9.27 started
2019-01-22 23:58:54 - OS: Linux raspberrypi 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l GNU/Linux
2019-01-22 23:58:54 - Mono version: 5.18.0.240 (tarball Wed Jan 16 09:28:29 UTC 2019)
2019-01-22 23:58:54 - Web config server started (http://192.168.86.46:8090)
2019-01-22 23:58:55 - ISY resolved to 192.168.86.48 (5.0.14)
2019-01-22 23:58:55 - ISY Error: Profile (isylink) not setup in ISY, please follow howto
2019-01-22 23:58:55 - Unable to determine ISY Node Server profile number
2019-01-22 23:58:59 - ISY Warning: Duplicate node names exist on the ISY (ZW 058 MBR Not operative node)
2019-01-22 23:58:59 - ISY Warning: Duplicate node names exist on the ISY (ZW 122 Laundry Not operative )

How do I set up isylink ?

Almost there!  Have a look here.

  • Thanks 1
Link to comment
Share on other sites

35 minutes ago, Bumbershoot said:

Almost there!  Have a look here.

Bumbershoot, Many, many thanks !

I got it to work and added a few Nodes (CallerID, Additional ISY Data, Location) to my ISY and now I have to figure out what I can do with these. I will probably find some info somewhere in the ISY forum. Thanks again.

36 minutes ago, Bumbershoot said:

Almost there!  Have a look here.

 

Link to comment
Share on other sites

1 hour ago, asbril said:

I have also done the ps aux|greb Nodelink that you suggested

nodelink2-terminal.jpg

BTW, this did not produce the correct result.  The reason for that is that you failed to capitalize the "L" in NodeLink, so the command only returned the process number for the command you just ran.

FYI, case in Linux is IMPORTANT!  An upper case "L" and a lower case "l" are completely different animals.  It should look something like this:

pi@raspberrypi:~ $ ps aux | grep NodeLink
pi        8346  0.0  0.0   4376   572 pts/0    S+   17:15   0:00 grep --color=auto NodeLink
pi       32043  1.5  5.3 101436 50152 ?        Ssl  03:43  12:50 /usr/bin/mono /home/pi/Nodelink/NodeLink.exe

Anyway, glad you got it going.

Cheers! ?

Edited by Bumbershoot
  • Thanks 1
Link to comment
Share on other sites

3 hours ago, Bumbershoot said:

BTW, this did not produce the correct result.  The reason for that is that you failed to capitalize the "L" in NodeLink, so the command only returned the process number for the command you just ran.

FYI, case in Linux is IMPORTANT!  An upper case "L" and a lower case "l" are completely different animals.  It should look something like this:


pi@raspberrypi:~ $ ps aux | grep NodeLink
pi        8346  0.0  0.0   4376   572 pts/0    S+   17:15   0:00 grep --color=auto NodeLink
pi       32043  1.5  5.3 101436 50152 ?        Ssl  03:43  12:50 /usr/bin/mono /home/pi/Nodelink/NodeLink.exe

Anyway, glad you got it going.

Cheers! ?

Bumbershoot, I notice that my isy Data node runs at London time, 5 hours ahead from the time that my Administrative Console runs here in Miami. Is that normal ?

Link to comment
Share on other sites

1 hour ago, asbril said:

Bumbershoot, I notice that my isy Data node runs at London time, 5 hours ahead from the time that my Administrative Console runs here in Miami. Is that normal ?

Not normal.  I think that NodeLink gets the time from the RPi, which should be set up to use NTP (Network Time Protocol, I believe) to set the time.  You might be seeing time for the default location, which is Greenwich Mean Time, which is equal to the time in London, instead of your location.

Run the 'date' command from the command line (it should look something like this):

pi@raspberrypi:~ $ date
Tue Jan 22 22:09:52 PST 2019

This tells me that I'm in Pacific Standard Time.  If yours doesn't show EST, then you don't have the RPi configured correctly.

I think this command will work to change the timezone for south Florida:

sudo cp /usr/share/zoneinfo/America/New_York /etc/localtime

You should see the time update correctly with the next time update in an hour or so.  I think...

  • Thanks 1
Link to comment
Share on other sites

8 hours ago, Bumbershoot said:

Not normal.  I think that NodeLink gets the time from the RPi, which should be set up to use NTP (Network Time Protocol, I believe) to set the time.  You might be seeing time for the default location, which is Greenwich Mean Time, which is equal to the time in London, instead of your location.

Run the 'date' command from the command line (it should look something like this):


pi@raspberrypi:~ $ date
Tue Jan 22 22:09:52 PST 2019

This tells me that I'm in Pacific Standard Time.  If yours doesn't show EST, then you don't have the RPi configured correctly.

I think this command will work to change the timezone for south Florida:


sudo cp /usr/share/zoneinfo/America/New_York /etc/localtime

You should see the time update correctly with the next time update in an hour or so.  I think...

Bumbershoot, it did not work at first as I may have missed a space or upper/lowercase, but I found the following which worked :

 

If you set the Time Zone in raspi-config the Raspberry Pi will automatically update the time on boot, if connected to the internet.
  1. sudo raspi-config.
  2. Select Internationalisation Options.
  3. Select I2 Change Timezone.
  4. Select your Geographical Area.
  5. Select your nearest City.
  6. Select Finish.
  7. Select Yes to reboot now.
Link to comment
Share on other sites

10 hours ago, asbril said:

Bumbershoot, I notice that my isy Data node runs at London time, 5 hours ahead from the time that my Administrative Console runs here in Miami. Is that normal ?

I'm running polyglot in a container on my NAS, and had been mentally converting UTC to PST since installing.  This comment prompted me to correct this for my configuration.  The following allowed me to correct my TZ:

> dpkg-reconfigure tzdata

From there, I was able to select America/Los_Angeles.  And now my dates are displayed correctly:

root@polyglot:/home/pi/.polyglot/nodeservers/Ecobee/logs# date                                                                                                                                              
Wed Jan 23 07:05:53 PST 2019                                                                                                                                                                                
root@polyglot:/home/pi/.polyglot/nodeservers/Ecobee/logs# tail debug.log                                                                                                                                    
2019-01-23 07:03:10,296 [Controller] [DEBUG] rs_qr4k:update: updates={'GV1': 0, 'ST': 75.0}                                                                                                                 
2019-01-23 07:03:10,296 [Controller] [INFO ] Updating Driver rs_qr4k - ST: 75.0, uom: 17                                                                                                                    
2019-01-23 07:03:10,297 [Controller] [DEBUG] rs_cclt:update:                                                                                                                                                
2019-01-23 07:03:10,297 [Controller] [DEBUG] rs_cclt:update: sensor={'inUse': True, 'code': 'CCLT', 'name': 'Stairwell', 'capability': [{'id': '1', 'type': 'temperature', 'value': '679'}, {'id': '2', 'typ
e': 'occupancy', 'value': 'true'}], 'id': 'rs:102', 'type': 'ecobee3_remote_sensor'}                                                                                                                        
2019-01-23 07:03:10,298 [Controller] [DEBUG] rs_cclt:update: updates={'GV1': 1, 'ST': 67.9}                                                                                                                 
2019-01-23 07:03:10,298 [Controller] [INFO ] Updating Driver rs_cclt - ST: 67.9, uom: 17                                                                                                                    
2019-01-23 07:03:10,299 [Controller] [DEBUG] s411958194987:update:                                                                                                                                          
2019-01-23 07:03:10,299 [Controller] [DEBUG] s411958194987:update: sensor={'inUse': True, 'id': 'ei:0', 'type': 'thermostat', 'name': 'GreenTreeBee', 'capability': [{'id': '1', 'type': 'temperature', 'val
ue': '706'}, {'id': '2', 'type': 'humidity', 'value': '47'}]}                                                                                                                                               
2019-01-23 07:03:10,300 [Controller] [DEBUG] s411958194987:update: updates={'CLIHUM': '47', 'GV1': 2, 'ST': 70.6}                                                                                           
2019-01-23 07:03:10,300 [Controller] [INFO ] Updating Driver s411958194987 - ST: 70.6, uom: 17                     

 

Link to comment
Share on other sites

13 minutes ago, asbril said:

Bumbershoot, it did not work at first as I may have missed a space or upper/lowercase, but I found the following which worked :

 

If you set the Time Zone in raspi-config the Raspberry Pi will automatically update the time on boot, if connected to the internet.
  1. sudo raspi-config.
  2. Select Internationalisation Options.
  3. Select I2 Change Timezone.
  4. Select your Geographical Area.
  5. Select your nearest City.
  6. Select Finish.
  7. Select Yes to reboot now.

Good find, I forgot about raspi-config.  I assume that the time values that NodeLink provides to your ISY Data nodes are correct, and that you're off to the races... 

Link to comment
Share on other sites

Just now, Bumbershoot said:

Good find, I forgot about raspi-config.  I assume that the time values that NodeLink provides to your ISY Data nodes are correct, and that you're off to the races... 

Yes I am off to the races !

Link to comment
Share on other sites

7 hours ago, SamM said:

I'm running polyglot in a container on my NAS, and had been mentally converting UTC to PST since installing.  This comment prompted me to correct this for my configuration.  The following allowed me to correct my TZ:


> dpkg-reconfigure tzdata

Good to know.  I am running in a NAS container also and ended up with the Bumbershoot route:

ln -sf /usr/share/zoneinfo/America/Chicago /etc/localtime

Link to comment
Share on other sites

I just saw post that Nodelink was updated. I have set Nodelink to check for updates at 4 am. Will the update be done automatically or is there a procedure ?

It will be automatic everything. I leave it off and check the box when updates are announced and I am available for any trouble that could happen. It updates immediately then. Nodelink has not given me much trouble updating.

 

There is also a checkbox to update the ISY portion of NodeLink. I think I got into trouble with this one enabled (only) last time when it updated and my RPi portion didn't causing some critical variables to change.

 

I recommend you keep both checkbox options set the same.

 

Sent from my SM-G930W8 using Tapatalk

 

 

 

  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...

I get the following error messages and I lost the Additional ISY Data in my ISY :

 

2019-02-04 17:46:38 - ISY NodeLink Server v0.9.28 started
2019-02-04 17:46:38 - OS: Linux raspberrypi 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l GNU/Linux
2019-02-04 17:46:38 - Mono version: 5.18.0.240 (tarball Wed Jan 16 09:28:29 UTC 2019)
2019-02-04 17:46:38 - Web config server started (http://192.168.86.46:8090)
2019-02-04 17:46:39 - ISY resolved to 192.168.86.48 (5.0.14)
2019-02-04 17:46:39 - ISY Node Server config detected (profile 8)
2019-02-04 17:46:43 - ISY Warning: Duplicate node names exist on the ISY (hhh)
2019-02-04 17:46:44 - ISY Error: Web Error (FILE_NOT_FOUND) - Forbidden (profiles/family/10/profile/8/download/EDITOR/I_EDIT.XML)
2019-02-04 17:46:44 - ISY Error: Web Error (FILE_NOT_FOUND) - Forbidden (profiles/family/10/profile/8/download/NODEDEF/I_NDEFS.XML)
2019-02-04 17:46:44 - ISY Error: Web Error (FILE_NOT_FOUND) - Forbidden (profiles/family/10/profile/8/download/NLS/EN_US.TXT)
2019-02-04 17:46:44 - Warning: nodesetup.zip file needs updating in ISY

Anyone has an idea what is wrong ?

 

Thanks

Edited by asbril
Link to comment
Share on other sites

  • 3 weeks later...

Here is what I'm getting when I run the script in the first post:

tim@NodeServer:~$ sudo curl -sSL http://automationshack.com/Files/install.sh | bash
[sudo] password for tim:

### Installing dirmngr and updating to offical mono repo

dirmngr is already the newest version (2.1.18-8~deb9u4).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Executing: /tmp/apt-key-gpghome.ZysqtzpMZD/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
gpg: key A6A19B38D3D831EF: 2 signatures not checked due to missing keys
gpg: key A6A19B38D3D831EF: "Xamarin Public Jenkins (auto-signing) <releng@xamarin.com>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
deb http://download.mono-project.com/repo/debian raspbianstretch main

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

### Installing mono and relevant dependencies - this may take several minutes

libmono-system-net-http-formatting4.0-cil is already the newest version (4.6.2.7+dfsg-1).
libmono-system-net-http-webrequest4.0-cil is already the newest version (4.6.2.7+dfsg-1).
libmono-system-net-http4.0-cil is already the newest version (4.6.2.7+dfsg-1).
mono-vbnc is already the newest version (4.0.1-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

### Creating directory

mkdir: cannot create directory ‘/home/pi’: Permission denied
bash: line 31: cd: /home/pi/node: No such file or directory

### Downloading NodeLink

/home/pi/node/NodeLink.exe: No such file or directory

### Modifying startup script

sed: can't read /etc/rc.local: No such file or directory
sed: can't read /etc/rc.local: No such file or directory

### Starting NodeLink


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

tim@NodeServer:~$ Cannot open assembly '/home/pi/node/NodeLink.exe': No such file or directory.

 

Link to comment
Share on other sites

It looks like these last parts didn't take:

### Creating directory

mkdir: cannot create directory ‘/home/pi’: Permission denied
bash: line 31: cd: /home/pi/node: No such file or directory

Your user account doesn't have the rights to create the directory to put Nodelink in as specified by the script. Create another directory where you'd like to put Nodelink, with an account that has the right privileges

 

### Downloading NodeLink

/home/pi/node/NodeLink.exe: No such file or directory

Since the directory couldn't be created, nodelink can't be downloaded to it. This command should do it, when executed from the directory you intend to put nodelink in:

wget http://automationshack.com/Files/NodeLink.exe

 

### Modifying startup script

sed: can't read /etc/rc.local: No such file or directory
sed: can't read /etc/rc.local: No such file or directory

This is where the script sets up nodelink to start when linux does. This will be dependent on your version of Linux, and the directory where you downloaded NodeLink.exe. Also, if you use sysctl, etc. I don't know this so don't have specific advice on how to complete it.

Paul

Link to comment
Share on other sites

Thanks Paul.  This really helped and I have it running now.

What I'm still not able to fix (because I know virtually nothing about Linux) is the "startup script" portion of this.  I fumbled around and did figure out how to see what was in the /etc directory.  There is indeed no rc.local file.  Paul, you mentioned "sysctl"...  there is a sysctl.conf and a sysctl.d in /etc.

I also have Polyglot (and only Polyglot) installed on this same machine and Polyglot does start automatically.

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