WebThingsIO / addon-list

List of installable add-ons for WebThings Gateway

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

New requirements for addon manifest.json files with gateway 1.1.0?

opened this issue · comments

I just manually installed the gateway on a Pi Zero W 2, which means I now have version 1.1.0 to play with on the very latest version of Raspberry Pi OS.

I tried installing an addon (square theme), and noticed an error in the logs.

Manifest is missing: gateway_specific_settings.webthings.exec

Searching through the gateway code I found a file that mentions this exec attribute.

I then noticed this is a file from 2020, which would imply that this requirement has existed for some time. Yet the addon works OK on gateway 1.0.

Has gateway 1.1.0 perhaps gotten more strict about the manifest.json files?

I also saw this in the logs, so perhaps they are related somehow:

Failed to parse add-on list: { FetchError: request to https://api.webthings.io:8443/addons?arch=linux-arm&version=1.1.0&node=64&python=2.7%2C3.9 failed, reason: getaddrinfo ENOTFOUND api.webthings.io api.webthings.io:8443
    at ClientRequest.<anonymous> (/home/pi/gateway/node_modules/node-fetch/lib/index.js:1461:11)
    at ClientRequest.emit (events.js:198:13)
    at TLSSocket.socketErrorListener (_http_client.js:401:9)
    at TLSSocket.emit (events.js:198:13)
    at emitErrorNT (internal/streams/destroy.js:91:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)
  message:
   'request to https://api.webthings.io:8443/addons?arch=linux-arm&version=1.1.0&node=64&python=2.7%2C3.9 failed, reason: getaddrinfo ENOTFOUND api.webthings.io api.webthings.io:8443',
  type: 'system',
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND' }

If I open that URL manually, it loads ok:
https://api.webthings.io:8443/addons?arch=linux-arm&version=1.1.0&node=64&python=2.7%2C3.9

Perhaps this could have something to with the fact that this addon doesn't have anything to execute? The addon only loads CSS, JS and HTML files. It has no serverside component.