Ce Forum passera en lecture seule en janvier 2020
Image
Merci de vous rendre sur https://community.jeedom.com maintenant pour vos prochains postes ;)

Api Viessmann pour récupération de données avec Vitoconnect

Réservé à l'utilisation et la programmation de scripts dans JEEDOM
thetrueavatar
Timide
Messages : 282
Inscription : 30 nov. 2017, 13:54

Re: Script pour Gestion Chaudière Viessmann connecté

Message par thetrueavatar » 17 sept. 2018, 23:26

Ca ne fait pas d'erreur pourtant. Néanmoins, j'imagine que le programme réduit est censé être plus petit que le programme normal et donc que c'est parce que ton programme normal est déjà à 20.

thetrueavatar
Timide
Messages : 282
Inscription : 30 nov. 2017, 13:54

Re: Script pour Gestion Chaudière Viessmann connecté

Message par thetrueavatar » 17 sept. 2018, 23:29

Attention aussi que la branche develop me sert de branche de développement. Comme j'ai pas encore vraiment de test unitaires et de build continus parfois les commit sont foireux. Normalement, la branche censée être stable est le master qui contient les releases.

thetrueavatar
Timide
Messages : 282
Inscription : 30 nov. 2017, 13:54

Re: Script pour Gestion Chaudière Viessmann connecté

Message par thetrueavatar » 17 sept. 2018, 23:42

Sinon j'ai vu en décompilant l'apk du Vicare une série d'example de json. J'ai extrait les actions disponibles et je vous les listes ci-dessous:

Code : Tout sélectionner

