# SpaceAPI Daemon `spaceapid` serves a [SpaceAPI](https://spaceapi.io)-compatible JSON on port 8080: ```shell $ curl -X GET http://[::1]:8080 | jq { "api_compatibility": [ "14" ], "space": "CCCHH", ... } ``` ## Configuring spaceapid has to be configured via one or multiple json files. A sample configuration is provided as [config-template.json](./config-template.json). The config consists of three parts: - `"credentials"` - List of Username/Password credentials for HTTP BasicAuth - `"dynamic"` - The configuration for the dynamic parts of the message - `"response"` - The static (pre-filled) parts of the response See [Running](#running) for details. ## Updating values The state of the boolean `state->open` property can be modified via `/state/open`: ```shell curl -X PUT -u user:password -d true http://[::1]:8080/state/open ``` The same is true for the endpoints for sensors configured under `"dynamic"`. Currently only `temperature` and `humidity` are implemented. ```shell curl -X PUT -u user:password -d 23.42 http://[::1]:8080/sensors/{temperature,humidity}/location[/name] ``` ## Building See the `go.mod` file for minimum required Go version. There are currently no dependencies apart from the Go standard library. ## Running Set the environment variable to a comma-separated list of config files or pass the `-c` flag. ```shell env CONFIG_PATH=config-template.json go run . # OR go run . -c credentials.json,dynamic.json,response.json ```