Italian B4A vs Shelly

MARCO C.

Active Member
Licensed User
Buon sabato a tutti,

dovrei inviare il seguente comando verso un dispositivo shelly

http://192.168.xxx.xxx/relay/0?turn=toggle

Come posso inviarlo tramite B4A ?

pensavo di utilizzare

B4X:
Dim wjob As HttpJob
    wjob.Initialize("",Me)
      
    wjob.PostString( "http://192.168.xxx.xxx/relay/0?turn=toggle", ????? )
    
    Wait For (wjob) JobDone(wjob As HttpJob)
    If wjob.Success Then

ma non saprei come utilizzarlo !!
Grazie in anticipo
 

lucasheer

Active Member
Licensed User
Longtime User
Devi prima scoprire se si tratta di una richiesta GET o POST.
????? = stringa di dati o parametri di post

POST:
B4X:
wjob.PostString( "http://192.168.xxx.xxx/relay/0", "turn=toggle" )


Una richiesta GET è davvero semplice:
B4X:
wjob.Download("http://192.168.xxx.xxx/relay/0?turn=toggle")

Quindi inviare la richiesta e ottenere risposta:
B4X:
dim response as string = wjob.GetString
 

MARCO C.

Active Member
Licensed User
Grazie per la celere risposta,
Get o Post ?? bella domanda

Mi dice il tecnico che lui lancia il comando da un semplice pagina web di un browser su rete locale ... e sinceramente non so se Shelly invia poi una risposta.
Come mi consegna il primo Shelly faccio delle prove.
Grazie mille
 

lucasheer

Active Member
Licensed User
Longtime User
Grazie per la celere risposta,
Get o Post ?? bella domanda

Mi dice il tecnico che lui lancia il comando da un semplice pagina web di un browser su rete locale ... e sinceramente non so se Shelly invia poi una risposta.
Come mi consegna il primo Shelly faccio delle prove.
Grazie mille

Se lo avvii semplicemente dal browser web, sarà un comando GET.

prego
 

MARCO C.

Active Member
Licensed User
Cosa succede se tu digiti l'indirizzo nel tuo browser? Ti restituisce una pagina di conferma o di stato?

Ancora non mi ha consegnato Shelly ... quindi non saprei . Stavo impostando le basi per fare il test.

Scusa, ma a questo punto ,se devo attendermi una risposta la tecnica è sempre la stessa ??

B4X:
Dim wjob As HttpJob
    wjob.Initialize("",Me)
       
    wjob.Download("http://192.168.xxx.xxx/relay/0?turn=toggle")
   
    Wait For (wjob) JobDone(wjob As HttpJob)
    If wjob.Success Then
        Dim res As String = wjob.GetString
               
        Dim json As JSONParser
        Try
            json.Initialize( res )
           
        Catch
            ToastMessageShow("Text: Could not initialize json...", False)
            ProgressDialogHide
            Return
        End Try
        .
        .
        etc etc.
 
Top