{"everything":[
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.dhw.schedule/setSchedule",
      "method": "POST",
      "title": "setSchedule",
      "name": "setSchedule",
      "fields": [
        {
          "name": "newSchedule",
          "type": "Schedule",
          "required": true,
          "maxEntries": 4,
          "resolution": 10,
          "modes": [
            "on"
          ],
          "defaultMode": "off"
        }
      ]
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.dhw.oneTimeCharge/activate",
      "method": "POST",
      "title": "activate",
      "name": "activate"
    },
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.dhw.oneTimeCharge/deactivate",
      "method": "POST",
      "title": "deactivate",
      "name": "deactivate"
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.programs.reduced/setTemperature",
      "method": "POST",
      "title": "setTemperature",
      "name": "setTemperature",
      "fields": [
        {
          "name": "targetTemperature",
          "type": "number",
          "required": true,
          "min": 3,
          "max": 37,
          "stepping": 1
        }
      ]
    }
  ]},
  {"actions": [
    {
      "isExecutable": false,
      "href": "http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.programs.eco/activate",
      "method": "POST",
      "title": "activate",
      "name": "activate",
      "fields": [
        {
          "name": "temperature",
          "type": "boolean",
          "required": false,
          "min": 3,
          "max": 37,
          "stepping": 1
        }
      ]
    },
    {
      "isExecutable": false,
      "href": "http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.programs.eco/deactivate",
      "method": "POST",
      "title": "deactivate",
      "name": "deactivate"
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.programs.normal/setTemperature",
      "method": "POST",
      "title": "setTemperature",
      "name": "setTemperature",
      "fields": [
        {
          "name": "targetTemperature",
          "type": "number",
          "required": true,
          "min": 3,
          "max": 37,
          "stepping": 1
        }
      ]
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/features/gateway.firmware/update",
      "method": "POST",
      "title": "update",
      "name": "update",
      "fields": [
        {
          "name": "version",
          "type": "string",
          "required": true,
          "regEx": "/([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:(\\-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z-\\-\\.]+)?/"
        },
        {
          "name": "updateUrl",
          "type": "string",
          "required": true
        }
      ]
    }
  ]},
  {"actions": [
    {
      "isExecutable": false,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.circulation.schedule/setSchedule",
      "method": "POST",
      "title": "setSchedule",
      "name": "setSchedule",
      "fields": [
        {
          "name": "newSchedule",
          "type": "Schedule",
          "required": true,
          "maxEntries": 4,
          "resolution": 10,
          "modes": [
            "on"
          ],
          "defaultMode": "off"
        }
      ]
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "fields": [
        {
          "enum": [
            "standby",
            "dhw",
            "dhwAndHeating",
            "forcedReduced",
            "forcedNormal"
          ],
          "type": "string",
          "name": "mode",
          "required": true
        }
      ],
      "href": "http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.modes.active/setMode",
      "method": "POST",
      "title": "setMode",
      "name": "setMode"
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.reduced/setTemperature",
      "method": "POST",
      "title": "setTemperature",
      "name": "setTemperature",
      "fields": [
        {
          "name": "targetTemperature",
          "type": "number",
          "required": true,
          "min": 3,
          "max": 37,
          "stepping": 1
        }
      ]
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.dhw.schedule/setSchedule",
      "method": "POST",
      "title": "setSchedule",
      "name": "setSchedule",
      "fields": [
        {
          "name": "newSchedule",
          "type": "Schedule",
          "required": true,
          "maxEntries": 4,
          "resolution": 10,
          "modes": [
            "on"
          ],
          "defaultMode": "off"
        }
      ]
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.dhw.temperature/setTargetTemperature",
      "method": "POST",
      "title": "setTargetTemperature",
      "name": "setTargetTemperature",
      "fields": [
        {
          "name": "temperature",
          "type": "number",
          "required": true,
          "min": 10,
          "max": 95,
          "stepping": 1
        }
      ]
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.programs.comfort/setTemperature",
      "method": "POST",
      "title": "setTemperature",
      "name": "setTemperature",
      "fields": [
        {
          "name": "targetTemperature",
          "type": "number",
          "required": true,
          "min": 3,
          "max": 37,
          "stepping": 1
        }
      ]
    },
    {
      "isExecutable": false,
      "href": "http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.programs.comfort/activate",
      "method": "POST",
      "title": "activate",
      "name": "activate"
    },
    {
      "isExecutable": false,
      "href": "http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.programs.comfort/deactivate",
      "method": "POST",
      "title": "deactivate",
      "name": "deactivate"
    }
  ]},
  {"actions": [
    {
      "isExecutable": false,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.heating.curve/setCurve",
      "method": "POST",
      "title": "setCurve",
      "name": "setCurve",
      "fields": [
        {
          "name": "slope",
          "type": "number",
          "required": true,
          "min": 0.2,
          "max": 3.5,
          "stepping": 0.1
        },
        {
          "name": "shift",
          "type": "number",
          "required": true,
          "min": -13,
          "max": 40,
          "stepping": 1
        }
      ]
    }
  ]},
  {"actions": [
    {
      "isExecutable": false,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.eco/activate",
      "method": "POST",
      "title": "activate",
      "name": "activate",
      "fields": [
        {
          "name": "temperature",
          "type": "boolean",
          "required": false,
          "min": 3,
          "max": 37,
          "stepping": 1
        }
      ]
    },
    {
      "isExecutable": false,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.eco/deactivate",
      "method": "POST",
      "title": "deactivate",
      "name": "deactivate"
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/features/gateway.logLevel/setLogLevel",
      "method": "POST",
      "title": "setLogLevel",
      "name": "setLogLevel",
      "fields": [
        {
          "name": "version",
          "type": "number",
          "required": true,
          "enum": [
            2,
            3,
            4,
            5,
            6
          ]
        }
      ]
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.normal/setTemperature",
      "method": "POST",
      "title": "setTemperature",
      "name": "setTemperature",
      "fields": [
        {
          "name": "targetTemperature",
          "type": "number",
          "required": true,
          "min": 3,
          "max": 37,
          "stepping": 1
        }
      ]
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.holiday/schedule",
      "method": "POST",
      "title": "schedule",
      "name": "schedule",
      "fields": [
        {
          "name": "start",
          "type": "string",
          "required": true
        },
        {
          "name": "end",
          "type": "string",
          "required": true
        }
      ]
    },
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.holiday/unschedule",
      "method": "POST",
      "title": "unschedule",
      "name": "unschedule"
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.programs.holiday/schedule",
      "method": "POST",
      "title": "schedule",
      "name": "schedule",
      "fields": [
        {
          "name": "start",
          "type": "string",
          "required": true
        },
        {
          "name": "end",
          "type": "string",
          "required": true
        }
      ]
    },
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.programs.holiday/unschedule",
      "method": "POST",
      "title": "unschedule",
      "name": "unschedule"
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "fields": [
        {
          "enum": [
            "standby",
            "dhw",
            "dhwAndHeating",
            "forcedReduced",
            "forcedNormal"
          ],
          "type": "string",
          "name": "mode"
        }
      ],
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.modes.active/setMode",
      "method": "POST",
      "title": "setMode",
      "name": "setMode"
    }
  ]},
  {"actions": [
    {
      "isExecutable": false,
      "href": "http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.circulation.schedule/setSchedule",
      "method": "POST",
      "title": "setSchedule",
      "name": "setSchedule",
      "fields": [
        {
          "name": "newSchedule",
          "type": "Schedule",
          "required": true,
          "maxEntries": 4,
          "resolution": 10,
          "modes": [
            "on"
          ],
          "defaultMode": "off"
        }
      ]
    }
  ]},
  {"actions": [
    {
      "isExecutable": false,
      "href": "http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.heating.curve/setCurve",
      "method": "POST",
      "title": "setCurve",
      "name": "setCurve",
      "fields": [
        {
          "name": "slope",
          "type": "number",
          "required": true,
          "min": 0.2,
          "max": 3.5,
          "stepping": 0.1
        },
        {
          "name": "shift",
          "type": "number",
          "required": true,
          "min": -13,
          "max": 40,
          "stepping": 1
        }
      ]
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.dhw.schedule/setSchedule",
      "method": "POST",
      "title": "setSchedule",
      "name": "setSchedule",
      "fields": [
        {
          "name": "newSchedule",
          "type": "Schedule",
          "required": true,
          "maxEntries": 4,
          "resolution": 10,
          "modes": [
            "on"
          ],
          "defaultMode": "off"
        }
      ]
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/features/gateway.status/reboot",
      "method": "POST",
      "title": "reboot",
      "name": "reboot"
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.comfort/setTemperature",
      "method": "POST",
      "title": "setTemperature",
      "name": "setTemperature",
      "fields": [
        {
          "name": "targetTemperature",
          "type": "number",
          "required": true,
          "min": 3,
          "max": 37,
          "stepping": 1
        }
      ]
    },
    {
      "isExecutable": false,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.comfort/activate",
      "method": "POST",
      "title": "activate",
      "name": "activate"
    },
    {
      "isExecutable": false,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.comfort/deactivate",
      "method": "POST",
      "title": "deactivate",
      "name": "deactivate"
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.heating.schedule/setSchedule",
      "method": "POST",
      "title": "setSchedule",
      "name": "setSchedule",
      "fields": [
        {
          "name": "newSchedule",
          "type": "Schedule",
          "required": true,
          "maxEntries": 4,
          "resolution": 10,
          "modes": [
            "normal"
          ],
          "defaultMode": "reduced"
        }
      ]
    }
  ]},
  {"actions": [
    {
      "isExecutable": true,
      "href": "http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.heating.schedule/setSchedule",
      "method": "POST",
      "title": "setSchedule",
      "name": "setSchedule",
      "fields": [
        {
          "name": "newSchedule",
          "type": "Schedule",
          "required": true,
          "maxEntries": 4,
          "resolution": 10,
          "modes": [
            "normal"
          ],
          "defaultMode": "reduced"
        }
      ]
    }
  ]}
]
}

