Hi there,
since a few weeks my sunrise plugin stopped working on my raspi. Log says:
[…]
09:13:05.557 [pimatic] info: Installing: “pimatic-sunrise@0.8.7” from npm-registry.
09:13:17.061 [pimatic, npm] info: http GET https://registry.npmjs.org/pimatic-sunrise/0.8.7
09:13:20.021 [pimatic, npm] info: http GET https://registry.npmjs.org/suncalc
09:13:20.792 [pimatic, npm] info: ERR! Failed to parse json
09:13:20.842 [pimatic, npm] info: ERR! Unexpected end of input
09:13:20.856 [pimatic, npm] info: ERR! File: /home/pimatic-app/.npm/suncalc/1.4.0/package/package.json
09:13:20.879 [pimatic, npm] info: ERR! Failed to parse package.json data.
09:13:20.898 [pimatic, npm] info: ERR! package.json must be actual JSON, not just JavaScript.
09:13:20.922 [pimatic, npm] info: ERR!
09:13:20.936 [pimatic, npm] info: ERR! This is not a bug in npm.
09:13:21.064 [pimatic, npm] info: ERR! Tell the package author to fix their package.json file. JSON.parse
09:13:21.086 [pimatic, npm] info: ERR! System Linux 4.1.13+
09:13:21.105 [pimatic, npm] info: ERR! command “/usr/local/bin/node” “/usr/local/bin/npm” “install” “pima
tic-sunrise@0.8.7” "–unsafe-perm"
09:13:21.126 [pimatic, npm] info: ERR! cwd /home/pimatic-app
09:13:21.144 [pimatic, npm] info: ERR! node -v v0.10.24
09:13:21.167 [pimatic, npm] info: ERR! npm -v 1.3.21
09:13:21.187 [pimatic, npm] info: ERR! file /home/pimatic-app/.npm/suncalc/1.4.0/package/package.json
09:13:21.210 [pimatic, npm] info: ERR! code EJSONPARSE
09:13:21.309 [pimatic, npm] info: ERR!
09:13:21.323 [pimatic, npm] info: ERR! Additional logging details can be found in:
09:13:21.332 [pimatic, npm] info: ERR! /home/pimatic-app/npm-debug.log
09:13:21.340 [pimatic, npm] info: ERR! not ok code 0
09:13:21.490 [pimatic] error: Error running “npm install pimatic-sunrise@0.8.7 --unsafe-perm”
Any help is appreciated
EDIT:
I found file File: /home/pimatic-app/.npm/suncalc/1.4.0/package/package.json was empty. I copied the files from “/home/pimatic-app/node_modules/suncalc#” into the 1.4.0 folder.
Not really good… but then I could at least start pimatic including sunrise, which works. But now Log says:
[…]
09:43:25.365 [pimatic] info: Installing: “pimatic-sunrise@0.8.7” from npm-registry.
09:43:36.867 [pimatic, npm] info: http GET https://registry.npmjs.org/pimatic-sunrise/0.8.7
09:43:39.635 [pimatic, npm] info: http GET https://registry.npmjs.org/suncalc
09:44:26.705 [pimatic, npm] info: WARN unmet dependency /home/pimatic-app/node_modules/pimatic-sunrise re
quires suncalc@’~1.4.0’ but will load
09:44:26.746 [pimatic, npm] info: WARN unmet dependency /home/pimatic-app/node_modules/suncalc,
09:44:26.768 [pimatic, npm] info: WARN unmet dependency which is version 1.7.0
09:44:28.173 [pimatic, npm] info: pimatic-sunrise@0.8.7 node_modules/pimatic-sunrise
09:44:28.322 [pimatic] info: Loading plugin: “pimatic-sunrise” (0.8.7)
[…]
09:44:42.881 [pimatic] error: Invalid config of device “sunrise-device”: Property “#/attributes/0/name” S
hould have enum sunrise,sunriseEnd,goldenHourEnd,solarNoon,goldenHour,sunsetStart,sunset,dusk,nauticalDus
k,night,nadir,nightEnd,nauticalDawn,dawn, was: sunrise_name in /attributes/0/name, Property “#/attributes
/1/name” Should have enum sunrise,sunriseEnd,goldenHourEnd,solarNoon,goldenHour,sunsetStart,sunset,dusk,n
auticalDusk,night,nadir,nightEnd,nauticalDawn,dawn, was: sunset_name in /attributes/1/name
09:44:42.943 [pimatic] info: New device “Suntime”…
09:44:42.976 [pimatic] error: Error loading device “sunrise-device”: Cannot call method ‘toLocaleTimeStri
ng’ of undefined
[…]
So maybe I have an issue with suncalc?
Re-installing suncalc says:
root@WohnzimmerPlug:/home/pimatic-app# npm install suncalc
npm http GET https://registry.npmjs.org/suncalc
npm http 304 https://registry.npmjs.org/suncalc
npm WARN unmet dependency /home/pimatic-app/node_modules/pimatic-sunrise requires suncalc@’~1.4.0’ but will load
npm WARN unmet dependency /home/pimatic-app/node_modules/suncalc,
npm WARN unmet dependency which is version 1.7.0
suncalc@1.7.0 node_modules/suncalc
So… sunrise requires an older suncalc?