Webhook-Rule mit HTTP-Binding
Verfasst: 20. Aug 2022 22:54
Hallo zusammen,
ich würde gerne zu bestimmten Tageszeiten (0,5h nach Sonnenaufgang und 0,5h vor Sonnenuntergang) einen Webhook (Aufruf einer https-URL) senden. Dies soll Aktionsregeln auf meiner Synology Surveillance Station auslösen (z.B. Schnappschuss erstellen, bestimmten Preset-Punkt mit PTZ anfahren etc.)
Ich habe mir nun das Astro Binding geholt, um die lokalen Sonnenauf- und -untergangszeiten zu erhalten. Weiters habe ich das HTTP-Binding installiert, um die https-URL aufrufen zu können.
Gedanklich hänge ich nun...
Mein Plan ist es, ein Thing für die Aktionsregeln anzulegen, mit jeweils einem Channel für jede auszulösende Aktion (=> diese haben alle eine separate URL als Webhook). Für das Auslösen der ersten Aktion sieht mein Thing-Code folgendermaßen aus:
Die zu öffnende URL soll sich einfach aus der baseURL und der commandExtension textuell zusammensetzen. Stimmt die hierfür notwendige Thing- und Channel-Konfiguration?
Meine Rule sieht folgendermaßen aus:
Meine Vermutung ist es, dass ich mit ItemStateUpdateAction nicht die gewünschte Aktion (Aufruf der URL) starten kann und das so nicht stimmen kann? Wie müsste hier die Konfiguration geändert werden? Benötige ich hier ein Switch und kein String?
Wo im Code muss das "sleep(30*60)" eingefügt werden (=> Website soll 30 Minuten nach Sonnenaufgang aufgerufen werden)?
Danke Euch
Grüße
neuling10
ich würde gerne zu bestimmten Tageszeiten (0,5h nach Sonnenaufgang und 0,5h vor Sonnenuntergang) einen Webhook (Aufruf einer https-URL) senden. Dies soll Aktionsregeln auf meiner Synology Surveillance Station auslösen (z.B. Schnappschuss erstellen, bestimmten Preset-Punkt mit PTZ anfahren etc.)
Ich habe mir nun das Astro Binding geholt, um die lokalen Sonnenauf- und -untergangszeiten zu erhalten. Weiters habe ich das HTTP-Binding installiert, um die https-URL aufrufen zu können.
Gedanklich hänge ich nun...
Mein Plan ist es, ein Thing für die Aktionsregeln anzulegen, mit jeweils einem Channel für jede auszulösende Aktion (=> diese haben alle eine separate URL als Webhook). Für das Auslösen der ersten Aktion sieht mein Thing-Code folgendermaßen aus:
Code: Alles auswählen
UID: http:url:e76f03e469
label: HTTP_Kamera_Aktionsregeln
thingTypeUID: http:url
configuration:
authMode: BASIC
ignoreSSLErrors: false
baseURL: https://xxxxxxx.teil1
delay: 0
stateMethod: POST
refresh: 30
commandMethod: POST
timeout: 3000
bufferSize: 2048
channels:
- id: Schwenken_Zentral_Weitblick
channelTypeUID: http:string
label: Schwenken Zentral Weitblick
description: ""
configuration:
mode: READWRITE
commandExtension: teil2.xxxxxxx
Meine Rule sieht folgendermaßen aus:
Code: Alles auswählen
configuration: {}
triggers:
- id: "1"
configuration:
itemName: LokaleSonnendatenWien_Startzeit
type: core.ItemStateUpdateTrigger
conditions: []
actions:
- inputs: {}
id: "2"
configuration:
itemName: HTTPKameraAktionsregeln_SchwenkenZentralWeitblick
type: core.ItemStateUpdateAction
Wo im Code muss das "sleep(30*60)" eingefügt werden (=> Website soll 30 Minuten nach Sonnenaufgang aufgerufen werden)?
Danke Euch

Grüße
neuling10