{"id":13588485,"url":"https://github.com/Joery-M/Govee-LAN-Control","last_synced_at":"2025-04-08T06:32:07.430Z","repository":{"id":63524235,"uuid":"541249372","full_name":"Joery-M/Govee-LAN-Control","owner":"Joery-M","description":"An Node.js package to control Govee devices with LAN","archived":false,"fork":false,"pushed_at":"2023-11-19T10:26:07.000Z","size":203,"stargazers_count":24,"open_issues_count":5,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-06T13:42:14.642Z","etag":null,"topics":["govee","lan"],"latest_commit_sha":null,"homepage":"https://joery.com/govee-lan-control","language":"TypeScript","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/Joery-M.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"license.md","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}},"created_at":"2022-09-25T17:15:48.000Z","updated_at":"2024-12-27T20:02:53.000Z","dependencies_parsed_at":"2024-02-18T16:20:36.761Z","dependency_job_id":"c3273a20-2257-4892-b3ce-1a3e84e2d152","html_url":"https://github.com/Joery-M/Govee-LAN-Control","commit_stats":{"total_commits":7,"total_committers":2,"mean_commits":3.5,"dds":0.1428571428571429,"last_synced_commit":"80808741a8c5c4fdfe40992e63a442a7a42e2b30"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Joery-M%2FGovee-LAN-Control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Joery-M%2FGovee-LAN-Control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Joery-M%2FGovee-LAN-Control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Joery-M%2FGovee-LAN-Control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Joery-M","download_url":"https://codeload.github.com/Joery-M/Govee-LAN-Control/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247563941,"owners_count":20958971,"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":["govee","lan"],"created_at":"2024-08-01T15:06:44.568Z","updated_at":"2025-04-08T06:32:06.453Z","avatar_url":"https://github.com/Joery-M.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Govee LAN API\n\nSomeone will probably make this better than I ever could, but I wan't to abandon\nGovee's API that uses their servers, since I don't like it.\n\n## What is this?\n\nAn npm module to control Govee devices using their new\n[LAN API](https://twitter.com/GoveeOfficial/status/1557538932560039936).\n\n## What devices are supported?\n\nCheck\n[Govee's WLAN Guide](\u003chttps://app-h5.govee.com/user-manual/wlan-guide#:~:text=Supported%20Product%20Models%20(continually%20updated)\u003e),\nthey have a list.\n\n\u003cbr\u003e\n\n## [Documentation](https://joery.com/govee-lan-control/)\n\n\u003cbr\u003e\n\n## Note for Docker users:\nUDP ports 4001, 4002 and 4003 are used on address 239.255.255.250. If you only allow certain IP addresses, also add the ip of your device directly.\n\nUse these flag to allow for the correct ports to be accessed.\n```\n-p 4001:4001/udp -p 4002:4002/udp -p 4003:4003/udp\n```\nAlso if you have a firewall inside of your container, make sure it allows requests going to remote port 4001 and 4003, and it allows requests comming in on local port 4002.\n\nHere is an example of how to allow outgoing requests on port 4001 and 4003 (This is for Red Hat / Centos, check with the firewall on your distro)\n```\nsudo iptables -A INPUT -p udp --dport 4001 -j ACCEPT\nsudo iptables -A INPUT -p udp --dport 4003 -j ACCEPT\n```\n\n\u003cbr\u003e\n\n## Examples\n\nFor Node_RED examples, check the [examples folder](https://github.com/Joery-M/Govee-LAN-Control/tree/master/examples)\n### Initial setup\n\n```js\nconst Govee = require(\"govee-lan-control\");\n\nvar govee = new Govee.default();\ngovee.on(\"ready\", () =\u003e {\n  console.log(\"Server/client is ready!\");\n});\ngovee.on(\"deviceAdded\", (device) =\u003e {\n  console.log(\"New Device!\", device.model);\n});\n```\n\n### Fade to random color and brightness every 2 seconds.\n\n```js\nsetInterval(() =\u003e {\n  govee.devicesArray[0].actions.fadeColor({\n    time: 2000,\n    color: {\n      hex: Math.floor(Math.random() * 16777215).toString(16),\n    },\n    brightness: Math.random() * 100,\n  });\n}, 2000);\n```\n\n### Rainbow\n\n```js\nvar i = 0;\n\nsetInterval(() =\u003e {\n  i++;\n  // Loop back to 0 when at 360\n  i %= 360;\n\n  govee.devicesArray[0].actions.setColor({\n    hsl: [i, 100, 50],\n  });\n}, 30);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJoery-M%2FGovee-LAN-Control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJoery-M%2FGovee-LAN-Control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJoery-M%2FGovee-LAN-Control/lists"}