Ankündigung

Einklappen
Keine Ankündigung bisher.

Gira HS4 Website abfragen

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

    Gira HS4 Website abfragen

    Hallo zusammen,

    wir haben uns ganz frisch eine Klimaanlage von Samsung installiert, die sich mit der App SmartThings steuern lässt. Über die Developer-Seite von SmartThings habe ich mir einen Token generiert, mit dem ich die Anlage abfragen bzw. steuern kann (per Postman funktioniert es soweit schonmal.

    Leider bin ich ein Neuling was den Gira HS4 angeht. Mehr als eine einfache QC Visualisierung nutze ich noch nicht wirklich.

    Mein Versuch ist also folgender:

    1. Ich triggere eine Kommunikationsadresse per Logik.

    2. Unter Web-Seiten/IP-Geräte habe ich mir zwei Abfragen zusammengebastelt:
    Bezeichnung: Klimaanlage Wohnzimmer einschalten
    IP/Host-Adresse: https://api.smartthings.com
    Port: 443
    Telegramm Typ: TCP

    und unter Senden die Abfrage zusammengebaut:
    POST /v1/devices/<hier steht eigentlich meine deviceID>/commands HTTP/1.1
    Host: api.smartthings.com
    Authorization: Bearer <hier steht eigentlich mein Token>
    Content-Type: application/json
    Content-Length: 201 <-- Habe ich erstmal aus Postman so übernommen, dort stehen noch Kommentare mit dabei, sollte deswegen eigentlich eher zu hoch als zu niedrig sein...
    [{"component":"main", "capability":"switch","command":"on"}]

    3. Auf der DebugSeite sehe ich nun folgendes, aber irgendwie fehlt mir da schon ein bisschen vom Request.



    Vielen Dank im Voraus.

    MFG Frank
    Angehängte Dateien
    You do not have permission to view this gallery.
    This gallery has 3 photos.

    #2
    Ich bin bisher leider nur einen kleinen Schritt weiter gekommen (wahrscheinlich hat das "https://" in dem Hostnamen zu entfernen schonmal einen Schritt weiter geholfen). Ich habe an dem Request und den Headern noch ein wenig rumgespielt, aber der Request bleibt anscheinend weiterhin abgeschnitten.

    Ich erhalte nun aber mittlerweile ein Receive vom Server:
    HTTP/1.1 400 Bad Request
    Server: awselb/2.0
    Date: Wed, 03 Aug 2022 09:29:56 GMT
    Content-Type: text/html
    Content-Length: 220
    Connection: close

    <html>
    <head><title>400 The plain HTTP request wa
    (Gesamt: 0) (Work: 0) (Typ: Liste) (OK: 1)

    Anscheinend muss ich jetzt weiterhin versuchen meinen gesendeten Request irgendwie vollständig zu bekommen. Content-Length zu erhöhen hat nichts bewirkt wie es aussieht.

    Über jegliche Hilfe wäre ich weiterhin sehr dankbar.

    Kommentar


      #3
      Alle meine Versuche haben mir noch keinen Erfolg gebracht. In der Logik habe ich die Triggerung auf einen Telegrammgenerator gewechselt. Auch von Webseite abfragen auf IP-Telegramm versenden umstellen hat keinen Unterschied gemacht. Telegrammtyp habe ich mittlerweile von TCP auf TCP/TLS gewechselt.

      Auch mal einen GET Request über die API probiert. Selber Effekt.

      Mein Request bleibt "abgehackt".

      Für jeden Tipp wäre ich dankbar.


      MFG Frank
      Zuletzt geändert von MilitanterAffe; 14.08.2022, 19:23.

      Kommentar


        #4
        Hast du irgendwo einen Webserver mit php laufen ? Wenn ja, dann kannst du meine Lib verwenden und einen wrapper bauen, worüber du einfache requests per HS senden kannst.

        https://github.com/sipiyou/SmartThings-php

        Ansonsten verkauf den HS und steig auf Edomi um.

        https://knx-user-forum.de/forum/proj...odule-19002620

        Kommentar


          #5
          Ich habe noch eine HomeAssistant-Instanz mit Node-Red am laufen, auf weitere Systeme würde ich gerne verzichten. Der HomeAssistant ist schon komplett überfrachtet mit allem und den HomeServer würde ich gerne für die funktionalen Dinge nutzen. Im HA funktionieren auch die Requests wie im Postman, wie zum Beispiel Anlage an und den Gerätestatus.

          Deswegen verstehe ich nicht warum der HomeServer mir nicht erlaubt einen vernünftigen Request zu versenden. Ich möchte ja nur eine Steuerung über den QuadClient einfügen und wenn das klappt, dann natürlich auch den Status vom Gerät erhalten und anzeigen.

          Kommentar


            #6
            Ich hab es interessehalber mal nachgebaut - mit nem anderen Service. Was hast du bereits korrigiert:
            • Host ohne https
            • TCP/TLS ist korrekt

            Was habe ich anders gemacht:
            • Body ohne Array-Wrapper: Die eckigen Klammern nicht gesetzt.
            • Content-Length: Einfach die Zeichen gezählt und den korrekten Wert eingetragen
            Bei mir geht der Post-Request.

            Kommentar


              #7
              Host habe ich weiterhin ohne https und TCP/TLS gewählt.

              Bei dem Content habe ich jetzt mal die Klammern entfernt und die Content-Length auf 59 Zeichen gesetzt.

              Jetzt habe ich mal einen POST Request über eine Test-API gesendet: https://reqbin.com/ kannte ich vorher noch nicht. Dort klappt die Abfrage auch über Postman, über den Homeserver aber nicht. Das sieht mir irgendwie alles nach einem grundlegenden Problem aus.
              Angehängte Dateien

              Kommentar


                #8
                HTTP1.1 kommt mit Leerzeichen hinter den Pfad. erst danach CRLF. Hattest du oben richtig.
                Greenshot 2022-08-16 08.28.48.png Greenshot 2022-08-16 08.30.25.png
                Zuletzt geändert von SvenB; 16.08.2022, 07:32.

                Kommentar


                  #9
                  Ich habe die Requesteinstellung zurückgesetzt, HTTP/1.1 steht jetzt wieder hinter der URL, dennoch bleibt alles gleich…

                  Kommentar


                    #10
                    Zeig bitte mal genau den Body, den du sendest.
                    HS4.11?

                    Kommentar


                      #11
                      MilitanterAffe bzw andere User:
                      stehe vor der gleichen Herausforderung mit Samsung Klima in Smartthings und Homeserver . Hat diese Kombi wer zum laufen gebracht und kann mir dabei helfen?

                      Kommentar

                      Lädt...
                      X