snapcraft.yaml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. name: zwavejs2mqtt
  2. base: core20
  3. version: 'v3.5.0'
  4. summary: Fully configurable Zwave to MQTT Gateway and Control Panel.
  5. description: |
  6. - Configurable Zwave to Mqtt Gateway
  7. - Home Assistant integration (beta)
  8. - Zwave Control Panel:
  9. - 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.
  10. - Firmware updates: You are able to send firmware updates to your devices using the UI, just select the controller action Begin Firmware Update
  11. - Groups associations: create associations between nodes (also supports multi-instance associations, need to use last version of zwave-js)
  12. - Custom scenes management
  13. - Log debug in UI
  14. - Mesh graph showing devices neighbors
  15. grade: stable # must be 'stable' to release into candidate/stable channels
  16. confinement: strict # use 'strict' once you have the right plugs and slots
  17. assumes:
  18. - command-chain
  19. architectures:
  20. - build-on: amd64
  21. - build-on: arm64
  22. - build-on: armhf
  23. - build-on: ppc64el
  24. apps:
  25. zwavejs2mqtt:
  26. daemon: simple
  27. restart-condition: always
  28. environment:
  29. STORE_DIR: $SNAP_DATA
  30. DAEMONIZED: 1
  31. command: usr/lib/zwavejs2mqtt/bin/www
  32. command-chain:
  33. - helper/env-wrapper
  34. plugs:
  35. - network
  36. - network-bind
  37. - raw-usb
  38. - hardware-observe
  39. exec:
  40. environment:
  41. STORE_DIR: $SNAP_DATA
  42. command: usr/lib/zwavejs2mqtt/bin/www
  43. command-chain:
  44. - helper/env-wrapper
  45. plugs:
  46. - network
  47. - network-bind
  48. - raw-usb
  49. - hardware-observe
  50. help:
  51. command: helper/env-wrapper --help
  52. enable:
  53. command: bin/daemonize
  54. disable:
  55. command: bin/de-daemonize
  56. restart:
  57. command: bin/restart
  58. layout:
  59. $SNAP/usr/lib/zwavejs2mqtt/node_modules/@zwave-js/config/config:
  60. bind: $SNAP/usr/lib/zwavejs2mqtt/node_modules/@zwave-js/config/config
  61. parts:
  62. zwavejs2mqtt:
  63. after: [nodejs]
  64. plugin: npm
  65. source: https://github.com/zwave-js/zwavejs2mqtt.git
  66. #source-branch: "fix#1072"
  67. source-tag: $SNAPCRAFT_PROJECT_VERSION
  68. npm-node-version: '15.14.0'
  69. build-packages:
  70. - gcc
  71. - build-essential
  72. stage-snaps:
  73. - jq
  74. stage-packages:
  75. - git
  76. - udev
  77. - rsync
  78. override-build: |
  79. set -ex
  80. npm config set unsafe-perm true
  81. npm install npm@latest detect-libc
  82. npm run build
  83. chmod +x $SNAPCRAFT_PART_BUILD/bin/www
  84. cp -rf $SNAPCRAFT_PART_BUILD $SNAPCRAFT_PART_INSTALL/usr/lib/zwavejs2mqtt
  85. stage:
  86. - -usr/lib/zwavejs2mqtt/kubernetes
  87. - -usr/lib/zwavejs2mqtt/kustomization.yaml
  88. - -usr/lib/zwavejs2mqtt/docker
  89. - -usr/lib/zwavejs2mqtt/.dockerignore
  90. - -usr/lib/zwavejs2mqtt/.markdown*
  91. organize:
  92. usr/lib/zwavejs2mqtt/node_modules/@zwave-js/config/config: snap/zwave-js/config
  93. nodejs:
  94. plugin: dump
  95. source:
  96. - on amd64: https://nodejs.org/dist/v15.14.0/node-v15.14.0-linux-x64.tar.gz
  97. - on arm64: https://nodejs.org/dist/v15.14.0/node-v15.14.0-linux-arm64.tar.gz
  98. - on armhf: https://nodejs.org/dist/v15.14.0/node-v15.14.0-linux-armv7l.tar.gz
  99. stage-packages:
  100. - on armhf:
  101. - libatomic1
  102. organize:
  103. '*.md' : nodejs/
  104. LICENSE : nodejs/
  105. prime:
  106. - -include
  107. - -share
  108. local:
  109. plugin: dump
  110. source: src/
  111. stage-packages:
  112. - uuid
  113. organize:
  114. hooks: snap/hooks