Homebridge API mit curl ansteuern "Unauthorized","statusCode":401

  • Über homebridge-ip:port/swagger ist die Swagger UI für die Homebridge UI erreichbar.

    Ich möchte nun ohne die Swagger UI diese API nutzen. Beispielweise möchte ich mir eine Liste der Accessories ausgeben lassen:


    Zitat

    Accessories

    GET /api/accessories Return a list of Homebridge accessories.


    Als Befehl wird mir folgendes angeboten:


    Code
    curl -X 'GET' \  'http://192.168.178.34:8087/api/accessories' \  -H 'accept: */*'


    Sieht auch soweit korrekt aus. Wenn ich das nun aber auf der Maschine ausführe, erhalte ich

    {"message":"Unauthorized","statusCode":401}


    Wie kann ich mich mit dem curl Befehl gleichzeitig authorisieren?


    Code
    curl -X 'GET' \  'http://192.168.178.34:8087/api/accessories' \  -H 'accept: */*' --header "authorization: 081-15-123"

    will auch nicht, gleiche Fehlermeldung.



    Edit: Anscheinend geht 'GET' nur in der Swagger UI, nachdem man sich da authorisiert hat. Außerdem der Swagger UI geht nur 'PUT'. Kann das jemand so bestätigen?

  • Das hast du gelesen?

    Zitat

    Homebridge must be running in "insecure" mode to access the accessory list.

  • Das hast du gelesen?

    Insecure Mode ist aktiv

  • Wie kann ich mich mit dem curl Befehl gleichzeitig authorisieren?

    Du musst den Login und das Password von homebridge-config-ui-x nehmen, also das Zeugs, dass du verwendest, um dich auf die Weboberfläche einzuloggen.


    curl -k -X 'POST' 'http://192.168.178.34:8087/api/auth/login' -H 'accept: */*' -H 'Content-Type: application/json' -d '{"username": "admin","password": "geheim2"}'


    Das gibt dir ein access_token, dass du dann verwenden kannst, um das zu machen, was du machen willst. Ich habe es nicht weiter ausprobiert, wie das dann geht mit diesem access_token.