thetrueavatar
Timide
Messages : 282
Inscription : 30 nov. 2017, 13:54

Re: Script pour Gestion Chaudière Viessmann connecté

Message par thetrueavatar » 17 sept. 2018, 23:54

Comme je suis sympa j'ai un peu extrait les parties intéressantes à savoir les urls. Je joins l'ensemble des fichiers en question dans le zip. En cherchant dedans doit y avoir les informations de conso gaz et élec.

Code : Tout sélectionner

"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.dhw.schedule/setSchedule"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.dhw.oneTimeCharge/activate"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.dhw.oneTimeCharge/deactivate"
"http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.programs.eco/activate"
"http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.programs.eco/deactivate"
"http://0.0.0.0:8082/operational-[attachment=0]features.zip[/attachment]data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.programs.normal/setTemperature"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/features/gateway.firmware/update"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.circulation.schedule/setSchedule"
"http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.modes.active/setMode"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.reduced/setTemperature"
"http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.dhw.schedule/setSchedule"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.dhw.temperature/setTargetTemperature"
"http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.programs.comfort/setTemperature"
"http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.programs.comfort/activate"
"http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.programs.comfort/deactivate"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.heating.curve/setCurve"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.eco/activate"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.eco/deactivate"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/features/gateway.logLevel/setLogLevel"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.normal/setTemperature"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.holiday/schedule"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.holiday/unschedule"
"http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.programs.holiday/schedule"
"http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.operating.programs.holiday/unschedule"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.modes.active/setMode"
"http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.circulation.schedule/setSchedule"
"http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.heating.curve/setCurve"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.dhw.schedule/setSchedule"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.dhw.schedule/setSchedule"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.comfort/setTemperature"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.comfort/activate"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.operating.programs.comfort/deactivate"
"http://0.0.0.0:8082/operational-data/installations/demo/gateways/7123456789123456/devices/0/features/heating.circuits.0.heating.schedule/setSchedule"
"http://0.0.0.0:8082/operational-data/installations/291/gateways/7123456789123456/devices/0/features/heating.circuits.1.heating.schedule/setSchedule"
Pièces jointes
features.zip
(81.83 Kio) Téléchargé 37 fois

