{"id":22774417,"url":"https://github.com/siliconlabs/zipgateway","last_synced_at":"2025-04-15T09:45:32.377Z","repository":{"id":233563683,"uuid":"771144627","full_name":"SiliconLabs/zipgateway","owner":"SiliconLabs","description":"Z-Wave gateway","archived":false,"fork":false,"pushed_at":"2025-02-10T12:17:37.000Z","size":6477,"stargazers_count":4,"open_issues_count":3,"forks_count":7,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-04-14T22:36:55.503Z","etag":null,"topics":["gateway","iot","z-wave"],"latest_commit_sha":null,"homepage":"https://www.silabs.com/wireless/z-wave","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SiliconLabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-12T19:08:20.000Z","updated_at":"2025-02-10T12:17:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"bc8a68ae-30a2-4bcb-8934-8720402b5da7","html_url":"https://github.com/SiliconLabs/zipgateway","commit_stats":null,"previous_names":["siliconlabs/zw-zgw","siliconlabs/zipgateway"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiliconLabs%2Fzipgateway","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiliconLabs%2Fzipgateway/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiliconLabs%2Fzipgateway/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiliconLabs%2Fzipgateway/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SiliconLabs","download_url":"https://codeload.github.com/SiliconLabs/zipgateway/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249048120,"owners_count":21204303,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gateway","iot","z-wave"],"created_at":"2024-12-11T18:14:38.261Z","updated_at":"2025-04-15T09:45:32.353Z","avatar_url":"https://github.com/SiliconLabs.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Z/IP Gateway\n\nThe Z/IP gateway is a free reference design intended for development and demonstration purposes only. It is provided as is, with no warranties. Customers are advised to conduct security and compliance testing of all gateways during the product design process.\n\n## DISCLAIMER\n\nThe Z/IP Gateway solution is in maintenance mode. To access a maintained Z-Wave gateway solution supporting the latest protocol features, refer to the [Unify SDK](https://github.com/SiliconLabs/UnifySDK) project.\n\n## LICENSING\n\nZ/IP Gateway is covered the [Master Software License Agreement (MSLA)](https://www.silabs.com/about-us/legal/master-software-license-agreement), which applies unless otherwise noted. Refer to [LICENSE](./LICENSE) for more details.\n## HOW TO USE Z/IP GATEWAY\n\nZ/IP Gateway reference setup is a Raspberry Pi running raspbian-9 OS (EoL).\n\nTo get started with Z/IP gateway:\n- Retrieve the image from the link below and flash it to an SD card : http://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-04-09/2019-04-08-raspbian-stretch-lite.zip\n- Prepare your system with the required dependencies:\n```sh\nsudo sed -e 's|raspbian.raspberrypi.org|legacy.raspbian.org|g' \\\n            -i /etc/apt/sources.list \\\n            -i /etc/apt/sources.list.d/*.list\n\nsudo apt-get update\nsudo apt-get install -y etckeeper # Will track changes in /etc\n```\n\n- Set up a Z-Wave NCP controller. Refer to [Z-Wave online documentation](https://docs.silabs.com/z-wave/7.22.1/zwave-getting-started-overview/). An alternative option is to download an NCP controller firmware\n[\"zwave_ncp_serial_api_controller-${board}-${region}.hex\"](https://github.com/SiliconLabs/gecko_sdk/releases#demo_application.zip)\nand deploy it using\n[Simplicity Commander](https://www.silabs.com/documents/public/software/SimplicityCommander-Linux.zip).\n- Connect the controller to a USB port. Check the proper detection using:\n\n```sh\nls /dev/serial/by-id/usb-Silicon_Labs_*\n```\n\n- Download the Z/IP Gateway deb package from the release page: [https://github.com/SiliconLabs/zipgateway/releases](https://github.com/SiliconLabs/zipgateway/releases)\n- Copy it to the target device and install it along its dependencies. Finally, configure the daemon accordingly.\n\n```sh\nsudo dpkg -i zipgateway-*-Linux-armhf.deb || sudo apt install -f # To install missing deps\nsudo apt --fix-broken install # Will resume installing package if needed\nsudo dpkg -L zipgateway # List server and client and other utilities\ncat /usr/local/etc/zipgateway.cfg # To check configuration file\n```\n\n- Use Z/IP Gateway with libzwaveip's reference client (part of the package).\n\n```sh\n# Check if daemon is running\n$ systemctl status zipgateway # should report service active\n$ tail -F /var/log/zipgateway.log # To see traces\n\n# Connect to daemon using client, and use interactive shell:\n$ reference_client # Will report usage\n\nlibzwaveip version\nLogging to \"/tmp/libzw_reference_client.log\"\n\nUsage: reference_client [-p pskkey] [-n] [-x zwave_xml_file] [-g logging file path] [-u UI message severity level] [-f logging severity filter level] -s ip_address\n(...)\n\n$ reference_client -s fd00:aaaa::3 -p 123456789012345678901234567890AA -g ~/reference_client.log\n(ZIP) help\nUsage: help [addnode|removenode|learnmode|acceptdsk|grantkeys|setdefault|list|nodeinfo|hexsend|send|pl_list|pl_add|pl_remove|pl_reset|identify|lifeline|bye|exit|quit|]\n(...)\n\n(ZIP) list\n\"Static Controller [FFFFFFFF-0001-000]\" IP:42.42.42.1\n\n(ZIP) setdefault\ndata: 0x4D datalen: 3\nTransmit OK\ncmd_class:  COMMAND_CLASS_NETWORK_MANAGEMENT_BASIC  v2\ncmd:  DEFAULT_SET_COMPLETE\n(...)\n```\n\n\nTo interact with another device, flash an end device with a Z-Wave application\n(eg: zwave_soc_switch_on_off-brd4202a-eu.hex), and then included it to your Z-Wave network.\n\n\n```\n(ZIP) addnode\ncmd_class:  COMMAND_CLASS_NETWORK_MANAGEMENT_INCLUSION  v4\ncmd:  NODE_ADD_KEYS_REPORT\n(...)\nEnter 'grantkeys' to accept or 'abortkeys' to cancel.\n\n(ZIP) acceptdsk 424242\ncmd_class:  COMMAND_CLASS_NETWORK_MANAGEMENT_INCLUSION  v4\ncmd:  NODE_ADD_STATUS\n(...)\nparam:  Status  \u003e\n         NODE_ADD_STATUS_DONE\n(...)\nInclusion done\n\n(ZIP) list\n(...)\n\"Switch Binary [FFFFFFFF-0002-000]\" IP:42.42.42.2\n\n(ZIP) send \"Switch Binary [FFFFFFFF-0002-000]\" COMMAND_CLASS_SWITCH_BINARY SWITCH_BINARY_SET ff\n(...)\n\n(ZIP) send \"Switch Binary [FFFFFFFF-0002-000]\" COMMAND_CLASS_SWITCH_BINARY SWITCH_BINARY_GET\n(...)\nbytestream: 25 03 ff ff 00\n\n(ZIP) send \"Switch Binary [FFFFFFFF-0002-000]\" COMMAND_CLASS_SWITCH_BINARY SWITCH_BINARY_SET 00\n(...)\nbytestream: 25 03 00 00 00\n\n```\n\n## HOW TO BUILD Z/IP GATEWAY\n\nOnly 32-bit platforms are currently supported.\n\nThe reference OS is currently debian-9 (EoL). Native build is supported using cmake. You can rely on helper scripts to set up a system and pass tests to generate a debian package ready to be installed.\n\n### NATIVE BUILD ON TARGET DEVICE\n\nTo build Z/IP Gateway, execute the following command.\n\n```sh\nsudo apt install make\n./helper.mk help\n./helper.mk setup/raspbian\n./helper.mk\n```\n\nFor the record, dependencies are listed in helper.mk and the\ncompilation relies on cmake using standard directives:\n\n```sh\nmkdir build\ncmake ..\ncmake --build .\n```\n\nFeel free to tweak env, debugging using gdb can be helpful too.\n\n### BUILD ON HOST\n\nTo speed up the build process, native build can be deported to the host using\ndifferent containerization techniques (docker, systemd, chroot, qemu, binfmt).\nCheck the [DevTools](./DevTools/) directory for more information.\n\n## MORE\n\nAdditional documentation is available in doc folder or online:\n\n- https://github.com/SiliconLabs/zipgateway/\n- https://www.silabs.com/wireless/z-wave/specification\n- https://docs.silabs.com/z-wave/1.0.1/version-history\n- https://www.silabs.com/wireless/z-wave\n- https://www.silabs.com/documents/public/release-notes/SRN14932-1C.pdf\n- https://community.silabs.com/s/topic/0TO1M000000qHcQWAU/zwave\n- https://z-wavealliance.org/\n- https://github.com/Z-Wave-Alliance/\n- https://www.silabs.com/support\n- https://en.wikipedia.org/wiki/Z-Wave\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiliconlabs%2Fzipgateway","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsiliconlabs%2Fzipgateway","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiliconlabs%2Fzipgateway/lists"}