{"id":22323414,"url":"https://github.com/pvainio/vallox-rs485","last_synced_at":"2025-07-17T18:33:10.986Z","repository":{"id":57748237,"uuid":"416262625","full_name":"pvainio/vallox-rs485","owner":"pvainio","description":"Vallox RS485 serial bus implemenation for Go","archived":false,"fork":false,"pushed_at":"2025-03-07T19:22:28.000Z","size":48,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-13T12:30:04.751Z","etag":null,"topics":["home","home-automation","iot","rs485","vallox"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pvainio.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,"zenodo":null}},"created_at":"2021-10-12T09:08:43.000Z","updated_at":"2025-03-07T19:22:31.000Z","dependencies_parsed_at":"2024-04-26T07:25:59.434Z","dependency_job_id":"81b35c93-78a5-4aec-aad7-fc05a267f3c7","html_url":"https://github.com/pvainio/vallox-rs485","commit_stats":null,"previous_names":["pvainio/vallox"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/pvainio/vallox-rs485","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pvainio%2Fvallox-rs485","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pvainio%2Fvallox-rs485/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pvainio%2Fvallox-rs485/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pvainio%2Fvallox-rs485/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pvainio","download_url":"https://codeload.github.com/pvainio/vallox-rs485/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pvainio%2Fvallox-rs485/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265645449,"owners_count":23804188,"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":["home","home-automation","iot","rs485","vallox"],"created_at":"2024-12-04T01:10:29.065Z","updated_at":"2025-07-17T18:33:10.958Z","avatar_url":"https://github.com/pvainio.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vallox RS485 serial interface module for Go lang\n\n## Overview\n\nThis module implements Vallox RS485 serial protocol.  Currently it can:\n- read temperature reported by device: outside -\u003e incoming -\u003e inside -\u003e outgoing\n- read ventilation fan speed\n- change ventilation fan speed\n\nMade for https://github.com/pvainio/vallox-mqtt Vallox RS485 MQTT gateway for Home Assistant integration\n\n## Supported devices\n\nThe module has been tested with only one device so far:\n- Vallox Digit SE model 3500 SE made in 2001 (one with old led panel, no lcd panel)\n\nProbably it will support other Vallox models using RS485 serial bus for remote controllers.  It is possible that some registers have have changed through time since this device register does not match Vallox documentation.\n\nUse at your own risk!  Vallox documentation warns about using incorrect registers or incorrect values may damage the device.\n\n## Usage\n\nTo write registers (speed) Config.EnableWrite need to be set to true.\n\n## Example\n\n```go\npackage main\n\nimport (\n\t\"log\"\n\n\tvalloxrs485 \"github.com/pvainio/vallox-rs485\"\n)\n\nvar registers = map[byte]string{\n\tvalloxrs485.FanSpeed:            \"Speed\",\n\tvalloxrs485.TempIncomingOutside: \"Ouside temp\",\n\tvalloxrs485.TempIncomingInside:  \"Incoming temp\",\n\tvalloxrs485.TempOutgoingInside:  \"Inside temp\",\n\tvalloxrs485.TempOutgoingOutside: \"Outgoing temp\",\n}\n\nfunc main() {\n\tcfg := valloxrs485.Config{Device: \"/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A901IPIR-if00-port0\"}\n\tvallox, err := valloxrs485.Open(cfg)\n\n\tif err != nil {\n\t\tlog.Fatalf(\"error opening Vallox device %s: %v\", cfg.Device, err)\n\t}\n\n\tfor {\n\t\tevent := \u003c-vallox.Events()\n\n\t\tif !vallox.ForMe(event) {\n\t\t\t// Do not handle values addressed for someone else in the same bus\n\t\t\tcontinue\n\t\t}\n\n\t\tif name, ok := registers[event.Register]; ok {\n\t\t\tlog.Printf(\"Received new value %s = %d\", name, event.Value)\n\t\t} else {\n\t\t\tlog.Printf(\"Received unidentified value register %d = %d\", event.Register, event.Value)\n\t\t}\n\t}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpvainio%2Fvallox-rs485","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpvainio%2Fvallox-rs485","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpvainio%2Fvallox-rs485/lists"}