Gladys et Imperihome


#83

De rien. Bonne nuit :slight_smile:


#84

Bonne nuit également !


#85

oui, c’est clair que c’est pas précis. mais le volet est déjà vieux et je ne cherche pas la précision.
voici le code, encore en cours d’amélioration:

var t_max= 160;
var t_demand;

    console.log(`start script`);
    gladys.param.getValue(`volet_position`)
    .then((cur_pos) =>{
        gladys.deviceType.exec({
                devicetype: 322,
                value: 0
            });
        gladys.deviceType.exec({
                devicetype: 321,
                value: 0
            });
        console.log(`position actuelle:${cur_pos}`);
        gladys.deviceType.getById({ id: 327})
        .then((demand) => {
            console.log(`position demandee:${demand.lastValue}`);
            if(demand.lastValue>cur_pos){
                t_demand = t_max*(demand.lastValue-cur_pos);
                gladys.deviceType.exec({
                    devicetype: 322,
                    value: 1
                });
            }else{
                t_demand = t_max*(cur_pos-demand.lastValue);
                gladys.deviceType.exec({
                    devicetype: 321,
                    value: 1
                });
            }
            console.log(`temps:${t_demand}`);
            setTimeout(function(){
                gladys.deviceType.exec({
                    devicetype: 322,
                    value: 0
                });
                gladys.deviceType.exec({
                    devicetype: 321,
                    value: 0
                });
            },t_demand)
            gladys.param.setValue({
                    name:'volet_position',
                    value:`${demand.lastValue}`
            })
        })
    })