Mikado
Timide
Messages : 150
Inscription : 17 sept. 2018, 10:42

Re: Script pour Gestion Chaudière Viessmann connecté

Message par Mikado » 18 sept. 2018, 11:02

Bonjour à tous,

Je parcours ce fil depuis plusieurs jours, et même si je coince encore, un grand merci et un special Thanks à @thetrueavatar ;)

Pour vous donner un peu de contexte, j'ai réactivé ma Jeedom mini+ qui dormait depuis 2 ans faute d'objets. La semaine dernière, installation d'une chaudière dont vous avez compris la marque :) , avec le Vitoconnect. J'utilise Vicare, suis inscrit. J'ai des têtes POP dans différentes pièces, et l'installation est nickel. Je vois tout sur le Dashboard.

Venons en à mon problème. J'ai honte car je suis informaticien mais je coince car je tâtonne sur le mode de fonctionnement des scripts dans Jeedom, raison pour laquelle j'ai un eu honte :)

J'ai installé le dev avec un Git hier soir, et en vous lisant je tente différentes choses mais rien ne fonctionne ^^
@thetrueavatar est très actif, c'est super top mais comme j'essaye de ratrapper les 15 RER de retard, j'essaye d'éliminer les infos obsolètes.

Concrètement, j'ai fait le git au 17/09/18 à 21h30. Je crée un script, avec type action/défaut , rempli le champs requête avec : /var/www/html/plugins/script/core/ressources/Viessmann-Api/example/Main.php , tout en ayant modifié credentials.properties
Quand je clic sur Test, il me dit succès, mais je n'y crois pas trop. Du coup, je clic sur l'engrenage pour tester l'URL, mais j'ai une page blanche.

Je commence à me dire qu'il me ajouter une autre ligne de script , avec un type JSON pour la restitution ?
Bref, la je coince et vous demande de l'aide malgré ma demie journée de lecture de ce post :-/

Dernière question, suis étonné que le seul credentials.properties pour mettre son compte soit dans example, mais encore une fois je n'ai peut être rien compris.

Bref, si vous pouviez me déniaiser en me mettant le pied à l'étrier :) , je vous en serais très reconnaissant, et une fois fait, j'essaierai de mettre mes compétences à profit pour aider.

Bonne journée à tous,
Mikado

thetrueavatar
Timide
Messages : 282
Inscription : 30 nov. 2017, 13:54

Re: Script pour Gestion Chaudière Viessmann connecté

Message par thetrueavatar » 18 sept. 2018, 11:28

Pour les credentials.properties, je l'ai rajouté dans le fichier .gitignore de sorte à ce qu'il ne soit pas pushé sur le github par erreur. J'ai tout mis dans example, car je voyais que certaines personne ne s'y retrouvaient pas si tout n'était pas dans le même répertoire. J'ai donc mis le phar, le fichier credentials et les fichiers php dans le même répertoire pour simplifier l'installation. Mon développement est une API à laquelle on passe les paramètres user/pwd et sur laquelle on appelle les méthodes. J'ai mis un exemple avec un chargement depuis un fichier credentials.properties mais ceci ne fait pas partie du code de l'API à proprement parlé.

