Curl Befehle für PEAKnx Controlmicro Panel

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • tokylo
    Smart Home'r
    • 07.04.2016
    • 31

    #1

    Curl Befehle für PEAKnx Controlmicro Panel

    Hallo zusammen

    Ich habe ein PEAKnx Controlmicro Panel für die Loxone Visu gekauft.
    Leider habe ich es nicht geschafft die integrierte RGB-LED Beleuchtung über Virtueller Ausgangs-Befehle (HTTP POST) zu schalten.
    Die LED Beleuchtung kann ich ausschalten, aber nicht einschalten. Der Befehl für die RGB Farben funktioniert leider auch nicht. Ich habe viele Varianten probiert, hat leider nicht funktioniert.
    Die Luftqualität kann ich auslesen, dass funktioniert.

    Auf dem PEAKnx Panel kann ich die Befehle über http://192.168.x.x:31521/swagger/index.html ansehen.

    Curl Befehl LED RGB
    curl -X POST "http://192.168.x.x:31521/api/v1/panel/led/color" -H "accept: */*" -H "Content-Type: application/json-patch+json" -d "{"r":50,"g":0,"b":0}"

    Adresse: http://192.168.x.x:31521
    Verbindung nach schließen: EIN
    Befehl bei EIN: /api/v1/panel/led/color
    HTTP-Erweiterung bei EIN: Content-Type: application/json
    HTTP-Post-Befehl bei EIN: {"r":7,"g":10,"b":30}
    HTTP Methode bei EIN: POST

    Curl Befehl LED Ein
    curl -X POST "http://192.168.x.x:31521/api/v1/panel/led/switch?isOn=true" -H "accept: */*" -d ""

    Adresse: http://192.168.x.x:31521
    Verbindung nach schließen: EIN
    Befehl bei EIN: /api/v1/panel/led/switch
    HTTP-Erweiterung bei EIN:
    HTTP-Post-Befehl bei EIN: ?isOn=true
    HTTP Methode bei EIN: POST

    Curl Befehl LED Aus (dieser Befehl funktioniert, aber die LED schaltet immer Aus, egal ober true oder false im Befehl steht)
    curl -X POST "http://192.168.x.x:31521/api/v1/panel/led/switch?isOn=false" -H "accept: */*" -d ""

    Adresse: http://192.168.x.x:31521
    Verbindung nach schließen: EIN
    Befehl bei EIN: /api/v1/panel/led/switch
    HTTP-Erweiterung bei EIN:
    HTTP-Post-Befehl bei EIN: ?isOn=false
    HTTP Methode bei EIN: POST

    Kennt sich jemand mit Curl aus und hat eine Idee was ich noch versuchen könnte?
    Zuletzt geändert von tokylo; 11.12.2021, 20:34.
  • Christian Fenzl
    Lebende Foren Legende
    • 31.08.2015
    • 11238

    #2
    Curl Befehl LED RGB
    curl -X POST "http://192.168.x.x:31521/api/v1/panel/led/color" -H "accept: */*" -H "Content-Type: application/json-patch+json" -d "{"r":50,"g":0,"b":0}"

    Adresse: http://192.168.x.x:31521
    Verbindung nach schließen: EIN
    Befehl bei EIN: /api/v1/panel/led/color
    HTTP-Erweiterung bei EIN: Content-Type: application/json
    HTTP-Post-Befehl bei EIN: {"r":7,"g":10,"b":30}
    HTTP Methode bei EIN: POST
    Das schaut im Grunde richtig aus.
    Ergänze mal die HTTP-Erweiterung auf
    Code:
    accept: */*\nContent-Type: application/json
    dann wäre es identisch.
    Schau, dass du keinen Copy/Paste F**ckup drin hast - falsche führende oder abschließende Leerzeichen zum Beispiel.

    Curl Befehl LED Ein
    curl -X POST "http://192.168.x.x:31521/api/v1/panel/led/switch?isOn=true" -H "accept: */*" -d ""

    Adresse: http://192.168.x.x:31521
    Verbindung nach schließen: EIN
    Befehl bei EIN: /api/v1/panel/led/switch
    HTTP-Erweiterung bei EIN:
    HTTP-Post-Befehl bei EIN: ?isOn=true
    HTTP Methode bei EIN: POST
    In diesem Block ist HTTP-Post-Befehl bei EIN überflüssig weil falsch. Der curl-Befehl überträgt keine Daten (-d "").
    HTTP-Erweiterung bei EIN wäre richtigerweise accept: */*

    lg, Christian
    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

    Kommentar

    • tokylo
      Smart Home'r
      • 07.04.2016
      • 31

      #3
      Hallo Christian

      Vielen Dank für deine Inputs. Nach einigen weiteren Versuchen habe ich es endlich geschafft :-) Falls es jemand benötigt, hier die Einstellungen:

      Curl Befehl LED RGB
      curl -X POST "http://192.168.x.x:31521/api/v1/panel/led/color" -H "accept: */*" -H "Content-Type: application/json-patch+json" -d "{"r":50,"g":0,"b":0}"

      Adresse: http://192.168.x.x:31521
      Verbindung nach schließen: EIN
      Befehl bei EIN: /api/v1/panel/led/color
      HTTP-Erweiterung bei EIN: Content-Type: application/json
      HTTP-Post-Befehl bei EIN: {"r":27,"g":10,"b":30} accept: */*
      HTTP Methode bei EIN: POST

      Curl Befehl LED Ein
      curl -X POST "http://192.168.x.x:31521/api/v1/panel/led/switch?isOn=true" -H "accept: */*" -d ""

      Adresse: http://192.168.x.x:31521
      Verbindung nach schließen: EIN
      Befehl bei EIN: /api/v1/panel/led/switch?isOn=true
      HTTP-Erweiterung bei EIN:
      HTTP-Post-Befehl bei EIN: accept: */*
      HTTP Methode bei EIN: POST

      Curl Befehl LED Aus
      curl -X POST "http://192.168.x.x:31521/api/v1/panel/led/switch?isOn=false" -H "accept: */*" -d ""

      Adresse: http://192.168.x.x:31521
      Verbindung nach schließen: EIN
      Befehl bei EIN: /api/v1/panel/led/switch?isOn=false
      HTTP-Erweiterung bei EIN:
      HTTP-Post-Befehl bei EIN: accept: */*
      HTTP Methode bei EIN: POST

      gruss Tokylo
      Zuletzt geändert von tokylo; 14.12.2021, 18:19.

      Kommentar

      • Christian Fenzl
        Lebende Foren Legende
        • 31.08.2015
        • 11238

        #4
        Das accept im POST-Befehl ist sicher falsch. Das ist ein HTTP-Header und gehört deswegen in die HTTP-Erweiterung.
        Dass es so funktioniert, ist verwunderlich (Jeder Json-Parser würde aufschlagen), aber wenn es so geht, dann greif es nicht mehr an! 😀
        Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

        Kommentar


        • tokylo
          tokylo kommentierte
          Kommentar bearbeiten
          Das accept in der HTTP-Erweiterung hatte nicht funktioniert, danach versuchte ich unter HTTP-POST-Befehl und es funktionierte. Das ganze ist mir auch nicht logisch und hat einiges an Zeit benötigt.
      Lädt...