{"id":43696013,"url":"https://github.com/nubeio/rubix-bacnet-server","last_synced_at":"2026-02-05T04:12:56.573Z","repository":{"id":42692747,"uuid":"308779091","full_name":"NubeIO/rubix-bacnet-server","owner":"NubeIO","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-11T16:38:23.000Z","size":674,"stargazers_count":9,"open_issues_count":4,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-11T16:57:02.953Z","etag":null,"topics":["bac0","bacnet","bacpypes","flask"],"latest_commit_sha":null,"homepage":"","language":"Python","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/NubeIO.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-31T01:18:05.000Z","updated_at":"2024-03-23T17:03:22.000Z","dependencies_parsed_at":"2022-08-27T04:51:44.664Z","dependency_job_id":null,"html_url":"https://github.com/NubeIO/rubix-bacnet-server","commit_stats":null,"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"purl":"pkg:github/NubeIO/rubix-bacnet-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NubeIO%2Frubix-bacnet-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NubeIO%2Frubix-bacnet-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NubeIO%2Frubix-bacnet-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NubeIO%2Frubix-bacnet-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NubeIO","download_url":"https://codeload.github.com/NubeIO/rubix-bacnet-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NubeIO%2Frubix-bacnet-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29111245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T03:44:17.043Z","status":"ssl_error","status_checked_at":"2026-02-05T03:44:12.077Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["bac0","bacnet","bacpypes","flask"],"created_at":"2026-02-05T04:12:56.515Z","updated_at":"2026-02-05T04:12:56.568Z","avatar_url":"https://github.com/NubeIO.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rubix BACnet server\n\n## Running in development\n\n- Use [`poetry`](https://github.com/python-poetry/poetry) to manage dependencies\n- Simple script to install\n\n    ```bash\n    ./setup.sh\n    ```\n\n- Join `venv`\n\n    ```bash\n    poetry shell\n    ```\n\n- Build local binary\n\n    ```bash\n    poetry poetry run pyinstaller run.py -n rubix-bacnet --clean --onefile \\\n    --add-data pyproject.toml:. \\\n    --add-data VERSION:. \\\n    --add-data config:config \\\n    --add-data migrations:migrations\n    ```\n\n  The output is: `dist/rubix-bacnet`\n\n## Docker build\n\n### Build\n\n```bash\n./docker.sh\n```\n\nThe output image is: `rubix-bacnet:dev`\n\n### Run\n\n```bash\ndocker volume create rubix-bacnet-data\ndocker run --rm -it -p 1919:1919 -v rubix-bacnet-data:/data --name rubix-bacnet rubix-bacnet:dev\n```\n\n## Deploy on Production\n\n- Download release artifact\n- Review help and start\n\n```bash\n$ rubix-bacnet -h\nUsage: rubix-bacnet [OPTIONS]\n\nOptions:\n  -p, --port INTEGER              Port  [default: 1717]\n  -g, --global-dir PATH           Global dir\n  -d, --data-dir PATH             Application data dir\n  -c, --conf-dir PATH             Application config dir\n  -i, --identifier TEXT           Identifier  [default: bacnet]\n  --prod                          Production mode\n  -s, --setting-file TEXT         Rubix BACnet: setting json file\n  -l, --logging-conf TEXT         Rubix BACnet: logging config file\n  --workers INTEGER               Gunicorn: The number of worker processes for handling requests.\n  --gunicorn-config TEXT          Gunicorn: config file(gunicorn.conf.py)\n  --log-level [FATAL|ERROR|WARN|INFO|DEBUG]\n                                  Logging level\n  -h, --help                      Show this message and exit.\n```\n\n### MQTT client\n\n##### Topic structure\n\nPublish value topic\n```\n\u003cclient_id\u003e/\u003cclient_name\u003e/\u003csite_id\u003e/\u003csite_name\u003e/\u003cdevice_id\u003e/\u003cdevice_name\u003e/rubix/bacnet_server/points/\u003ctype\u003e/\u003cobject_identifier\u003e/\u003cobject_name\u003e\n```\n\nDebug topic\n```\n\u003cclient_id\u003e/\u003cclient_name\u003e/\u003csite_id\u003e/\u003csite_name\u003e/\u003cdevice_id\u003e/\u003cdevice_name\u003e/rubix/bacnet_server/debug\n```\n\nExample debug topic\n\n```\n+/+/+/+/+/+/rubix/bacnet_server/debug\n```\n\n## How to test using [bacnet-stack](https://github.com/bacnet-stack/bacnet-stack) (here, 2508 as device_id)\n\n### Pre-requisite\n- Run this app on our local PC\n- Configure IP to your local PC IP or can configure by enabling enable_ip_by_nic_name \u0026 ip_by_nic_name\n- Run this app\n- Install bacnet-stack v1.0.0 on BBB or other device on the same network\n- Now, it will make below commands available\n\n\n### To get available device\n```\n\u003e ./bacwi\n;Device   MAC (hex)            SNET  SADR (hex)           APDU\n;-------- -------------------- ----- -------------------- ----\n  2508    0A:00:00:06:BA:C0    0     00                   1024\n;\n; Total Devices: 1\n```\n\n### To test for a BO\n\n```\n- Read present value\n\u003e ./bacrp 2508 4 1 85\n\n- Read priority array\n\u003e ./bacrp 2508 4 1 87\n\n- Write a value to @16 of 1\n\u003e ./bacwp 2508 4 1 85 16 -1 9 1\n\n- Write a value to @16 of null\n\u003e ./bacwp 2508 4 1 85 16 -1 0 0\n```\n\n### To test for an AO\n\n```\n- Read present value\n\u003e ./bacrp 2508 1 1 85\n\n- Read priority array\n\u003e ./bacrp 2508 1 1 87\n\n- Write a value to @16 of 1\n\u003e ./bacwp 2508 1 1 85 16 -1 4 1\n\n- Write a value to @16 of null\n\u003e ./bacwp 2508 1 1 85 16 -1 0 0\n```\n\n### To read device/point info\n\n#### Point info\n\n```\n- Point Name\n\u003e ./bacrp 2508 1 1 77\n\n- Point Discription\n\u003e ./bacrp 2508 1 1 28\n\n- Point Units\n\u003e ./bacrp 2508 1 1 117\n\n- Point Event State\n\u003e ./bacrp 2508 1 1 36\n```\n\n#### Device info\n\n```\n\u003e ./bacrp 2508 8 2508 77\n\"nube-io\"\n\n\u003e ./bacrp 2508 8 2508 75\n(device, 2508)\n\n\u003e ./bacrp 2508 8 2508 112\noperational-read-only\n\n\u003e ./bacrp 2508 8 2508 121\n\"NUBE-IO-IO vendor_name\"\n\n\u003e ./bacrp 2508 8 2508 120\n1173\n```\n\n## Writing string\nWrite device name\n```\n./bacwp 202 8 202 77 0 -1 7 test2\n\n./bacrp 2508 8 2508 77\n```\n\n\nWrite point name\n```\n./bacwp 202 8 202 77 0 -1 7 test2\n\n./bacrp 2508 8 2508 77\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnubeio%2Frubix-bacnet-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnubeio%2Frubix-bacnet-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnubeio%2Frubix-bacnet-server/lists"}