von RaspberryMatic einen POST befehl an Homeassistant schicken

Open Source Hausautomation

Moderator: Co-Administratoren

Günni
Beiträge: 231
Registriert: 03.10.2013, 00:20
Wohnort: Nordstemmen
Danksagung erhalten: 1 Mal

von RaspberryMatic einen POST befehl an Homeassistant schicken

Beitrag von Günni » 21.07.2023, 00:16

Hallo, ich möchte ein POST Befehl, wenn ich ein Gerät in der Homematic einschalte an Homeassistant schicken.
bekomme das aber nicht hin.
Habe das mit diesem Skipt versucht.

/usr/local/addons/cuxd/curl -X POST -H "Authorization:Bearer JhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjOTNhZjY3M2RiZTg0MjkyOTA4MmI1NzJlNzgyYjVhOCIsImlhdCI6MTY4OTI1NTEwOSwiZXhwIjoyMDA0NjE1MTA5fQ.5xHp6Q-bguUAp2cDETsMzdWVmELXNdWFYi3bB1-6tqc" -H "Content-Type: application/json" -d "{\"entity_id\": \"automation.nicht_zu_hause\"}" http://192.168.2.24:8123/API/services/h ... nt/turn_on

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - "#url);

Bekomme aber diese Antwort.

Error 1 at row 1 col 6 near ^usr/local/addons/cuxd/curl -X POST -H "Authorization:Bearer eyJhbGciOiJIUzI1NiIs
Parse following code failed:
/usr/local/addons/cuxd/curl -X POST -H "Authorization:Bearer JhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjOTNhZjY3M2RiZTg0MjkyOTA4MmI1NzJlNzgyYjVhOCIsImlhdCI6MTY4OTI1NTEwOSwiZXhwIjoyMDA0NjE1MTA5fQ.5xHp6Q-bguUAp2cDETsMzdWVmELXNdWFYi3bB1-6tqc" -H "Content-Type: application/json" -d "{\"entity_id\": \"automation.nicht_zu_hause\"}" http://192.168.2.24:8123/API/services/h ... nt/turn_on

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - "#url);

Schön wenn mir da jemand helfen könnte
Danke
Gruß Günni

Günni
Beiträge: 231
Registriert: 03.10.2013, 00:20
Wohnort: Nordstemmen
Danksagung erhalten: 1 Mal

Re: von RaspberryMatic einen POST befehl an Homeassistant schicken

Beitrag von Günni » 21.07.2023, 00:33

jetzt noch mal :mrgreen:
Hallo, ich möchte ein POST Befehl, wenn ich ein Gerät in der Homematic einschalte an Homeassistant schicken.
bekomme das aber nicht hin.
Habe das mit diesem Skipt versucht.

Code: Alles auswählen

/usr/local/addons/cuxd/curl -X POST -H "Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjOTNhZjY3M2RiZTg0MjkyOTA4MmI1NzJlNzgyYjVhOCIsImlhdCI6MTY4OTI1NTEwOSwiZXhwIjoyMDA0NjE1MTA5fQ.5xHp6Q-bguUAp2cDETsMzdWVmELXNdWFYi3bB1-6tqc" -H "Content-Type: application/json" -d "{\"entity_id\": \"automation.nicht_zu_hause\"}" http://192.168.2.24:8123/API/services/homeassistant/turn_on

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - "#url);
Bekomme aber diese Antwort.

Code: Alles auswählen

Error 1 at row 1 col 6 near ^usr/local/addons/cuxd/curl -X POST -H "Authorization:Bearer eyJhbGciOiJIUzI1NiIs
Parse following code failed:
/usr/local/addons/cuxd/curl -X POST -H "Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjOTNhZjY3M2RiZTg0MjkyOTA4MmI1NzJlNzgyYjVhOCIsImlhdCI6MTY4OTI1NTEwOSwiZXhwIjoyMDA0NjE1MTA5fQ.5xHp6Q-bguUAp2cDETsMzdWVmELXNdWFYi3bB1-6tqc" -H "Content-Type: application/json" -d "{\"entity_id\": \"automation.nicht_zu_hause\"}" http://192.168.2.24:8123/API/services/homeassistant/turn_on/

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - "#url);
Schön wenn mir da jemand helfen könnte
Danke
Gruß Günni

Tyfys
Beiträge: 551
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 125 Mal

