123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- name: zwavejs2mqtt
- base: core20
- version: 'v5.2.2'
- summary: Fully configurable Zwave to MQTT Gateway and Control Panel.
- description: |
- - Configurable Zwave to Mqtt Gateway
- - Home Assistant integration (beta)
- - Zwave Control Panel:
- - Nodes management: check all nodes discovered in the z-wave network, send/receive nodes values updates directly from the UI and send action to the nodes and controller for diagnostics and network heal Custom Node naming and Location: Starting from v1.3.0 nodes name and location are stored in a JSON file named nodes.json. This because not all nodes have native support for naming and location features (#45). This change is back compatible with older versions of this package: on startup it will get all nodes names and location from the zwcfg_homeHEX.xml file (if present) and create the new nodes.json file based on that. This file can be imported/exported from the UI control panel with the import/export buttons placed on the top of nodes table, on the right of controller actions select.
- - Firmware updates: You are able to send firmware updates to your devices using the UI, just select the controller action Begin Firmware Update
- - Groups associations: create associations between nodes (also supports multi-instance associations, need to use last version of zwave-js)
- - Custom scenes management
- - Log debug in UI
- - Mesh graph showing devices neighbors
- grade: stable # must be 'stable' to release into candidate/stable channels
- confinement: strict # use 'strict' once you have the right plugs and slots
- assumes:
- - command-chain
- architectures:
- - build-on: amd64
- - build-on: arm64
- - build-on: armhf
- apps:
- zwavejs2mqtt:
- daemon: simple
- restart-condition: always
- environment:
- STORE_DIR: $SNAP_DATA
- ZWAVEJS_EXTERNAL_CONFIG: $SNAP_DATA/.ext-config
- DAEMONIZED: 1
- command: lib/node_modules/yarn/bin/yarn --cwd $SNAP/lib/node_modules/zwavejs2mqtt --global-folder $SNAP/lib/node_modules/npm/node_modules start
- command-chain:
- - helper/env-wrapper
- plugs:
- - network
- - network-bind
- - raw-usb
- - serial-port
- - hardware-observe
- exec:
- environment:
- STORE_DIR: $SNAP_DATA
- ZWAVEJS_EXTERNAL_CONFIG: $SNAP_DATA/.ext-config
- #command: lib/node_modules/zwavejs2mqtt/bin/www.ts
- command: lib/node_modules/yarn/bin/yarn --cwd $SNAP/lib/node_modules/zwavejs2mqtt start
- command-chain:
- - helper/env-wrapper
- plugs:
- - network
- - network-bind
- - raw-usb
- - serial-port
- - hardware-observe
- help:
- command: helper/env-wrapper --help
- enable:
- command: bin/daemonize
- disable:
- command: bin/de-daemonize
- restart:
- command: bin/restart
- layout:
- /usr/local/share/.cache/yarn:
- bind: $SNAP/.cache/yarn
- /usr/local/share/.yarn:
- symlink: $SNAP/lib/node_modules
- $SNAP/lib/node_modules/zwavejs2mqtt/package.json.lock:
- bind-file: $SNAP/lib/node_modules/zwavejs2mqtt/package.json.lock
- # Not needed anymore as of ZWAVEJS_EXTERNAL_CONFIG ?
- # $SNAP/lib/node_modules/zwavejs2mqtt/node_modules/@zwave-js/config:
- # bind: $SNAP/lib/node_modules/zwavejs2mqtt/node_modules/@zwave-js/config
- parts:
- zwavejs2mqtt:
- after: [nodejs]
- plugin: dump
- source: https://github.com/zwave-js/zwavejs2mqtt.git
- #source-branch: "fix#1274"
- source-tag: $SNAPCRAFT_PROJECT_VERSION
- build-packages:
- - gcc
- - build-essential
- override-build: |
- set -x
- if [ -n "${http_proxy-}" ]; then
- export GLOBAL_AGENT_HTTP_PROXY="${http_proxy}"
- export GLOBAL_AGENT_HTTPS_PROXY="${http_proxy}"
- fi
- yarn install
- yarn run build \
- && mkdir -p $SNAPCRAFT_PART_INSTALL/lib/node_modules \
- && cp --archive --link --no-dereference $SNAPCRAFT_PART_BUILD \
- $SNAPCRAFT_PART_INSTALL/lib/node_modules/zwavejs2mqtt \
- organize:
- # Not needed anymore as of ZWAVEJS_EXTERNAL_CONFIG?
- # lib/node_modules/zwavejs2mqtt/node_modules/@zwave-js/config: snap/zwave-js/config
- lib/node_modules/zwavejs2mqtt/dist: lib/node_modules/zwavejs2mqtt/server/dist
- lib/node_modules/zwavejs2mqtt/views: lib/node_modules/zwavejs2mqtt/server/views
- filesets:
- zwavejs2mqtt-include:
- - lib/node_modules/zwavejs2mqtt/.git
- - lib/node_modules/zwavejs2mqtt/LICENSE
- - lib/node_modules/zwavejs2mqtt/*.md
- - lib/node_modules/zwavejs2mqtt/node_modules
- - lib/node_modules/zwavejs2mqtt/server
- - lib/node_modules/zwavejs2mqtt/package.json
- - lib/node_modules/zwavejs2mqtt/yarn.lock
- stage:
- # - snap
- - $zwavejs2mqtt-include
- dependencies:
- plugin: nil
- stage-snaps:
- - jq
- - yq
- stage-packages:
- - git
- - udev
- - rsync
- nodejs:
- plugin: dump
- source:
- - on amd64: https://nodejs.org/dist/v15.14.0/node-v15.14.0-linux-x64.tar.gz
- - on arm64: https://nodejs.org/dist/v15.14.0/node-v15.14.0-linux-arm64.tar.gz
- - on armhf: https://nodejs.org/dist/v15.14.0/node-v15.14.0-linux-armv7l.tar.gz
- stage-packages:
- - on armhf:
- - libatomic1
- override-stage: |
- npm install --global yarn
- snapcraftctl stage
- organize:
- '*.md' : nodejs/
- LICENSE : nodejs/
- prime:
- - -include
- - -share
- local:
- plugin: dump
- source: src/
- stage-packages:
- - uuid
- organize:
- hooks: snap/hooks
|