{"id":21900873,"url":"https://github.com/phts/np-01_buttons","last_synced_at":"2026-05-03T22:32:57.484Z","repository":{"id":72737357,"uuid":"597194488","full_name":"phts/NP-01_buttons","owner":"phts","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-25T20:38:57.000Z","size":28,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-26T20:08:37.094Z","etag":null,"topics":["phts-electronics","phts-np-01"],"latest_commit_sha":null,"homepage":"https://tsaryk.com/NP-01","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phts.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-02-03T20:53:21.000Z","updated_at":"2026-03-21T20:41:20.000Z","dependencies_parsed_at":"2024-11-28T15:11:20.104Z","dependency_job_id":"1368b29b-3ebb-4396-b175-a50d9a2fa753","html_url":"https://github.com/phts/NP-01_buttons","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/phts/NP-01_buttons","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2FNP-01_buttons","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2FNP-01_buttons/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2FNP-01_buttons/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2FNP-01_buttons/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phts","download_url":"https://codeload.github.com/phts/NP-01_buttons/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phts%2FNP-01_buttons/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32587818,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"ssl_error","status_checked_at":"2026-05-03T22:09:10.534Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["phts-electronics","phts-np-01"],"created_at":"2024-11-28T15:11:08.859Z","updated_at":"2026-05-03T22:32:57.472Z","avatar_url":"https://github.com/phts.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PHTS NP-01: buttons\n\nEvent handlers of buttons on a front panel of [PHTS NP-01].\n\n:warning: Some of those commands also used by [IR controller].\n\n## Current mappings\n\n![](https://image.easyeda.com/pullimage/P1ExBecBeSxIv2muLd6SAAzfSfF7M1A6Ks2ER6qd.png)\n\n\u003ctable\u003e\n  \u003cthead\u003e\u003ctr\u003e\n    \u003cth rowspan=2\u003eName\u003c/th\u003e\n    \u003cth rowspan=2\u003eShort press\u003c/th\u003e\n    \u003cth colspan=2\u003eLong press\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003cth\u003eWhile playing\u003c/th\u003e\n    \u003cth\u003eWhile paused\u003c/th\u003e\n  \u003c/tr\u003e\u003cthead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003eSHUTDOWN\u003c/code\u003e\u003c/td\u003e\n      \u003ctd\u003eGracefully shutdown the device\u003c/td\u003e\n      \u003ctd colspan=2\u003eReboot the device\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003e□\u003c/code\u003e\u003c/td\u003e\n      \u003ctd\u003eToggle screen modes: \"Track info\", \"VU meter\", \"Screensaver\"\u003c/td\u003e\n      \u003ctd colspan=2\u003e\n      \u003ctable\u003e\n      \u003ctr\u003e\u003cth colspan=3\u003eCurrent screen mode\u003c/th\u003e\u003c/tr\u003e\n      \u003ctr\u003e\u003cth\u003eTrack info\u003c/th\u003e\u003cth\u003eVU meter\u003c/th\u003e\u003cth\u003eScreensaver\u003c/th\u003e\u003c/tr\u003e\n      \u003ctr\u003e\u003ctd colspan=2\u003eToggle repeat/random track mode\u003c/td\u003e\u003ctd\u003eToggle background image\u003c/td\u003e\u003c/tr\u003e\n      \u003c/table\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003e▶ / ⏸\u003c/code\u003e\u003c/td\u003e\n      \u003ctd\u003ePlay or pause\u003c/td\u003e\n      \u003ctd\u003eStop after current track\u003c/td\u003e\n      \u003ctd\u003ePlay selected playlist\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003e⏮\u003c/code\u003e\u003c/td\u003e\n      \u003ctd\u003eJump to the beginning of the current track or to the previous track\u003c/td\u003e\n      \u003ctd\u003eRewind 10 seconds\u003c/td\u003e\n      \u003ctd\u003eSelect previous playlist\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003e⏭\u003c/code\u003e\u003c/td\u003e\n      \u003ctd\u003eJump to next track\u003c/td\u003e\n      \u003ctd\u003eFast forward 10 seconds\u003c/td\u003e\n      \u003ctd\u003eSelect next playlist\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n## Install\n\n```sh\ncd /home/volumio\ngit clone https://github.com/phts/NP-01_buttons.git\ncd NP-01_buttons\nnpm i --only=prod\n```\n\n## Usage\n\n`/etc/rc.local`:\n\n```sh\n...\n\nsudo bash /home/volumio/NP-01_buttons/run.sh \u0026\n\n...\n```\n\n## Debug and development\n\n1. Find process `node app/index.js` and kill it\n\n   ```sh\n   ps -elf | grep app/index.js\n   sudo kill \u003cPID\u003e\n   ```\n\n2. Run this app locally\n\n   ```sh\n   cd ~/NP-01_buttons\n   sudo node app/index.js\n   ```\n\n[PHTS NP-01]: https://tsaryk.com/NP-01\n[IR controller]: https://github.com/phts/NP-01_IR-controller-configs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphts%2Fnp-01_buttons","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphts%2Fnp-01_buttons","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphts%2Fnp-01_buttons/lists"}