Mit Webhook erste Versuche - schalten einer Boolean Variablen

es spricht dagegen, das ich denselben Fehler hatten (siehe weiter oben) oder ich hab einiges noch nicht begriffen. Manchmal glaubt es verstanden zu haben und dann kommt doch wieder etwas Neues. Es ist einfach sehr weitläufig alles und immer genau danach suchen, was man braucht, ist schwer, wenn man den Zusammenhang nicht sieht. :slight_smile:

Welcher Fehler? Du hast da einige gezeigt.
Leider fehlen aber auch einige Infos.
So habe ich z.b. keinen Screenshot mit der Instanz und deren Variablen (und ObjektID) vom Objektbaum gesehen.
Das Beispiel von @tobiasr hier ist auf jeden Fall funktionsfähig.

Michael

ich habe noch eine Menge zu lernen, ich gehe am besten noch mal alles von oben nach unten durch.
Beim Testen habe ich eben schon gemerkt, dass ich die VariablenID statt der InstanzID genommen habe. Nicht das es in der Hilfe steht … manchmal sieht man genau diese Dinge nicht sofort und kommt mit den Begriffen durcheinander

Ich gebe hier noch einmal Bescheid, was genau funktioniert und was nicht. Danke

Bei RequestAction ist die objektID der Variable (also VariableID) auch korrekt :slight_smile:
Bei Instant-Funktionen wie z.B. LCN_xxx ist die ObjektID der Instanz (= InstanzID) zu nutzen.
Michael

okay, dann versuche ich wirklich nochmal von vorne, bei dem vielen Testen kann man sich dann schon mal verrennen. Ich melde mich hier dann :slight_smile:
Danke

So ich bin ein wenig weiter, soweit erst einmal hinbekommen, was ich grob wollte.
Diese beiden gehen, ich muss nur noch verstehen, warum mal die Instanz, die Variable oder die SplitterInstanz genommen werden muss.

LCN_SwitchMode(54798, 1);
Buero Licht umschalten auf dfie Instanz, nicht auf die Variable!

RequestAction (53081, 1);
Buero Licht schalten (1/0) auf dfie Variable, nicht auf die Instanz!

Für alle, die es interessiert, hier meine kleine Lösung als Anfänger.

$tmp = $_GET[‚schalten‘] ;

if ($tmp==„buero“)
{
LCN_SwitchMode(54798, 1) ;
}
elseif ($tmp==„wc“)
{
LCN_SwitchMode(29783, 1) ;
}
elseif ($tmp==„flur“)
{
LCN_SwitchMode(12962, 1) ;
}
elseif ($tmp==„garage“)
{
LCN_SwitchRelayTimer(42249, 2) ;
}
elseif ($tmp==„rollorunter“)
{
LCN_SwitchMode(30741, 0) ;
}
else
{
echo „kein gültiges Gerät“ .„\n“;
echo $tmp;
}

Um jetzt mein Stream-Desk zu belegen mit HTTP Befehlen, reicht nur der Aufruf mit:

http://IP:PORT/hook/Test?schalten=buero

Jetzt noch den Befehl finden, der ein PHP-Script ausführt, mit Aufruf über Webhook und ich bin mehr als glücklich

Hä?
Das ist doch schon ein PHP Script.
Du kannst doch im Hook Control einfach ein beliebiges Script zuweisen.

Michael
PS: benutze im Forum nicht das Blockzitat um Scripte zu teilen, das funktioniert nicht.
Dafür ist die Funktion ‚vorformatierter Text‘

ja war missverständlich, ich glaube, ich hab es… innerhalb dieser Scripte sind auch LCN Befehle, die brauche ich nur in mein Script zu übernehmen.

Ich mache für heute Feierabend, ich bin durch für heute :slight_smile:

Wenn es nur Teile sind, kann man das machen.
Aber den Inhalt von einem ganzen Script brauchst du nicht in dein erstes webhook Script kopieren, das macht keinen Sinn.
Wenn du ein vorhandenes Script ausführen willst, dann geht das mit IPS_RunScript.

Aber… Auch das brauchst du nicht.
Lege doch einfach einen weitern Hook an und verlinkte das Script direkt.
Michael

Wow, da wäre ich im Leben nicht drauf gekommen, super vielen Dank …
die nächsten Tage sind gerettet zum Ausprobieren, Lernen und Umsetzen und mit der Möglichkeit nichts doppelt anlegen oder pflegen. :slight_smile: :slight_smile: :slight_smile:

Das dauert wohl noch etwas bis man das Querdenken in IPS hinbekommt, aber einfach Klasse

Moin Ralf,
und immer daran denken, dass LCN (je nach verwendeter Schnittstelle ist das mehr oder weniger relevant) nur 5 Kommandos/Sek. verschickt. Symcon hat da zwar einen Cache, aber auch den verweigert LCN manchmal.
Bei vielen Kommandos nacheinander in einem Skript habe ich mit IPS_Sleep dazwischen beste Erfahrungen gemacht.
Und ja - etwas „tricky“ - aber auch aus IPS kannst du ein(1) Kommando an eine Gruppe schicken (für ALLE, wenn es dafür eine LCN-Gruppe gibt).

Grüße, Uwe

Kurze Ergänzung:
IPS_Sleep sollte man nicht in einem Script nutzen, welches durch einen Webhook gestartet wird.
Hintergrund : Der Aufrufer der URL wartet auf die Ausgabe vom Script, welche erst am Ende vom Script erfolgt.
Michael

ich bin einfach nur begeistert, wie hier geholfen wird. Ich hab mir all die Dinge notiert und sauge gerade alles auf.
Danke schön an alle :+1: