Aller au contenu
cocofo

Post en LUA pour allumer ampoule "MyStrom"

Recommended Posts

Hello tout le monde !

 

Je cherche depuis un bon moment quel serait le moyen le plus simple pour juste allumer/éteindre mon ampoule Wifi "MyStrom" depuis un Virtual Device.

Faire un GET pour reprendre ses info j ai réussi mais impossible d'aller plus loin.

Quelqu'un autre idée ?

 

Il y a ici des exemple avec des curl : https://mystrom.ch/wp-content/uploads/REST_API_WBP.txt

Mais je n'ai pas réussi à traduire ça en LUA


Merci d'avance pour votre aide

Modifié par cocofo
ortho

Partager ce message


Lien à poster
Partager sur d’autres sites

Elle est étrange leur API.

 

Un truc dans le genre je pense, pour reprendre l'exemple donné :

local MyStrom = Net.FHttp("[IP of Bulb]", 80)
local data = "single=post://[IP of Bulb]/api/v1/device/[MAC of Bulb]?action%3Dtoggle"
MyStrom:POST("/api/v1/device/[MAC]", data)

Il faudra que tu remplaces les adresses IP et MAC.

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 29 minutes, Lazer a dit :

Elle est étrange leur API.

 

Un truc dans le genre je pense, pour reprendre l'exemple donné :


local MyStrom = Net.FHttp("[IP of Bulb]", 80)
local data = "single=post://[IP of Bulb]/api/v1/device/[MAC of Bulb]?action%3Dtoggle"
MyStrom:POST("/api/v1/device/[MAC]", data)

Il faudra que tu remplaces les adresses IP et MAC.

 

 

Merci de la réponse super rapide :)
Non malheureusement ça ne fonctionne pas. Et le debug ne me donne pas d info alors difficile de savoir où chercher.

Il y a une autre doc qui est un peu différente mais je sais pas trop non plus quoi en faire : https://api.mystrom.ch/#873360ea-f44c-4d6f-8793-62b4dcbfebd5
Quand je teste depuis POSTMAN j'arrive uniquement à faire les GET, j arrive pas non plus à allumer cette ampoule :(

Partager ce message


Lien à poster
Partager sur d’autres sites

Et bien, cette doc est bien plus claire :)

Avec ajout de quelques traces supplémentaires :

local MyStrom = Net.FHttp("[IP of Bulb]", 80)
local data = "action%3Don"
local response, status, errorCode = MyStrom:POST("/api/v1/device/[MAC]", data)
print(status)
print(errorCode)
print(response)

 

 

PS : ne cite pas le message précédent le tient

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Ahhh merci !!! la grande classe !!!
 

J'ai juste du mettre "action=on" et pas "action%3Don" pour que ça fonctionne. Je pense qu'entre les deux docs ils ont revu leur façon de faire


Désolée pour la citation. Merci de l info je prends bonne note

Modifié par cocofo

Partager ce message


Lien à poster
Partager sur d’autres sites

×