jjacques68 Posté(e) le 26 juin 2020 Signaler Posté(e) le 26 juin 2020 (modifié) Hello tout le monde ! Je rencontre une erreur que je ne comprends pas... c'est certainement une connerie, mais je vois pas 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é le 26 juin 2020 par jjacques68
jjacques68 Posté(e) le 26 juin 2020 Auteur Signaler Posté(e) le 26 juin 2020 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 ! 1
Messages recommandés