{"id":21707762,"url":"https://github.com/flightaware/piaware-configurator","last_synced_at":"2026-01-07T22:40:39.437Z","repository":{"id":51686872,"uuid":"435947295","full_name":"flightaware/piaware-configurator","owner":"flightaware","description":"Flask endpoints to configure and control PiAware over HTTP","archived":false,"fork":false,"pushed_at":"2024-04-05T13:37:57.000Z","size":96,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-04-05T14:43:10.097Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flightaware.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":"2021-12-07T16:13:17.000Z","updated_at":"2024-03-11T22:11:06.000Z","dependencies_parsed_at":"2023-10-20T19:30:27.253Z","dependency_job_id":"dfdd6bbd-72df-46f3-8710-5c55f810ca19","html_url":"https://github.com/flightaware/piaware-configurator","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flightaware%2Fpiaware-configurator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flightaware%2Fpiaware-configurator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flightaware%2Fpiaware-configurator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flightaware%2Fpiaware-configurator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flightaware","download_url":"https://codeload.github.com/flightaware/piaware-configurator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246193259,"owners_count":20738452,"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":"2024-11-25T22:19:10.498Z","updated_at":"2026-01-07T22:40:39.399Z","avatar_url":"https://github.com/flightaware.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PiAware Configurator\npiaware-configurator is an API that provides several endpoints to read and write piaware configuration settings and retrieve device information and status over HTTP. It is implemented using [Flask](https://flask.palletsprojects.com/) so you can run it using Flask's built-in development server. In production, it is deployed behind the Python WSGI HTTP Server, [gunicorn](https://gunicorn.org/).\n\npiaware-configurator is bound to localhost which makes it inaccessible to external hosts. Its intended use is for Bluetooth configuration and Web interface for ADS-B receivers.\n\n## Endpoints\n\n**URL**: http://localhost:5000/configurator\n\n**Method**: `POST`\n\n**Requests:** Endpoint accepts JSON formatted requests consisting of a \"request\" and a \"request_payload\" key to interface with piaware-config and device information \n\n\n| Request | Command | Request Format (must be Content-Type: application/json) | \n| --------------- | --------------- | --------------- |\n| Read piaware config setting | piaware_config_read | `{ \"request\": \"piaware_config_read\", \"request_payload\" : [\"receiver-type\", \"rtlsdr-gain\"]}` | \n| Set piaware config setting | piaware_config_write | `{\"request\": \"piaware_config_write\", \"request_payload\": {\"receiver-type\": \"rtlsdr\", \"rtlsdr-gain\": 50}}` |\n| Get device info | get_device_info | `{\"request\": \"get_device_info\"}` | \n| Get network info | get_network_info | `{\"request\": \"get_network_info\"}` | \n| Get device state | get_device_state | `{\"request\": \"get_device_state\"}` | \n| Get available WiFi networks | get_wifi_networks | `{\"request\": \"get_wifi_networks\"}` | \n| Set Wifi configuration | set_wifi_config | `{\"request\": \"set_wifi_config\", \"request_payload\": {\"wireless-ssid\": \u003cssid\u003e, \"wireless-password\": \"\u003cpassword\u003e\", \"wireless-country\": \"\u003ccountrycode\u003e\"}}` | \n| Restart receiver | restart_receiver | `{\"request\": \"restart_receiver\"}` |\n\n**Response**: `200 OK`\n```\n{\"success\": true, \"receiver-type\": \"rtlsdr\", \"rtlsdr-gain\": 50}\n{\"success\": false, \"error\": \"Reading rtlsdr-gain is not allowed\"}\n{\"success\": false, \"error\": \"Badly formatted setting\"}\n{\"success\": false, \"error\": \"Server error occurred reading config setting: rtlsdr-gain\"}\n```\n\n**Response**: `400 BAD REQUEST`\n```\n{\"success\": False, \"error\": \"Missing request_payload field\"}\n{\"success\": False, \"error\": \"Request_payload must be a list of settings to read\"}\n```\n\n___\n**URL**: http://localhost:5000/piaware/status\n\nReturns the piaware status JSON\n\n**Method**: `GET`\n\n**Supported Responses**: \n\n`200 OK`\n```\n{\n    \"modes_enabled\"    : true,\n    \"dump978_version\"  : \"dump978-fa 8.2\",\n    \"interval\"         : 5000,\n    \"cpu_load_percent\" : 6,\n    \"time\"             : 1693969799444,\n    \"site_url\"         : \"https://flightaware.com/adsb/stats/user/piawareuser\n    \"system_uptime\"    : 342330,\n    \"expiry\"           : 1693969810444,\n    \"piaware\"          : {\n        \"status\"  : \"green\",\n        \"message\" : \"PiAware 8.2 is running\"\n    },\n    \"cpu_temp_celcius\" : 55.017,\n    \"uat_enabled\"      : false,\n    \"dump1090_version\" : \"dump1090-fa 8.2\",\n    \"adept\"            : {\n        \"status\"  : \"green\",\n        \"message\" : \"Connected to FlightAware and logged in\"\n    },\n    \"mlat\"             : {\n        \"status\"  : \"amber\",\n        \"message\" : \"No clock synchronization with nearby receivers\"\n    },\n    \"piaware_version\"  : \"8.2\",\n    \"radio\"            : {\n        \"status\"  : \"green\",\n        \"message\" : \"Received Mode S data recently\"\n    }\n}\n```\n\n`404 NOT FOUND` - No piaware status.json exists\n\n___ \n**URL**: http://localhost:5000/flightfeeder/status\n\nReturns the flightfeeder status JSON\n\n**Method**: `GET`\n\n**Supported Responses**: \n\n`200 OK`\n```\n{\n    \"serial\"           : \"10508\",\n    \"software_version\" : \"11.0\",\n    \"modes_enabled\"    : true,\n    \"type\"             : \"flightfeeder\",\n    \"interval\"         : 60000,\n    \"cpu_load_percent\" : 9,\n    \"site_url\"         : \"https://flightaware.com/adsb/stats/user/flightfeederuser\",\n    \"time\"             : 1693969878283,\n    \"system_uptime\"    : 372924,\n    \"expiry\"           : 1693970059283,\n    \"piaware\"          : {\n        \"status\"  : \"green\",\n        \"message\" : \"PiAware 8.2 is running; piaware running with pid 648\"\n    },\n    \"mac\"              : \"b8:27:eb:d1:f1:e8\",\n    \"network\"          : {\n        \"status\"  : \"green\",\n        \"message\" : \"Remote management VPN connected\"\n    },\n    \"hardware_version\" : \"FlightFeeder Orange\",\n    \"cpu_temp_celcius\" : 50.464,\n    \"uat_enabled\"      : false,\n    \"adept\"            : {\n        \"status\"  : \"green\",\n        \"message\" : \"Connected to FlightAware and logged in\"\n    },\n    \"mlat\"             : {\n        \"status\"  : \"green\",\n        \"message\" : \"Multilateration synchronized\"\n    },\n    \"radio\"            : {\n        \"status\"  : \"green\",\n        \"message\" : \"Received Mode S data recently\"\n    }\n}\n```\n\n`404 NOT FOUND` - No FlightFeeder status.json exists\n\n## Tohil Usage\npiaware-configurator uses [Tohil](https://github.com/flightaware/tohil) to bridge the gap between Python and Tcl and allows configuration of piaware using Python.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflightaware%2Fpiaware-configurator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflightaware%2Fpiaware-configurator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflightaware%2Fpiaware-configurator/lists"}