Categorygithub.com/tukaelu/sesame-client-go
repositorypackage
0.1.0
Repository: https://github.com/tukaelu/sesame-client-go.git
Documentation: pkg.go.dev

# README

Sesame API client for Go

ci Go Report Card

sesame-client-go is the unofficial Sesame API client for Go programming language.

This client supports the version 3 API.

Installation

go get -u github.com/tukaelu/sesame-client-go

Example


func main() {
    ctx := context.Background()
    cli := sesame.NewClient("YOUR_API_KEY")

    // Get Sesame list
    devices, err := cli.GetList(ctx)
    if err != nil {
        log.Fatal(err)
        return
    }

    // Get Sesame status
    stat, err := api.GetStatus(ctx, "DEVICE_ID")
    if err != nil {
        log.Fatal(err)
        return
    }
    fmt.Printf("Battery: %d%", stat.Battery) // Battery: 80%

    // Control Sesame
    ctrl, err := api.Control(ctx, "DEVICE_ID", "lock")
    if err != nil {
        log.Fatal(err)
        return
    }
    fmt.Printf("Task ID: %s", ctrl.TaskID) // Task ID: 01234567-890a-bcde-f012-34567890abcd

    // Query Execution Result
    result, err := api.GetExecutionResult(ctx, ctrl.TaskID)
    if err != nil {
        log.Fatal(err)
        return
    }
    fmt.Printf("Status: %s", ctrl.Status) // Status: processing
}