Virtuelle Ausgang mit HTTPs

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Gast

    #1

    Virtuelle Ausgang mit HTTPs

    Hallo zusammen,

    Ich habe ein Loxone Miniserver 2.Gen; ich habe 2 Aktionen ich will mit ein HTTP Post anfrage machen. Aber, der Anbieter von diesem API erlaubt kein HTTP, nur HTTPS.
    Loxone versucht immer HTTP zu benutzen und ich kriege immer: "Method not allowed".

    Gibt es etwas ich machen konnte? Kann nicht glauben das ist noch in 2022 nicht möglich.

    Danke
  • svethi
    Lebende Foren Legende
    • 25.08.2015
    • 6313

    #2
    Bei einem HTTP VO macht Loxone genau das, was Du da einstellst. Benutzt Du https, wird es auch verwendet. Und da Du ja schreibst einen MSv2 zu haben, funktioniert https auch.
    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

    Kommentar

    • Gast

      #3
      Zitat von svethi
      Bei einem HTTP VO macht Loxone genau das, was Du da einstellst. Benutzt Du https, wird es auch verwendet. Und da Du ja schreibst einen MSv2 zu haben, funktioniert https auch.
      Danke für die Antwort.

      Vielleicht ist besser wenn ich einen konkretes Beispiel gebe.

      Hier ist die HTTP Anfrage durch cURL:
      Code:
      curl --request POST \
        --url https://api.nuki.io/smartlock/<SMARTLOCKID>/action/unlock \
        --header 'Authorization: Bearer <TOKEN>'​
      Und die Anfrage timeline:

      Code:
      * Preparing request to https://api.nuki.io/smartlock/<SMARTLOCKID>/action/unlock
      * Current time is 2022-09-03T09:58:41.923Z
      * Enable automatic URL encoding
      * Using HTTP 1.1
      * Disable SSL validation
      * 17 bytes stray data read before trying h2 connection
      * Connection 124 seems to be dead!
      * Closing connection 124
      * TLSv1.3 (IN), TLS alert, close notify (256):
      * TLSv1.3 (OUT), TLS alert, close notify (256):
      * Hostname in DNS cache was stale, zapped
      *   Trying 212.227.175.87:443...
      * Connected to api.nuki.io (212.227.175.87) port 443 (#125)
      * ALPN, offering http/1.1
      * TLSv1.3 (OUT), TLS handshake, Client hello (1):
      * TLSv1.3 (IN), TLS handshake, Server hello (2):
      * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
      * TLSv1.3 (IN), TLS handshake, Certificate (11):
      * TLSv1.3 (IN), TLS handshake, CERT verify (15):
      * TLSv1.3 (IN), TLS handshake, Finished (20):
      * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
      * TLSv1.3 (OUT), TLS handshake, Finished (20):
      * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
      * ALPN, server accepted to use http/1.1
      * Server certificate:
      *  subject: CN=*.nuki.io
      *  start date: Jun 29 00:00:00 2022 GMT
      *  expire date: Jul 30 23:59:59 2023 GMT
      *  issuer: C=US; O=DigiCert, Inc.; CN=RapidSSL Global TLS RSA4096 SHA256 2022 CA1
      *  SSL certificate verify ok.
      
      > POST /smartlock/<SMARTLOCKID>/action/unlock HTTP/1.1
      > Host: api.nuki.io
      > User-Agent: insomnia/2022.5.1
      > Authorization: Bearer <TOKEN>
      > Accept: */*
      > Content-Length: 0
      
      * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
      * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
      * old SSL session ID is stale, removing
      * Mark bundle as not supporting multiuse
      
      < HTTP/1.1 204 No Content
      < Server: nginx
      < Date: Sat, 03 Sep 2022 09:58:42 GMT
      < Content-Type: application/json
      < Connection: keep-alive
      < Accept-Ranges: bytes
      < Vary: Accept-Charset, Accept-Encoding, Accept-Language, Accept
      < Strict-Transport-Security: max-age=31536000; includeSubdomains;
      < X-Frame-Options: SAMEORIGIN
      < X-Content-Type-Options: nosniff
      < Referrer-Policy: strict-origin-when-cross-origin
      
      
      * Connection #125 to host api.nuki.io left intact​
      Ich habe mein Token und Lock ID gelöscht. Hier ist meine Virtuelle Ausgang in Loxone Config:
      Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Bildschirmfoto 2022-09-03 um 13.22.50.jpg Ansichten: 0 Größe: 125,8 KB ID: 356622
      Unter diese Ausgang ich habe 2 Befehle.
      • GET Befehl, der nur ein status zurück mir gibt, und es funktioniert:
      Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Bildschirmfoto 2022-09-03 um 13.24.14.jpg Ansichten: 0 Größe: 374,8 KB ID: 356623
      • POST Befehl, der ein Aktion startet (HTTP request timeline durch andere HTTP Client oben)
      Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Bildschirmfoto 2022-09-03 um 13.27.01.jpg Ansichten: 0 Größe: 383,7 KB ID: 356624

      In beide Situationen, ich brauche nur das "Authorization" Header, so in Loxone config bei HTTP header bei EIN/AUS steht nur diese Authorization Header, ohne weitere Headers.

      Habe schon hier gelandet: https://loxwiki.atlassian.net/wiki/s...6/Nuki+Web+API
      Ich glaube ich habe das gleiches Problem als in der Kommentare. POST ohne body uns Loxone benutzt ein GET statt POST. Habe auch die Losung dort versucht: \4 als body aber bekomme noch Method Not Allowed.

      Gibst es noch eine Idee was ich noch versuchen kann?
      Zuletzt geändert von Gast; 03.09.2022, 14:17.

      Kommentar

      • Gast

        #4
        Die Fehler war das die Testbefehl Funktion nicht funktioniert. Wenn ich mit einer Impulse versucht habe, hat es funktioniert. Aber Achtung, mann musst mit "\4" in body schreiben, dann kann Loxone eine leer Body Schiken als POST.

        Kommentar


        • MRU
          MRU kommentierte
          Kommentar bearbeiten
          Hallo, leider bekomme ich auch folgenden Fehler:

          "HTTP/1.1 501 Unsupported method ('GET')\r\nDate: Tue, 20 Dec 2022 16:14:54 GMT\r\nServer: BaseHTTP/0.6 Python/3.4.3\r\nContent-Type: text/html;charset=utf-8\r\nContent-Length: 473\r\nConnection: close"

          Mit "\4" sendet Loxone immer noch ein GET..

          Wie hast du das gelöst?
      • Christian Fenzl
        Lebende Foren Legende
        • 31.08.2015
        • 11235

        #5
        Interessante Feststellung. Wenn Loxone trotz POST bei leerem Body ein GET schickt, würde ich das als Bug einschätzen. Du solltest das bei Loxone melden. Es lässt sich ja auch einfach reproduzieren.
        Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

        Kommentar

        Lädt...