UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

[Frage] [V3.5.1] HTTP API - triggern einer HTTP-API abfrage

Wissen, Planung & Diskussion zur Unterstützung von Rest-API & Webabfragen im Timberwolf Server.
Stellt uns hier Eure Projekte und Ideen vor.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
0lek
Reactions:
Beiträge: 170
Registriert: Di Jan 14, 2020 5:30 pm
Hat sich bedankt: 17 Mal
Danksagung erhalten: 80 Mal

[V3.5.1] HTTP API - triggern einer HTTP-API abfrage

#1

Beitrag von 0lek »

Hey,

Ich habe ein API, über das ich Sachen zählen kann. Es gibt dann eine Abfrage, die den jeweiligen Wert um 1 kleiner macht. Ich will dies machen, wenn z.B. ein Geraet läuft (das werde ich dann raus finden über den KNX-Mess-Aktor). Also wenn das Geraet läuft, dann bitte über HTTP API den Wert kleiner machen.

Jetzt habe ich aber ein Verständnisproblem. Ich werde es eventuell hinkriegen, die Abfrage zu machen, aber wie triggere ich die? Bei der Ressource kann ich ja trigger alle x (min, sek) einstellen - ich will aber den Trigger nur, wenn bei einem anderen Subsystem was passiert. Ich habe gesehen, dass ich einstellen kann, das wenn sich ein Objekt ändert, dieses eine Abfrage auslöst... NUR mein Objekt (Geraet läuft, siehe oben) ist nicht Bestandteil der Abfrage.

Wahrscheinlich ist es super-einfach, ich habe aber gerade keinen Plan, wie ich das zusammenstückeln soll.

Danke!
Aleksander
Zuletzt geändert von gbglace am Mi Nov 16, 2022 4:43 pm, insgesamt 1-mal geändert.
TWS 950Q ID:676, VPN offen, Reboot erlaubt

gbglace
Reactions:
Beiträge: 3585
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1253 Mal
Danksagung erhalten: 1649 Mal

#2

Beitrag von gbglace »

Dann wirst wohl ne Logik zwischen hängen müssen, also immer an der API den Wert abholen und wenn dann aus dem KNX das Signal anliegt dann aus der Logik rauslassen, sonst filtern. Dahinter dann so wie Du es verwenden wolltest.
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension

Ersteller
0lek
Reactions:
Beiträge: 170
Registriert: Di Jan 14, 2020 5:30 pm
Hat sich bedankt: 17 Mal
Danksagung erhalten: 80 Mal

#3

Beitrag von 0lek »

@gbglace Danke. Sorry dass ich laenger gebraucht habe, aber ich habe andere Sachen gemacht. Ich habe eine Logik gebaut, die mir einen Wert an die HTTP-API sendet. Wenn dieser Wert (ProductID) sich aendert, wird die HTTP-API vom TWS getriggert. Funktioniert soweit.

Mein Problem ist nur: Dieser Wert aendert sich in der jeweiligen Logik selten (oder eher: nie). D.h. wenn ich das naechste Mal die Logik anspreche, wird die HTTP-API nicht getriggert, weil sich ja die ProductID nicht geaendert hat.
Was mir fehlt ist eine Moeglichkeit, die HTTP-Abfrage zu triggern ueber z.B. ein "true", aber eben nicht ueber ein sich aenderndes Objekt.
Die HTTP-Abfrage hat halt NUR statische Objekte, d.h. die aendern sich NIE.

Was ich als Alternativen sehe:

1. In die HTTP-Abfrage einen Dummy-Wert einbauen, der von der Logik beim triggern um +1 erhoeht wird. Dieser wird an das API uebergeben, hat aber keine Funktion. Zum Testen waere, ob die HTTP-API das auch annimt.
2. Die ProductID nach z.B. 1s in der Logik auf einen Dummy-Wert setzen der nicht vorkommt (666). 1s wegen: Einmal trigger, es laeuft durch und dann zurueck zum Dummy, um fuer das naechste Mal wieder eine Veraenderung simulieren zu koennen.
Beim naechste Triggern der Logik wird er wieder auf die richtige ProductID gesetzt und die HTTP-Abfrage triggert. Was aber passieren wird ist, dass jedes mal die Abfrage triggert (einmal mit der richtigen, einmal mit der falschen ProductId).

Beides ist fuer mich suboptimal. Sind das wirklich die einzigen Loesungen?

BTW 3.5.1, kann nich mehr aendern
Zuletzt geändert von 0lek am Mi Nov 16, 2022 1:00 pm, insgesamt 2-mal geändert.
TWS 950Q ID:676, VPN offen, Reboot erlaubt
Antworten

Zurück zu „HTTP-API, REST & Web-Abfragen“