{"id":23864534,"url":"https://github.com/ibebbs/miorleans","last_synced_at":"2025-10-20T10:09:12.917Z","repository":{"id":148899635,"uuid":"115256819","full_name":"ibebbs/MiOrleans","owner":"ibebbs","description":"Actor framework for interacting with Xiaomi Mi Smart Home devices using Microsoft's Orleans framework","archived":false,"fork":false,"pushed_at":"2017-12-28T17:23:56.000Z","size":30,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-03T08:31:54.872Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","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/ibebbs.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":"2017-12-24T10:52:17.000Z","updated_at":"2021-01-16T04:34:42.000Z","dependencies_parsed_at":"2023-07-17T00:15:30.534Z","dependency_job_id":null,"html_url":"https://github.com/ibebbs/MiOrleans","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibebbs%2FMiOrleans","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibebbs%2FMiOrleans/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibebbs%2FMiOrleans/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ibebbs%2FMiOrleans/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ibebbs","download_url":"https://codeload.github.com/ibebbs/MiOrleans/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240177575,"owners_count":19760393,"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":[],"created_at":"2025-01-03T08:26:36.071Z","updated_at":"2025-10-20T10:09:12.835Z","avatar_url":"https://github.com/ibebbs.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MiOrleans\nActor framework for interacting with Xiaomi Mi Smart Home devices using Microsoft's Orleans framework\n\n## Process\n\nOnce developer mode has been enabled on the gateway, it regularly broadcasts heartbeat messages via UDP on port 9898. MiOrleans listens to these heartbeats and requests a device list from the broadcaster of the heartbest. When the device list is received, a reading is requesting from each of the devices in the device list. Finally, when the readings are received they are recorded.\n\n\n\n## Messages\n\n### Heartbeat\n\n```{\"cmd\":\"heartbeat\",\"model\":\"gateway\",\"sid\":\"7811dcb06972\",\"short_id\":\"0\",\"token\":\"mLD6CgJTTNiJe47k\",\"data\":\"{\\\"ip\\\":\\\"192.168.2.12\\\"}\"}```\n\n### Get Id List\n\n```{\"cmd\":\"get_id_list\"}```\n\n### Get Id List - Ack\n\n```{\"cmd\":\"get_id_list_ack\",\"sid\":\"7811dcb06972\",\"token\":\"L0DI4IiFAvAgInyL\",\"data\":\"[\\\"158d0001a200f5\\\",\\\"158d0001c1cdfb\\\"]\"}```\n\n### Read\n\n```{\"cmd\":\"read\",\"sid\":\"7811dcb06972\"}```\n\n### Read - Ack from Gateway\n\n```{\"cmd\":\"read_ack\",\"model\":\"gateway\",\"sid\":\"7811dcb06972\",\"short_id\":0,\"data\":\"{\\\"rgb\\\":0,\\\"illumination\\\":1292,\\\"proto_version\\\":\\\"1.0.9\\\"}\"}```\n\n### Read = Ack from Temperature/Humidity Sensor\n\n```{\"cmd\":\"read_ack\",\"model\":\"sensor_ht\",\"sid\":\"158d0001a200f5\",\"short_id\":60049,\"data\":\"{\\\"voltage\\\":3005,\\\"temperature\\\":\\\"2120\\\",\\\"humidity\\\":\\\"5277\\\"}\"}```\n\n### Read - Ack from Door Sensor\n\n```{\"cmd\":\"read_ack\",\"model\":\"magnet\",\"sid\":\"158d0001c1cdfb\",\"short_id\":56258,\"data\":\"{\\\"voltage\\\":3115,\\\"status\\\":\\\"open\\\"}\"}```\n\n### Report - Door Sensor\n\n```{\"cmd\":\"report\",\"model\":\"magnet\",\"sid\":\"158d0001c1cdfb\",\"short_id\":56258,\"data\":\"{\\\"status\\\":\\\"open\\\"}\"}```\n\n### Read - Ack from Motion Sensor\n\n```{\"cmd\":\"read_ack\",\"model\":\"motion\",\"sid\":\"158d0001d525f8\",\"short_id\":50076,\"data\":\"{\\\"voltage\\\":3055}\"}```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibebbs%2Fmiorleans","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fibebbs%2Fmiorleans","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fibebbs%2Fmiorleans/lists"}