Aller au contenu

Messages recommandés

Posté(e) (modifié)

Hello tout le monde !

 

Je rencontre une erreur que je ne comprends pas...

 

c'est certainement une connerie, mais je vois pas :huh:

 

Je souhaite modifier des valeurs dans le panneaux Sprinkler directement avec api.put().

Je procède de la même manière qu'avec le panneau de chauffage où ça marche nickel !

 

Mais là, j'ai une erreur ????

 

voici le code

 

MyPanel = api.get("/panels/sprinklers/10")

print("1", json.encode(MyPanel))

MyPanel.days=ListeDay
MyPanel.sequences[1].startTime = _StartTime
MyPanel.sequences[1].sprinklers[1].duration = _Duration

print("2", json.encode(MyPanel))

res = api.put("/panels/sprinklers/10", MyPanel)

print("3", json.encode(res))

 

Voici le debug où on voit :

 

en 1, le json d'origine

en 2, le json modifié (j'ai enlevé des jours) (ListeDay est un tableau avec les jours de la semaine {"monday", "tuesday"})

en 3, le résultat du PUT avec l'erreur !

 

[QUICKAPP615]: 1 {"name":"Terrasse","sequences":[{"startTime":68400,"sprinklers":[{"deviceId":444,"duration":300}],"id":13}],"days":["monday","tuesday","wednesday","thursday","friday","saturday"],"id":10}
[QUICKAPP615]: 2 {"name":"Terrasse","sequences":[{"startTime":68400,"sprinklers":[{"deviceId":444,"duration":300}],"id":13}],"days":["monday", "tuesday"],"id":10}
[QUICKAPP615]: 3 {"message":"","reason":"http:\/\/{$gateway-ip}\/json-schema\/panels\/sprinklers\/PUT_sprinklers.json. Invalid schema: #. Invalid keyword: additionalProperties. Invalid document: #\/id","type":"ERROR"}

 

Je ne comprends pas l'erreur, visiblement j'ai un soucis avec la rubrique "id" ??? mais pourquoi ? où ?

 

Merci pour votre aide !

 

Modifié par jjacques68
Posté(e)

Alors avec ça, ça marche :  mais c'est horrible, pourri, moche, illisible  !!!

 

Je le passe en 2 fois :

 

MyPanel = api.get("/panels/sprinklers/10")

res = api.put("/panels/sprinklers/10", {days=ListeDay})

MySeq = MyPanel.sequences
MySeq[1].startTime = _StartTime
MySeq[1].sprinklers[1].duration = _Duration

res = api.put("/panels/sprinklers/10", {sequences=MySeq})

 

??????????????????????????????

 

Vraiment besoin d'explications !!!!!

 

si quelqu'un est motivé ! je le remercie d'avance !

  • Like 1
×
×
  • Créer...