{"id":20084458,"url":"https://github.com/pierregode/zaptecslacknotifier","last_synced_at":"2026-06-13T14:02:28.838Z","repository":{"id":197769824,"uuid":"699201541","full_name":"PierreGode/ZaptecSlackNotifier","owner":"PierreGode","description":"Send notifications of availible Zaptec chargers that are availible in your Zaptec account to Slack","archived":false,"fork":false,"pushed_at":"2023-11-29T07:16:27.000Z","size":497,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-02T14:23:40.688Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PierreGode.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":"2023-10-02T06:36:42.000Z","updated_at":"2023-12-14T15:32:08.000Z","dependencies_parsed_at":"2023-10-13T17:16:01.083Z","dependency_job_id":"48f83144-1d5e-4289-ae80-e9d5b8afa37c","html_url":"https://github.com/PierreGode/ZaptecSlackNotifier","commit_stats":null,"previous_names":["pierregode/zaptecslacknotifier"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PierreGode/ZaptecSlackNotifier","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PierreGode%2FZaptecSlackNotifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PierreGode%2FZaptecSlackNotifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PierreGode%2FZaptecSlackNotifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PierreGode%2FZaptecSlackNotifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PierreGode","download_url":"https://codeload.github.com/PierreGode/ZaptecSlackNotifier/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PierreGode%2FZaptecSlackNotifier/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34286976,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-13T15:52:06.568Z","updated_at":"2026-06-13T14:02:28.819Z","avatar_url":"https://github.com/PierreGode.png","language":"JavaScript","funding_links":["https://ko-fi.com/J3J2EARPK"],"categories":[],"sub_categories":[],"readme":"# ZaptecSlackNotifier\n\n\n![image](https://github.com/PierreGode/ZaptecSlackNotifier/assets/8579922/badc54dc-ca64-4c54-9ad3-786d857eadc3)\n\n\n\nSend notifications of availible Zaptec chargers that are availible in your Zaptec account to Slack\n\n\nNode.js \u0026 npm: This is the runtime environment for executing JavaScript code server-side.\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/J3J2EARPK)\n\nSlack application is required for the enterprise version of Slack and depending on security permissions slack token might be required\u003cp\u003e\nFor personal Slack, webhook app can be configured directly without any tokens\n\n\n\n## Clone this repository\n```\ngit clone https://github.com/PierreGode/ZaptecSlackNotifier.git\n```\n```\ncd ZaptecSlackNotifier\n```\n## Prerequisites\nBefore you proceed, ensure you have the following:\n```\nsudo apt-get install npm\n```\n```\nnpm install axios @slack/web-api\n```\n\n```\nnpm install dotenv\n```\n\n## Setup\nCreate a .env file: At the root of your project, create a file named .env\n```\ntouch .env\n```\n\nAdd your secrets/configuration: Inside this file, you can set your environment variables as key-value pairs:\n\n```\nZAPTEC_USERNAME=myUsername\nZAPTEC_PASSWORD=myPassword\nSLACKBOT_NAME=ZaptecBot\nSLACKBOT_ICON=https://raw.githubusercontent.com/PierreGode/ZaptecSlackNotifier/2b1f8830cd258a5f73a67ece179bbba17b4332de/images/zaptec.png\nSLACK_WEBHOOK_URL=myWebhookURL\nSLACK_TOKEN=BotUserOAuthToken\nSLACK_WEBHOOK_PRIVATE_URL=myPrivateWebhookURL\nCOMPANY_NAME=word\nEXCLUDE_DEVICES=devicename1,devicename2\n```\n\nCOMPANY_NAME= comapany name or word to be removed from status eg api presents your chargers as company 01 company 02 company 03 company 04 you can remove the word company by adding it to .env COMPANY_NAME=company and the result will be 01 02 03 04\u003cp\u003e\nAccess in code: With the help of libraries like dotenv, you can easily load these variables into your application's environment. For Node.js applications, after setting up dotenv, you can access these variables using process.env.VARIABLE_NAME.\u003cp\u003e\nnote that it is never a good practice to store passwords in clear text on a file, this example is to get started locally.\nSLACK_WEBHOOK_PRIVATE_URL= can be used to post charge complete notifications to another channel (private message) than normal charge station update notifications. If not configured, all notifications will be sent to the SLACK_WEBHOOK_URL.\nSLACKBOT_ICON / SLACKBOT_NAME allows you to control the appearance of the messages from the app instead of having to do it in the slack setup.\nEXCLUDE_DEVICES= can be used to ignore devices that you have access to, but don't want to have included in the slack notifications\n\n## Running the Notifier\nOnce you've set up the configurations, run the notifier using:\n```\nnode node.js\n```\npreferably setup an @reboot sleep 60 \u0026\u0026 /usr/local/bin/node /home/pi/ZaptecSlackNotifier/node.js \u003e\u003e /var/log/slack.log 2\u003e\u00261 in crontab\n\nZaptecSlackNotifier will send notifications about a charger when it becomes available, updates are pulled every 5 minutes but notifications will not be repeated until the status is changed.\nnotifocation is only sent when OperatingMode == 1 and 1 = Charger is available! and OperatingMode == 3 Charger has stopped charging\u003cp\u003e\nNotifications are silenced after work hours 16-06 and weekends. This can be configured in config.js\u003cp\u003e\n//@Created By  [Pierre Gode](https://github.com/PierreGode), Updated by [Jonas Högström](https://github.com/jonashogstrom)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpierregode%2Fzaptecslacknotifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpierregode%2Fzaptecslacknotifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpierregode%2Fzaptecslacknotifier/lists"}