Re: von RaspberryMatic einen POST befehl an Homeassistant schicken

Beitrag von Tyfys » 21.07.2023, 07:21

Die Skriptvaiable url wurde auch nicht definiert.

Falls der Rest richtig ist, sollte es so aussehen:

Code: Alles auswählen

var url=
'/usr/local/addons/cuxd/curl -X POST -H "Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjOTNhZjY3M2RiZTg0MjkyOTA4MmI1NzJlNzgyYjVhOCIsImlhdCI6MTY4OTI1NTEwOSwiZXhwIjoyMDA0NjE1MTA5fQ.5xHp6Q-bguUAp2cDETsMzdWVmELXNdWFYi3bB1-6tqc" -H "Content-Type: application/json" -d "{\"entity_id\": \"automation.nicht_zu_hause\"}" http://192.168.2.24:8123/API/services/homeassistant/turn_on';

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - "#url);
Gruß
Harry

jp112sdl
Beiträge: 12116
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 849 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Re: von RaspberryMatic einen POST befehl an Homeassistant schicken

Beitrag von jp112sdl » 21.07.2023, 08:28

Tyfys hat geschrieben:
21.07.2023, 07:21
Falls der Rest richtig ist,
Eher nicht... nun bekommt wget den curl als Parameter ;)
Wie wäre es so?

Code: Alles auswählen

var url= ' -X POST -H "Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjOTNhZjY3M2RiZTg0MjkyOTA4MmI1NzJlNzgyYjVhOCIsImlhdCI6MTY4OTI1NTEwOSwiZXhwIjoyMDA0NjE1MTA5fQ.5xHp6Q-bguUAp2cDETsMzdWVmELXNdWFYi3bB1-6tqc" -H "Content-Type: application/json" -d "{\"entity_id\": \"automation.nicht_zu_hause\"}" http://192.168.2.24:8123/API/services/homeassistant/turn_on';

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl "#url);

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Tyfys
Beiträge: 551
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 125 Mal

Re: von RaspberryMatic einen POST befehl an Homeassistant schicken

Beitrag von Tyfys » 21.07.2023, 10:33

jp112sdl hat geschrieben:
21.07.2023, 08:28
Eher nicht... nun bekommt wget den curl als Parameter
oh man
Ist mir gar nicht aufgefallen, dass curl auch mit im url-String war.
Man liest halt immer nur was man (ich) lesen will :mrgreen:
Gruß
Harry

danielperna84
Beiträge: 150
Registriert: 04.12.2019, 22:10
Hat sich bedankt: 4 Mal
Danksagung erhalten: 38 Mal

Re: von RaspberryMatic einen POST befehl an Homeassistant schicken

Beitrag von danielperna84 » 21.07.2023, 15:27

Auch auf die Gefahr hin eine blöde Frage zu stellen: warum dieser Umweg? Ergibt für mich eigentlich nur Sinn, wenn man RaspberryMatic und Home Assistant bewusst NICHT miteinander verheiratet. :?

Günni
Beiträge: 231
Registriert: 03.10.2013, 00:20
Wohnort: Nordstemmen
Danksagung erhalten: 1 Mal

Re: von RaspberryMatic einen POST befehl an Homeassistant schicken

Beitrag von Günni » 21.07.2023, 18:29

Hallo, erst mal Danke für die Antworten. Bin noch am machen mit dem POST Befehl. Noch geht es nicht.
Ja so weit bin ich noch nicht das ich meinen RaspberryMatic mit HomeAssistant verbunden habe.
Eigentlich möchte ich beim verlassen der Wohnung, Blink Kameras Aktievieren . Homematic kann das nicht. HomeAssistant schon.
Gruß Günni

danielperna84
Beiträge: 150
Registriert: 04.12.2019, 22:10
Hat sich bedankt: 4 Mal
Danksagung erhalten: 38 Mal

Re: von RaspberryMatic einen POST befehl an Homeassistant schicken

Beitrag von danielperna84 » 21.07.2023, 22:53

Günni hat geschrieben:
21.07.2023, 18:29
Hallo, erst mal Danke für die Antworten. Bin noch am machen mit dem POST Befehl. Noch geht es nicht.
Ja so weit bin ich noch nicht das ich meinen RaspberryMatic mit HomeAssistant verbunden habe.
Eigentlich möchte ich beim verlassen der Wohnung, Blink Kameras Aktievieren . Homematic kann das nicht. HomeAssistant schon.
Ich wage zu behaupten, dass RM + HA verbinden schneller geht, als das mit so einem Script zu lösen. Zumindest, wenn's keine unerwarteten Probleme beim konfigurieren gibt. :D