Perso j'ai testé l'intégration jeedom pour la partie get Pour les set, j'ai lancé le script et vu que la valeur était bien changée en refaisant un get.
Perso je suis aussi informaticien et je trouve jeedom complètement horrible d'un point de vue ergonomique. C'est pas du tout intuitif. Alors certes il y a de la documentation mais moi je crois en l'adage "une bonne interface c'est comme une blague, si tu dois l'expliquer c'est qu'elle n'est pas bonne". Je ne peux donc t'aider sur la partie "jeedom" car je ne m'y connais pas.
t
Sinon le Main.php contient par défaut un ensemble d'example d'appel à mon API. J'ai rajouté des méthodes Set mais en ayant hardcodé les paramètres. Il faudrait donc prendre les paramètre de l'entrée (via la variable php $argv[0]).

djorg08
Timide
Messages : 19
Inscription : 21 avr. 2017, 10:36

Re: Script pour Gestion Chaudière Viessmann connecté

Message par djorg08 » 18 sept. 2018, 15:44

@Mikado
J'en suis au même point que toi, les variables ne remonte pas dans Jeedom
Avec une seule variable dans Main.php

Code : Tout sélectionner

<?php
include __DIR__.'/bootstrap.php';
echo $viessmannApi->getOutsideTemperature();
Tu as :
2018-09-18 14_54_28-viessmann.jpg
2018-09-18 14_54_28-viessmann.jpg (22.96 Kio) Consulté 501 fois

thetrueavatar
Timide
Messages : 282
Inscription : 30 nov. 2017, 13:54

Re: Script pour Gestion Chaudière Viessmann connecté

Message par thetrueavatar » 18 sept. 2018, 16:22

Pige pas comment passer un param au script du style "php SetNormalProgramTemperature.php temperature" avec temperature la variable. Si qqun qui connait un peu le plugin script pouvait éclairer ma lanterne...
Sinon pour le script faut l'adapter pour qu'il utilise le premier paramètre passé en argument:

Code : Tout sélectionner

<?php
include __DIR__.'/bootstrap.php';
$viessmannApi->setNormalProgramTemperature($argv[0]);

denisvdb
Timide
Messages : 63
Inscription : 27 janv. 2017, 12:57

Re: Script pour Gestion Chaudière Viessmann connecté

Message par denisvdb » 18 sept. 2018, 21:31

Bonsoir à tous,
J'avoue je suis un peu perdu avec toute ces modif.
Moi j'ai que le get normal program temperature qui fonctionne!
lorsque le développement sera plus avancé il serait intéressant d'avoir un tuto qui reprend la globalité.

thetrueavatar
Timide
Messages : 282
Inscription : 30 nov. 2017, 13:54

Re: Script pour Gestion Chaudière Viessmann connecté

Message par thetrueavatar » 19 sept. 2018, 07:19

Bonjour,
Pour ma part, je fourni une API technique indépendante de jeedom. Je donne un coup de main car j'intègre aussi petit à petit mon dev dans jeedom en crééant des examples. Néanmoins, Ca reste une API et donc technique ce qui peu faire peur aux néophites. Pour être honnête, je n'y connais rien en jeedom donc limite j'attend plus que le reste de la communauté nous aide à intégrer mon API.
Mon API est documentée sur le wiki:
https://github.com/thetrueavatar/Viessmann-Api/wiki

Au niveau développement, ben j'ai presque fini en fait. On peut lire et écrire n'importe quelle valeurs via le service Viessmann. Je dois encore finir quelques méthodes simplifiées pour éviter de devoir connaître le nom techniques et le format json lors des appels.
Dernière édition par thetrueavatar le 19 sept. 2018, 11:24, édité 1 fois.

Mikado
Timide
Messages : 150
Inscription : 17 sept. 2018, 10:42

Re: Script pour Gestion Chaudière Viessmann connecté

Message par Mikado » 19 sept. 2018, 10:21

Hello thetrueavatar,

