http request für FHEM

Hallo Zusammen

Ich habe da ein Problem, welches mich langsam verzweifeln lässt:

Da ich vor dem HC2 mit FHEM gearbeitet habe, gibt es noch einen kleinen Teil welcher weiterhin durch FHEM gesteuert werden soll.
Nun versuche ich schon seit Stunden einen Befehlt mit dem HC2 an FHEM abzusetzen. Jedoch immer ohne Erfolg.
Der direkte Befehl (funktioniert im Browser tadellos) wäre dieser hier:
http://IP vom Raspi:Port/fhem?cmd.Taste4=trigger%20Taste9%20long

Ich habe schon viiiiiele Variationen erfolglos durchprobiert, kann mir Jemand helfen?

Lg Yvan

Hi,

hast du es mal mit einem VD und folgendem Code probiert?

local selfId = fibaro:getSelfId();
local ip = fibaro:get(selfId, "IPAddress")

local url = "URL"

local ws = Net.FHttp(ip, 80)
local resp = ws:GET(url) 
fibaro:debug(resp)

Gruß

Guten Abend
Vielen Dank für Deine Hilfe!
Jedoch funktioniert der CODE nicht.
In einem Forum habe ich gelsen, dass es ein HTTP GET Befehl sein soll.
Habe aber nirgends was nützliches gefunden…

Gruss

Hi,

mit dem Code setzt du einen GET-Befehl ab… Poste doch mal deinen Code, sonst kann dir keiner helfen…

Gruß

Hi

Gerne:
ich habe ein VD erstellt, IP oben leer gelassen, Port wurde automatisch auf 80 gesetzt
(habe auch hier schon diverse Varianten erfolglos ausprobiert)

local selfId = fibaro:getSelfId();
local ip = fibaro:get(selfId, "IPAddress")

local url = "http://192.168.1.158:8083/fhem?cmd.Dummy=set%%20Gangdummy%%20on"

local ws = Net.FHttp(ip, 80)
local resp = ws:GET(url) 
fibaro:debug(resp)

Habe es auch so versucht:

local selfId = fibaro:getSelfId();
local ip = fibaro:get(selfId, "IPAddress")

local url = "/fhem?cmd.Dummy=set%%20Gangdummy%%20on"

local ws = Net.FHttp(ip, 80)
local resp = ws:GET(url) 
fibaro:debug(resp)

Brauchst Du mehr?
Kann auch PrintScreen’s posten falls gewünscht.
Vielen Dank im Voraus

So kann es nicht funktionieren, weil die lokale Variable ip und dazu auch der Port immer falsch gesetzt sind. Hätte schon erwartet, dass du das anpasst, bzw. die passenden Rückschlüsse ziehen kannst… IP & Port oben eintragen und dann folgenden Code nutzen:


local selfId = fibaro:getSelfId();
local ip = fibaro:get(selfId, "IPAddress")
local port = fibaro:get(selfId, 'TCPPort')

local url = "/fhem?cmd.Dummy=set%%20Gangdummy%%20on"
 
local ws = Net.FHttp(ip, port)
local resp = ws:GET(url) 
fibaro:debug(resp)

Oben habe ich am Anfang auch die richtige IP sowie den Port eingetragen, dann aber unten wohl den falschen Code eingegeben.

Sorry, ist leider alles noch ein wenig Neuland für mich :slight_smile:

AAAber: es funktioniert!!!

Vielen,vielen Dank!!!
PS: beim Code von mir ist jeweils ein %-Zeichen zuviel dabei als Platzhalter für den Leerschlag.