Günni
Beiträge: 231
Registriert: 03.10.2013, 00:20
Wohnort: Nordstemmen
Danksagung erhalten: 1 Mal

Re: von RaspberryMatic einen POST befehl an Homeassistant schicken

Beitrag von Günni » 22.07.2023, 00:03

jp112sdl hat geschrieben:
21.07.2023, 08:28
Tyfys hat geschrieben:
21.07.2023, 07:21
Falls der Rest richtig ist,
Eher nicht... nun bekommt wget den curl als Parameter ;)
Wie wäre es so?

Code: Alles auswählen

var url= ' -X POST -H "Authorization:Bearer JhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjOTNhZjY3M2RiZTg0MjkyOTA4MmI1NzJlNzgyYjVhOCIsImlhdCI6MTY4OTI1NTEwOSwiZXhwIjoyMDA0NjE1MTA5fQ.5xHp6Q-bguUAp2cDETsMzdWVmELXNdWFYi3bB1-6tqc" -H "Content-Type: application/json" -d "{\"entity_id\": \"automation.nicht_zu_hause\"}" http://192.168.2.24:8123/API/services/homeassistant/turn_on';

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl "#url);
Habe diesen POST aus Windows Eingabeaufforderung geschickt, das klappt. Als Skript aus CCu geht nicht.

Code: Alles auswählen

curl -X POST -H "Authorization: Bearer JhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjOTNhZjY3M2RiZTg0MjkyOTA4MmI1NzJlNzgyYjVhOCIsImlhdCI6MTY4OTI1NTEwOSwiZXhwIjoyMDA0NjE1MTA5fQ.5xHp6Q-bguUAp2cDETsMzdWVmELXNdWFYi3bB1-6tqc" -H "Content-Type: application/json" -d "{\"entity_id\": \"switch.shelly1_f4cfa2ece595\"}" http://192.168.2.24:8123/api/services/homeassistant/toggle
Als Spript in CCU

Code: Alles auswählen

var url=' -X POST -H "Authorization: Bearer JhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjOTNhZjY3M2RiZTg0MjkyOTA4MmI1NzJlNzgyYjVhOCIsImlhdCI6MTY4OTI1NTEwOSwiZXhwIjoyMDA0NjE1MTA5fQ.5xHp6Q-bguUAp2cDETsMzdWVmELXNdWFYi3bB1-6tqc" -H "Content-Type: application/json" -d "{\"entity_id\": \"switch.shelly1_f4cfa2ece595\"}" http://192.168.2.24:8123/api/services/homeassistant/toggle';

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl "#url);
da kommt diese Antwort

Code: Alles auswählen

{
  "sessionId": "",
  "httpUserAgent": "",
  "url": "-X POST -H \"Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjOTNhZjY3M2RiZTg0MjkyOTA4MmI1NzJlNzgyYjVhOCIsImlhdCI6MTY4OTI1NTEwOSwiZXhwIjoyMDA0NjE1MTA5fQ.5xHp6Q-bguUAp2cDETsMzdWVmELXNdWFYi3bB1-6tqc\" -H \"Content-Type: application\/json\" -d \"\{\"entity_id\": \"switch.shelly1_f4cfa2ece595\"}\" http:\/\/192.168.2.24:8123\/api\/services\/homeassistant\/toggle",
  "STDOUT": ""
}
Gruß Günni

Benutzeravatar
Baxxy
Beiträge: 10850
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 610 Mal
Danksagung erhalten: 2229 Mal

Re: von RaspberryMatic einen POST befehl an Homeassistant schicken

Beitrag von Baxxy » 22.07.2023, 20:29

Nicht ganz deine Anforderung, aber als Beispiel(e) wie es funktioniert vielleicht ganz hilfreich.
viewtopic.php?f=19&t=75406&p=731568&hil ... er#p731568

Habe System.Exec() statt CUxD benutzt.

Sollte sich auf deinen einfachen Befehl "runterstrippen" lassen.

Antworten

Zurück zu „Home Assistant“