Guten Abend,
ich habe bei mir zuhause einen Server mit IOBroker zur Home-Automation laufen.
Dieser gibt bei einem URL-Aufruf einen Wert zurück, welchen ich gerne in mAirList auf einen statischen Textobjekt angezeigt haben möchte.
Ich denke ich muss hier per HTTPGET agieren und ein entsprechendes Script regelmässig laufen lassen. Leider bin ich hier nicht wirklich weiter gekommen.
Andersrum habe ich schon etliche Werte von mAirList in die Datenbank vom IOBroker schicken können.
Würde mich freuen, wenn ich hier eine kleine Hilfestellung bekommen würde.
Ich habe die Lösung selbst hinbekommen.
Danke trotzdem.
procedure OnLoad;
var
WERT1: string;
WERT2: string;
WERT3: string;
begin
WERT1:= HTTPGet('http://127.0.0.1:8087/getPlainValue/Wert1?json');
WERT2:= HTTPGet('http://127.0.0.1:8087/getPlainValue/Wert2?json');
WERT3:= HTTPGet('http://127.0.0.1:8087/getPlainValue/Wert3?json');
ExecuteCommand('TEXTOBJEKT1 TEXT Wert1: '+WERT1);
ExecuteCommand('TEXTOBJEKT2 TEXT Wert2: '+WERT2);
ExecuteCommand('TEXTOBJEKT3 TEXT Wert3: '+WERT3);
end;
begin
SLEEP(15000)
end.
Ich lasse es als Hintergrund-Skript laufen und dies soll nur alle 15 Sekunden abgefragt werden.
Liege ich hier falsch?
Ja.
var
WERT1: string;
WERT2: string;
WERT3: string;
procedure OnLoad;
begin
EnableTimer(15000);
end;
procedure OnTimer;
begin
WERT1:= HTTPGet('http://127.0.0.1:8087/getPlainValue/Wert1?json');
WERT2:= HTTPGet('http://127.0.0.1:8087/getPlainValue/Wert2?json');
WERT3:= HTTPGet('http://127.0.0.1:8087/getPlainValue/Wert3?json');
ExecuteCommand('TEXTOBJEKT1 TEXT Wert1: '+WERT1);
ExecuteCommand('TEXTOBJEKT2 TEXT Wert2: '+WERT2);
ExecuteCommand('TEXTOBJEKT3 TEXT Wert3: '+WERT3);
end;
begin
end.
3 Likes
Vielen Dank für die Korrektur.
Stehe bei den Skripten noch am Anfang.
Einen schönen Sonntag noch.
3 Likes