HTTP-Aufruf als Befehl versenden ? // cmd1 per Befehl aufrufen?

Begonnen von Dracolein, 04 Dezember 2022, 08:27:29

Vorheriges Thema - Nächstes Thema

Dracolein

Moin zusammen,
ich hoffe der Sonntagskaffee schmeckt und Eure Brötchen sind schön warm  ;)

Folgendes kleines Verständnisproblemchen habe ich:
Ein ESP32CAM Modul kann per HTTP-Befehle im Browser gesteuert werden. Ich möchte gern eine LED ein- und ausschalten und habe dazu hier im Forum eine tolle Vorlage gefunden, nachgebaut und in Betrieb genommen ( https://forum.fhem.de/index.php?topic=107180.msg1088804#msg1088804 ). Das läuft auch top. In FHEMWEB kann ich per Mausklick den Befehl erteilen, ich begreife wie selbiger durch die Definitionen "zusammengebaut" wird und sehe im Logfile den Versand beispielsweise so:

ZitatIPCAM (ESP32CAM2) - sending command cmd01: http://192.168.178.199/control?var=lamp&val=0

Das Device sieht vollständig so aus:
define ESP32CAM2 IPCAM 192.168.178.199
attr ESP32CAM2 cmd01 var=lamp&val=0
attr ESP32CAM2 cmd02 var=lamp&val=20
attr ESP32CAM2 cmd03 var=lamp&val=50
attr ESP32CAM2 comment Quellcode Kamera: https://github.com/easytarget/esp32-cam-webserver\
Einbindung FHEM: https://forum.fhem.de/index.php?topic=107180.msg1088804#msg1088804\
Streaming URL: http://192.168.178.199:81/view
attr ESP32CAM2 delay 0
attr ESP32CAM2 eventMap /cmd 1:light0/cmd 2:light25/cmd 3:light50
attr ESP32CAM2 icon it_camera
attr ESP32CAM2 path capture
attr ESP32CAM2 pathCmd control
attr ESP32CAM2 room Vogelhaus,Draussen
attr ESP32CAM2 snapshots 1
attr ESP32CAM2 storage ./www/snapshots
attr ESP32CAM2 webCmd light0:light25:light50
#   AUTHORITY  192.168.178.199
#   CFGFN     
#   DEF        192.168.178.199
#   FUUID      638b0bbb-f33f-4dec-df53-934aeb59aa91a274
#   NAME       ESP32CAM2
#   NR         173723
#   SEQ        0
#   STATE      Defined
#   TYPE       IPCAM
#   eventCount 75
#
setstate ESP32CAM2 Defined


Nun möchte ich lediglich folgendes erreichen: Einige der fertigen Befehle sollen innerhalb eines DOIF ausgeführt werden, wenn Bedingungen erfüllt sind. Aber wie sieht der Befehlsteil des DOIFs aus, um diese Anweisungen zu senden? Oder um es runterzubrechen, was müsste man in die FHEM-Kommandozeile schreiben? Mir fallen 2 Möglichkeiten ein, beide bin ich mangels Wissen nicht in der Lage in Syntax umzusetzen:

1.) Versand der URL als fixer String, hierzu fand ich im Wiki ein Alternativbeispiel:
Zitatdefine html_aufruf notify my_schalter:on { GetHttpFile("192.168.0.7:80", "/cgi-bin/rc?108") }
und könnte es umbasteln in
{ GetHttpFile("192.168.178.199", "/control?var=lamp&val=0") }
(funktioniert in der FHEM Kommandozeile, getestet)

2.) Mein favorisierter Wunsch: Aufruf des cmd1-Befehls von obigem IPCAM-Device aus einem DOIF heraus. Das hätte auch noch den Charme, dass ich diesen Befehl mehrfach anderweitig verwenden könnte, aber nur an einer einzigen Stelle editieren brauche (falls ich z.B. die Helligkeitsvorgabe nachträglich ändern möchte). Das geht doch bestimmt auch, oder?
Sinngemäß: "wenn bedingung XYZ erfüllt ist, dann führe cmd1 vom Device 123 aus".

Ich hoffe auf Hilfe und danke vorab

Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

Dracolein

Ach, ich glaube es ist noch wesentlich einfacher, als gedacht  ::)  ;D

set ESP32CAM2 cmd 1

Danke, closed  8)
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;