skicka HTTP/API kommandon HC2

Hjälp varandra att vara kreativa för att göra hemmet mer bekvämt.
Post Reply
Bisse90
Medlem
Posts: 96
Joined: 01 Dec 2013, 17:43
10

hejsan

jag skulle vilja skicka följande API/Sträng (vet faktiskt ej vilket) http://192.168.xxx.xxx:xxxx/send?calle=p1&sms=p2

skriver jag detta i webbläsaren så fungerar det, vill ha det att fungera via HC2 också =)

skulle vilja göra detta via en virtuellenhet (knapp i den virtuella enheten)

någon som kan förklara för mig hur man gör då?

tack på förhand

Mvh Bisse
StarkJohan
Medlem
Posts: 102
Joined: 30 Nov 2013, 11:08
10
Location: Skegrie

Om du bara vill göra en http get och inte bryr dig om någon feedback:

Code: Select all

HC2 = Net.FHttp('192.168.0.X');
getResponse, status, errorCode  = HC2:GET("/send?calle=p1&sms=p2");
Bisse90
Medlem
Posts: 96
Joined: 01 Dec 2013, 17:43
10

StarkJohan wrote:Om du bara vill göra en http get och inte bryr dig om någon feedback:

Code: Select all

HC2 = Net.FHttp('192.168.0.X');
getResponse, status, errorCode  = HC2:GET("/send?calle=p1&sms=p2");

tack för svaret, men tyvärr fungerar det inte =(

som sakt jag kan skriva alltiohpa i webbläsaren och smset skickas iväg, men jag kan inte få det att fungera i HC2 =(

andra förslag till mig?
StarkJohan
Medlem
Posts: 102
Joined: 30 Nov 2013, 11:08
10
Location: Skegrie

Vad är det för API du använder på mottagarsidan?
Vad får du för felmeddelande?
Ser du något i debug på fibaron?
Kör du som en scen eller en virtuell enhet?
Bisse90
Medlem
Posts: 96
Joined: 01 Dec 2013, 17:43
10

StarkJohan wrote:Vad är det för API du använder på mottagarsidan?
Vad får du för felmeddelande?
Ser du något i debug på fibaron?
Kör du som en scen eller en virtuell enhet?
På mottagar sidan vet jag ej, det är en färdig app för att skicka sms som api't går till

Men det kommer inte fram till appen

Ser inget i debugen

Kör det i en virtuellenhet

Mvh bisse
StarkJohan
Medlem
Posts: 102
Joined: 30 Nov 2013, 11:08
10
Location: Skegrie

Vad är det för app? Har du någon info om den och dess API? Länk?
Bisse90
Medlem
Posts: 96
Joined: 01 Dec 2013, 17:43
10

StarkJohan wrote:Vad är det för app? Har du någon info om den och dess API? Länk?

appen heter sms modem (android app, jag tänkte använda den på en fast monterad surfplatta)

webbsida: http://www.amcoding.com

api: http://192.168.xxx.xxx:5555/send?callee=p1&sms=p2

p1 = telefonnummer

p2 = text i sms

exampel p2 = testing+for+android+sms+modem
StarkJohan
Medlem
Posts: 102
Joined: 30 Nov 2013, 11:08
10
Location: Skegrie

Jag tror att problemet är hur du hittar fram. Är "send" i API't en php-fil eller en katalog? Vissa webläsare är smarta och lägger till filändelser och/eller slash om man glömt det i adressen. Det kan vara därför det fungerar i din webläsare.

Lägg till lite felhantering:

Code: Select all

HC2 = Net.FHttp('192.168.X.X');

local p1 = '0707346655';
local p2 = 'testing+for+android+sms+modem';

getResponse, status, errorCode = HC2:GET("/api/?calle="..p1.."&sms="..p2);

if tonumber(status) == 200 -- Command accepted
then
	fibaro:debug(getResponse);
else
	fibaro:debug("Error: "..errorCode);
	fibaro:debug("Status: "..status);
end
Prova också med lite olika URL:

Code: Select all

getResponse, status, errorCode = HC2:GET("/api/send.php?calle=p1&sms=p2");

getResponse, status, errorCode = HC2:GET("/api/send/?calle=p1&sms=p2");
Bisse90
Medlem
Posts: 96
Joined: 01 Dec 2013, 17:43
10

StarkJohan wrote:Jag tror att problemet är hur du hittar fram. Är "send" i API't en php-fil eller en katalog? Vissa webläsare är smarta och lägger till filändelser och/eller slash om man glömt det i adressen. Det kan vara därför det fungerar i din webläsare.

Lägg till lite felhantering:

Code: Select all

HC2 = Net.FHttp('192.168.X.X');
getResponse, status, errorCode = HC2:GET("/api/send?calle=p1&sms=p2");

if tonumber(status) == 200 -- Command accepted
then
	fibaro:debug(getResponse);
else
	fibaro:debug("Error: "..errorCode);
	fibaro:debug("Status: "..status);
end
Prova också med lite olika URL:

Code: Select all

getResponse, status, errorCode = HC2:GET("/api/send.php?calle=p1&sms=p2");

getResponse, status, errorCode = HC2:GET("/api/send/?calle=p1&sms=p2");

tyvärr verkar inget av det vilja fungera =/

får error kod 2 hela tiden, kan det vara att det inte går via rätt port?
StarkJohan
Medlem
Posts: 102
Joined: 30 Nov 2013, 11:08
10
Location: Skegrie

Testa att ta bort "konstiga" tecken (dvs. +)

local p2 = Testaettmeddleande

Om du inte behöver specificera porten i din webläsare (dvs 192.168.0.1:5555 eller om du använder https) så går det automatiskt via port 80 som är standard.

Jag har inga androidenheter så jag kan tyvärr inte testa själv.
StarkJohan
Medlem
Posts: 102
Joined: 30 Nov 2013, 11:08
10
Location: Skegrie

Om du använder variabler måste du givetvis se till att dom används. Annars blir calle = p1 vilket inte är ett giltigt nummer.

Code: Select all

getResponse, status, errorCode = HC2:GET("/api/?calle="..p1.."&sms="..p2);
Bisse90
Medlem
Posts: 96
Joined: 01 Dec 2013, 17:43
10

StarkJohan wrote:Testa att ta bort "konstiga" tecken (dvs. +)

local p2 = Testaettmeddleande

Om du inte behöver specificera porten i din webläsare (dvs 192.168.0.1:5555 eller om du använder https) så går det automatiskt via port 80 som är standard.

Jag har inga androidenheter så jag kan tyvärr inte testa själv.

det fungerar tyvärr inte heller, men jag måste specificera port i min webbläsare för att det ska fungera, det var lite synd =(

Edit:den vill ha port 5555
Bisse90
Medlem
Posts: 96
Joined: 01 Dec 2013, 17:43
10

StarkJohan wrote:Om du använder variabler måste du givetvis se till att dom används. Annars blir calle = p1 vilket inte är ett giltigt nummer.

Code: Select all

getResponse, status, errorCode = HC2:GET("/api/?calle="..p1.."&sms="..p2);
skriver nummret där och inga variabler
StarkJohan
Medlem
Posts: 102
Joined: 30 Nov 2013, 11:08
10
Location: Skegrie

Jo jag misstänkte att det var port 5555 som behövdes. Då är det inte så himla konstigt att det inte fungerar. Du skriver inte i din webläsare så som du skriver i ditt första inlägg... Det är mycket lättare att hjälpa till om du ger korrekt och fullständig information.

Port specificerar du såhär:

Code: Select all

HC2 = Net.FHttp('192.168.X.X','5555');
Post Reply