Encore merci pour ton Taf. Je sais comment utiliser une API, mais je n'ai pas encore compris dans Jeedom comment faire un script et restituer les données. Une fois compris, si j'y arrive :) je posterai
Le lien vers ton wiki fait un 404 ;) il manque le i de wiki
En le relisant, je lance l'exemple dont tu parles dans le wiki, mais cela me donne :

Code : Tout sélectionner

Erreur dans l'exécution du terminal, la valeur retournée est : 255. Détails : Array ( [0] => PHP Warning: Unsupported declare 'strict_types' in phar:///var/www/html/plugins/script/core/ressources/Viessmann/Viessmann-Api/example/Viessmann-Api-0.3-SNAPSHOT.phar/src/API/ViessmannAPI.php on line 1 PHP Parse error: syntax error, unexpected '{', expecting identifier (T_STRING) in phar:///var/www/html/plugins/script/core/ressources/Viessmann/Viessmann-Api/example/Viessmann-Api-0.3-SNAPSHOT.phar/src/API/ViessmannAPI.php on line 5 )
du coup, j'ai vérifié suis en PHP 5.6.30 alors que ton API réclame du PHP 7 d'après ton wiki. Faut que je check si l'upgrade ne met pas la merde dans Jeedom....


Bonne journée à tous

Mikado
Timide
Messages : 150
Inscription : 17 sept. 2018, 10:42

Re: Script pour Gestion Chaudière Viessmann connecté

Message par Mikado » 19 sept. 2018, 11:24

C'est encore moi :)

A priori, Jeedom est compatible php 7, mais comme j'ai une box jeedom mini+, j'ai pas trop envie de me couper du support, just in case.
Ce qui est bizarre, c'est que il n'y a pas encore si longtemps, suis pas sur que ton dev nécessitait php 7. Si ? je serais le seul en php 5 ?
C'est du super boulot que tu fais, mais si cela oblige à l'upgrade php, tu te coupes de ceux qui utilisent la release officielle de Jeedom non ?

thetrueavatar
Timide
Messages : 282
Inscription : 30 nov. 2017, 13:54

Re: Script pour Gestion Chaudière Viessmann connecté

Message par thetrueavatar » 19 sept. 2018, 11:26

je dis juste que j'ai testé en php 7. Perso je ne l'impose pas. Je vais enlever l'histoire du strict car pour être honnête je ne savais pas vraiment ce que ça faisait.

thetrueavatar
Timide
Messages : 282
Inscription : 30 nov. 2017, 13:54

Re: Script pour Gestion Chaudière Viessmann connecté

Message par thetrueavatar » 19 sept. 2018, 11:46

Voila j'ai enlevé le strict_type et j'ai fait une release 0.2.1 https://github.com/thetrueavatar/Viessm ... /tag/0.2.1

thetrueavatar
Timide
Messages : 282
Inscription : 30 nov. 2017, 13:54

Re: Script pour Gestion Chaudière Viessmann connecté

Message par thetrueavatar » 21 sept. 2018, 17:10

Bon j'ai réussi à faire fonctionner le set de valeur pour la consigne normal. L'astuce est que la valeur du curseur est référencée par #slider#.

En gros, il faut définir une commande avec comme paramètre:
- nom: le nom de votre commande. La valeur affichée se trouve en dessous du nom de la commande. Sélectionnez le nom de la commande pour récupérer la donnée. Chez moi c'est ConsigneprogrammeNormal
- Type script: script
- Type: Action. Perso j'ai choisir Curseur comme représentation
- Requête: spécifier le chemin du script. L'argument du script est #slider# pour récupérer la valeur du curseur et la passer en paramètre.

Code : Tout sélectionner

/var/www/html/plugins/script/core/ressources/viessmann/SetNormalProgramTemperature.php #slider#
- Divers: Sélectionnez le nom de la commande pour affichier la consigne normal. Chez moi ConsigneprogrammeNormal. Comme valeur de l'information mettez #slider# comme ça l'affichage sera adapté en mettant celui du curseur.

Avec ceci ça fonctionne nickel pour moi. C'est un peu lent mais j'ai l'impression que c'est le serveur viessmann ou mon code réseau qui fait ça.

denisvdb
Timide
Messages : 63
Inscription : 27 janv. 2017, 12:57

Re: Script pour Gestion Chaudière Viessmann connecté

Message par denisvdb » 21 sept. 2018, 21:10

Bonsoir,
j'ai pas trop compris ton explication.
comment fais tu pour choisir la temp a partir de ton dashboard? as tu un virtuel?
comment la valeur de la temp est elle intégrée dans le fichier .php?
merci d'avance
Denis

denisvdb
Timide
Messages : 63
Inscription : 27 janv. 2017, 12:57

Re: Script pour Gestion Chaudière Viessmann connecté

Message par denisvdb » 21 sept. 2018, 22:36

Bonsoir,
le git clone est il tj necessaire avec l'utilisation du fichier phar?
quels sont les fichier indispensable à placer dans : /var/www/html/plugins/script/core/ressources/ ?
Denis

denisvdb
Timide
Messages : 63
Inscription : 27 janv. 2017, 12:57

Re: Script pour Gestion Chaudière Viessmann connecté

Message par denisvdb » 21 sept. 2018, 22:50

Bonsoir,
autre constatation:
dans mon php, la ligne suivante ne fonctionne pas:
$viessmannApi->setNormalProgramTemperature($argv[1]); me donne une erreur --> PHP Fatal error: Uncaught Error: Call to a member function setNormalProgramTemperature() on null...
par contre si j'utilise ceci: $viessmanApi->setRawJsonData(ViessmannAPI::HEATING_PROGRAM_NORMAL,"setTemperature","{\"targetTemperature\":$argv[1]}"); alors ça fonctionne.
pourquoi il ne comprends pas la commande : setNormalProgramTemperature?
Denis

thetrueavatar
Timide
Messages : 282
Inscription : 30 nov. 2017, 13:54

Re: Script pour Gestion Chaudière Viessmann connecté

Message par thetrueavatar » 22 sept. 2018, 08:01

denisvdb a écrit :
21 sept. 2018, 21:10
Bonsoir,
j'ai pas trop compris ton explication.
comment fais tu pour choisir la temp a partir de ton dashboard? as tu un virtuel?
comment la valeur de la temp est elle intégrée dans le fichier .php?
merci d'avance
Denis
J'utilise le plugin script. Quand tu définis une commande tu peux choisir soit le type info pour afficher une valeur soit le type action pour pouvoir définir celle-ci. En php $argv[1] signifie: le premier élément du paramètre passé au script. Donc si tu fais

Code : Tout sélectionner

php  setNormalTempareture.php 20
$argv[1] sera égal à 20. Dans le plugin script si tu met dans le script

Code : Tout sélectionner

setNormalTemperature.php #slider#
, le plugin va remplacer le #slider# par la valeur du Curseur lorsque tu le relaches.
le git clone est il tj necessaire avec l'utilisation du fichier phar?
quels sont les fichier indispensable à placer dans : /var/www/html/plugins/script/core/ressources/ ?
En effet, le git clone n'est plus nécessaire vu que je livre en phar. Toutefois, le phar ne contient que l'api pas les exemples.
En pratique tu as besoin du phar pour l'api, de tes fichiers "example" genre setNormalTempareture.php, de bootstraph.php et de credentials.properties.
En pratique, quand je rajoute de nouvelles méthodes à l'API je publie une nouvelle version du phar. Par contre, lorsque je fais évoluer les exemples je mets à jour directement dans le git.

Pour ton dernier problème, il te dit juste que l'objet $viessmannApi n'existe pas et donc que tu appelles une fonction sur un objet qui n'existe pas. Il semble que ça soit $viessmanApi qui existe. J'avais fait une erreur de typo en oubliant le 2ème n de viessmann. L'objet en question est défini dans le fichier bootstrap.php par la ligne

Code : Tout sélectionner

$viessmannApi = new ViessmannAPI($params)
.
A mon avis, ton bootstrap.php n'est pas à jour et contient encore la définition avec un seul n.

denisvdb
Timide
Messages : 63
Inscription : 27 janv. 2017, 12:57

Re: Script pour Gestion Chaudière Viessmann connecté

Message par denisvdb » 22 sept. 2018, 12:04

Bonjour,
En effet il y avait un "n" trop peu. Encore merci pour l'aide.
Denis

Répondre

Revenir vers « [Plugin officiel] Scripts »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité