{"id":23838298,"url":"https://github.com/shred/commons-nut","last_synced_at":"2025-09-07T15:32:38.221Z","repository":{"id":65510158,"uuid":"565102045","full_name":"shred/commons-nut","owner":"shred","description":"Java client for the NUT (Network UPS Tools) protocol","archived":false,"fork":false,"pushed_at":"2022-11-12T11:07:26.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-25T19:49:52.295Z","etag":null,"topics":["client-library","java","nut","uninterruptible-power-supply","ups"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shred.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-LGPL.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-11-12T10:52:28.000Z","updated_at":"2024-02-16T10:36:56.000Z","dependencies_parsed_at":"2023-01-26T17:25:09.713Z","dependency_job_id":null,"html_url":"https://github.com/shred/commons-nut","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shred%2Fcommons-nut","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shred%2Fcommons-nut/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shred%2Fcommons-nut/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shred%2Fcommons-nut/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shred","download_url":"https://codeload.github.com/shred/commons-nut/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232225357,"owners_count":18491372,"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":["client-library","java","nut","uninterruptible-power-supply","ups"],"created_at":"2025-01-02T16:53:59.341Z","updated_at":"2025-09-07T15:32:38.212Z","avatar_url":"https://github.com/shred.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# commons-nut ![build status](https://shredzone.org/badge/commons-nut.svg) ![maven central](https://shredzone.org/maven-central/org.shredzone.commons/commons-nut/badge.svg)\n\nA simple Java NUT ([Network UPS Tools](https://networkupstools.org)) client.\n\nThis software is part of the Shredzone Commons.\n\n**Experimental!** I wrote this client because I found no other one at Maven Central. It is a very simple implementation that does not cover all protocol features, and is also not quite well unit tested.\n\nFor me it is sufficient like that, so don't expect frequent updates. However, please give feedback if you're using this client in your project (for example by starring it at Codeberg). If there is sufficient interest in this client, it would motivate me to invest more time into its development.\n\n## Features\n\n* Connects to many UPS via a NUT server.\n* Supports the most important commands of the protocol.\n* Small footprint, only requires Java 11 or higher.\n* Logging via SLF4J\n* [Semantic Versioning](https://semver.org).\n\n## Quick Start\n\nJust create a `Client` object as starting point, and use its methods.\n\n```java\ntry (Client client = new Client(\"localhost\")) {\n    client.getDeviceList().forEach(System.err::println);\n\n    Device ups = client.getDevice(\"myups\");\n\n    ups.getVariables().forEach(System.err::println);\n    ups.getRWVariables().forEach(System.err::println);\n    ups.getCommands().forEach(System.err::println);\n} catch (NutException ex) {\n    ex.printStackTrace();\n}\n```\n\n## Limitations\n\nThis client implements only the most important features of the [NUT protocol](https://networkupstools.org/docs/developer-guide.chunked/ar01s09.html) 1.2 or higher.\n\nThese commands are not supported yet:\n\n* `GET TYPE`, `LIST ENUM`, `LIST RANGE`\n* `GET TRACKING`, `SET TRACKING`\n* `LIST CLIENT`\n* `PRIMARY`, `FSD`\n* `STARTTLS` and socket encryption\n\n## Debugging\n\nBy setting the log level of the `org.shredzone.commons.nut` package to `DEBUG`, the communication with the NUT server will be logged.\n\n**Caution:** The `DEBUG` log output contains the login credentials! Do not use it on production level.\n\n## Contribute\n\n* Fork the [Source code at Codeberg](https://codeberg.org/shred/commons-nut). Feel free to send pull requests.\n* Found a bug? [File a bug report!](https://codeberg.org/shred/commons-nut/issues)\n\n## License\n\n_commons-nut_ is open source software. The source code is distributed under the terms of [GNU Lesser General Public License Version 3](http://www.gnu.org/licenses/lgpl-3.0.html).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshred%2Fcommons-nut","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshred%2Fcommons-nut","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshred%2Fcommons-nut/lists"}