Hilfe bei Script für API Schnittstelle (Feuersoftware)

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

MichaelN
Beiträge: 9561
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Hilfe bei Script für API Schnittstelle (Feuersoftware)

Beitrag von MichaelN » 16.09.2021, 20:44

Die kannst Du auch patchen:
siehe https://github.com/jens-maus/RaspberryM ... tUse.patch
per SSH auf die CCU einloggen,
die Dateien www/rega/pages/msg/editScript.htm und www/webui/webui.js suchen
und jeweils 1 Zeile ändern
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

jacksson
Beiträge: 20
Registriert: 31.03.2016, 12:56

Re: Hilfe bei Script für API Schnittstelle (Feuersoftware)

Beitrag von jacksson » 17.09.2021, 17:31

Ich habe mit hilfe eines Online Curl Tools ein paar versuche gemacht (ohne die string Befehle) aber leider hat es mit dem Code von euch nicht funktioniert

Ich habe so lang experimentiert bis tatsächlich ein Alarm ausgelöst wurde :D

das ist der Code der Funktioniert hat:

Code: Alles auswählen

curl -XPOST -H 'Authorization: Bearer 123456' -H 'Accept: application/json' -H "Content-type: application/json" -d '{
  "Start": "2021-09-17T16:13:05.546Z",
  "Status": "new",
  "AlarmEnabled": true,
  "Keyword": "Einsatz Alarm",
  "Address": {
    "Street": "TestStrasse",
    "HouseNumber": "16",
    "City": "Testort",
  },
  "Facts": "weitere Informationen folgen!",
  "Ric": "1234",
  "Properties": [ \ 
     { \ 
       "Key": "Funkmeldeempfänger hat ausgelöst", \ 
       "Value": "" \ 
     } \ 
   ], \ 
}' 'https://connectapi.feuersoftware.com/interfaces/public/operation'
Ich habe die CCU auch nach der Anleitung gepatcht aber wenn ich den folgenden Code versuche im Skript zu senden passiert einfach nichts :roll:

Code: Alles auswählen

string CUXD_Device = "CUxD.CUX2801001:1";
string Datum = system.Date("%F %T");
string Befehl = ^curl -XPOST -H 'Authorization: Bearer 123456' -H 'Accept: application/json' -H "Content-type: application/json" -d '{
  "Start": "^#Datum#^", \
  "Status": "new",
  "AlarmEnabled": true,
  "Keyword": "Einsatz Alarm",
  "Address": {
    "Street": "TestStrasse",
    "HouseNumber": "16",
    "City": "Testort",
  },
  "Facts": "weitere Informationen folgen!",
  "Ric": "1234",
  "Properties": [ \ 
     { \ 
       "Key": "Funkmeldeempfänger hat ausgelöst", \ 
       "Value": "" \ 
     } \ 
   ], \ 
 }' 'https://connectapi.feuersoftware.com/interfaces/public/operation'
 ^;

string rueck;
dom.GetObject(CUXD_Device#".CMD_SETS").State(Befehl);
dom.GetObject(CUXD_Device#".CMD_QUERY_RET").State(1);
rueck = dom.GetObject(CUXD_Device#".CMD_RETS").State();
hat noch jemand ne Idee?

MichaelN
Beiträge: 9561
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Hilfe bei Script für API Schnittstelle (Feuersoftware)

Beitrag von MichaelN » 17.09.2021, 17:52

Mach noch ein

Code: Alles auswählen

WriteLine (rueck) ;
ans Ende und lass es unter Skript testen ausführen
Gibt es eine Meldung?
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

MichaelN
Beiträge: 9561
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Hilfe bei Script für API Schnittstelle (Feuersoftware)

Beitrag von MichaelN » 17.09.2021, 17:54

Und setz erstmal das Datum wie im Beispiel ein. Vielleicht muss es genau so formatiert sein.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

jacksson
Beiträge: 20
Registriert: 31.03.2016, 12:56

Re: Hilfe bei Script für API Schnittstelle (Feuersoftware)

Beitrag von jacksson » 17.09.2021, 18:06

Das ist die Antwort:

{"Message":"Die Anforderung ist ungültig.","ModelState":{"model":["Unable to translate bytes [E4] at index 328 from specified code page to Unicode."]}}


Das Zeitformat funktioniert so, hatte ich in dem Onlinetool auch getestet.

MichaelN
Beiträge: 9561
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Hilfe bei Script für API Schnittstelle (Feuersoftware)

Beitrag von MichaelN » 17.09.2021, 18:09

Was ist denn das 328. Zeichen? Ein ö? Versuch es mal ohne Umlaute.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

jacksson
Beiträge: 20
Registriert: 31.03.2016, 12:56

Re: Hilfe bei Script für API Schnittstelle (Feuersoftware)

Beitrag von jacksson » 17.09.2021, 18:17

jetzt kommt

{"Message":"Die Autorisierung wurde für diese Anforderung verweigert."}

Die API akzeptiert nur TLS 1.1 oder TLS1.2
kann es daran liegen?

MichaelN
Beiträge: 9561
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Hilfe bei Script für API Schnittstelle (Feuersoftware)

Beitrag von MichaelN » 17.09.2021, 18:21

Keine Ahnung. Da müssen wieder die Linuxer ran :mrgreen:
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

jacksson
Beiträge: 20
Registriert: 31.03.2016, 12:56

Re: Hilfe bei Script für API Schnittstelle (Feuersoftware)

Beitrag von jacksson » 17.09.2021, 18:48

Wir haben es geschafft!!!

Es funktioniert!
(Ich hatte einen Fehler im Token)

Besten Dank an alle Beteiligten! :D

Antworten

Zurück zu „HomeMatic allgemein“