Curl Befehl an Home Assistant senden (VQ)

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • GeoPod
    MS Profi
    • 20.01.2021
    • 517

    #1

    Curl Befehl an Home Assistant senden (VQ)

    Hallo geschätztes Forum,

    ich bin mittlerweile am verzweifeln und mühe mich und ChatGTP seit 1-2 Tagen wegen einem Curl Befehl an mein Home Assistant. Ich drehe mich nur noch im Kreis.

    Es geht um folgendes:

    Über Home Assistant habe ich unser ID.4 eingebunden. Dies funktioniert wunderbar und ich kann die Daten aus Home Assistant auch an Loxone übergeben.

    Nun möchte ich gerne aus Loxone heraus die Ladegrenze vorgeben.

    Dazu habe ich folgenden Curl Befehl:


    Code:
    curl -X POST "http://192.168.0.245:8123/api/services/number/set_value" \
    -H "Authorization: Bearer Langlebige Zugriffstoken" \
    -H "Content-Type: application/json" \
    -d '{"entity_id":"number.FahrzeugVIN_battery_target_charge_level","value":70}'
    Hier exemplarisch mit dem Wert 70.

    Über die Shell wird der Curl Befehl ohne Probleme ausgeführt. Wenn ich dies über Loxone mache kommt der Befehl nicht an. Könnt ihr mir vielleicht sagen was ich wo und wie eingeben muß?

    Klicke auf die Grafik für eine vergrößerte Ansicht  Name: image.png Ansichten: 0 Größe: 29,9 KB ID: 465711

    Klicke auf die Grafik für eine vergrößerte Ansicht  Name: image.png Ansichten: 0 Größe: 69,5 KB ID: 465713



    Klicke auf die Grafik für eine vergrößerte Ansicht  Name: image.png Ansichten: 0 Größe: 57,2 KB ID: 465712
    Über jede Hilfestellung wäre ich euch sehr dankbar.
    ​​
  • SPS-Guru
    Extension Master
    • 27.12.2022
    • 127

    #2
    Vielleicht habe ich es ja übersehen aber bei "HTTP body bei EIN" müsste wohl <v> stehen.

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 73
Größe: 30,3 KB
ID: 465720

    Kommentar

    • GeoPod
      MS Profi
      • 20.01.2021
      • 517

      #3
      Dank dir habe ich eingefügt.

      Ich bekomme leider als response folgendes:

      7581 17:48:21.041 Familie XXXX Response 192.168.0.245:8123 /api/services/number/set_value HTTP/1.1 401 Unauthorized\r\nContent-Type: text/plain; charset=utf-8\r\nReferrer-Policy: no-referrer\r\nX-Content-Type-Options: nosniff\r\nServer: \r\nX-Frame-Options: SAMEORIGIN\r\nContent-Length: 17\r\nDate: Thu, 24 Jul 2025 15:48:19 GMT\r\nConnection: close

      Gesendet wurde das hier:

      7580 17:48:20.970 Familie XXXX Request 192.168.0.245:8123 /api/services/number/set_value POST /api/services/number/set_value HTTP/1.1\r\nHost: 192.168.0.245:8123\r\nUser-Agent: [en]\r\nContent-Length: 3\r\nContent-Type: application/json; charset=utf-8\r\nConnection: close\r\nAuthorization: Bearer Langlebige Zugriffstoken

      Kommentar

      • Prof.Mobilux
        Supermoderator
        • 25.08.2015
        • 5079

        #4
        Ich habe es selbst nie probiert....

        Trenne die beiden Header mal mit einem "\n" oder mit einem "\r\n":

        Code:
        Authorization: Bearer Langlebige Zugriffstoken\r\nContent-Type: application/json
        Name-Value Pairs:
        Each header consists of a header name (case-insensitive) followed by a colon, then the header value.
        Separation:
        Headers are separated from each other by a CRLF (carriage return and line feed).​
        Und daran denken, dass Header case-sensitiv sind.

        Wo dann die zu übertragenen Daten herkommen sollen (also curl-option -d) erschließt sich mir aus der Doku von Loxone nicht. Die Online-Doku schweigt sich gleich ganz zu HTTP Ausgängen aus Früher gab es ein extra Feld "HTTP POST Command for ON" - siehe hier: https://www.loxone.com/enen/question...t-not-working/

        Das gibt es aber nicht mehr.... Und Loxone hat auf die Supportanfrage damals auch nie geantwortet. Ob das also so richtig ist, wie Du das machst, weiß ich nicht.
        🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


        LoxBerry - Beyond the Limits

        Kommentar

        • SPS-Guru
          Extension Master
          • 27.12.2022
          • 127

          #5
          Andere Anwendung aber wie oben erwähnt.

          Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 70
Größe: 8,2 KB
ID: 465727

          Kommentar

          • Jan W.
            Lox Guru
            • 30.08.2015
            • 1496

            #6
            In Beitrag 3 (gesendet wurde das hier ...) sieht man nicht den "HTTP Body", wo der Platzhalter <v> durch das JSON-Objekt {"entity_id":"number.FahrzeugVIN_battery_target_ch arge_level","value":70} ersetzt worden ist. Die Content-Length sollte dann mehr als 3 Zeichen sein. In Deinen Outputs kann man nicht genau erkennen, welche Teile durch konkrete Werte ersetzt werden müssen (ist number.FahrzeugVIN bzw. number.VIN ein Platzhalter für die konkrete VIN?).

            Am Besten ist es wahrscheinlich, den HTTP Output von Curl und vom MS via Wireshark mitzuschneiden und zu vergleichen. Vielleicht fehlt nur ein Zeichen oder ist zuviel?
            Miniserver v14.5.12.7, 2x Ext., 2x Relay Ext., 2x Dimmer Ext., DMX Ext., 1-Wire Ext., Gira KNX Tastsensor 3 Komfort, Gira KNX Präsenzmelder, Fenster- und Türkontakte, Loxone Regen- und Windsensor, Gira Dual Q Rauchmelder vernetzt, 1x Relais-Modul
            Loxberry: SmartMeter, MS Backup, CamConnect, Weather4Lox
            Lüftung: Helios KWL EC 370W ET mit Modbus TCP - via Pico-C
            Heizung: Stiebel Eltron WPF 5 cool (Sole-Wasser WP) mit ISG, FB-Heizung mit 18 Kreisen, Erdsonde - via modbus/TCP
            Node-RED: IKEA Tradfri

            Kommentar

            • GeoPod
              MS Profi
              • 20.01.2021
              • 517

              #7
              Dank dir vielmals Jan W., SPS-Guru und Prof.Mobilux.
              Ich denke es lag wirklich an der Trennung: \r\n und an dem fehlenden <v>.

              Es funktioniert jetzt und ich kann per Loxone die Ladegerenze (über Home Assistant) an den ID.4 weitergeben.

              Kommentar

              Lädt...