Uw opmerkingen

OK, thank you for information. We will check it and improve it.

Hello

We checked it and it looks like we cannot influence the activity of this element, because this is part of the system. But we contacted Apple tech support to clarify this.

Допуская "ручное" формирование ключа Вы открываете дорогу ошибкам и злоупотреблениям... Давайте управлять чужой Алисой с неопознанного аккаунта и проекта ;))

Добрый день!

Это корректное поведение сервера, т.к. для работы драйвера Яндекс.Алиса необходима связь с нашим облаком по уникальному идентификатору проекта, а при передаче через трансфер облако ничего не знает о таком проекте и идентификатор не определен. Любой подобный облачный сервис может тестироваться только через загрузку из облака - это ограничение не обойти.

Schedule_edit_time.sirpz

IR.AddListener(IR.EVENT_START, 0 , function() {
  eventEditName = "Air conditioner switching"; // variable to write the name of the schedule being changed
  newTimeStart = "09:00:00"; // variable to record the start time of the schedule change
  newTimeFinish = "16:00:00"; // variable to record the finish time of the schedule change
  schedule = IR.GetScheduler("Schedule 1");
  events = schedule.GetEvents();
  for(i in events) {

    name = events[i].Name; // event name
    startTime = new Date(events[i].Start *1000); // event start date-time
    finishTime = new Date(events[i].End * 1000); // event finish date-time
    IR.Log("name event = " + name);
    IR.Log("start time event = " + startTime);
    IR.Log("finish time event = " + finishTime);
    //setting the start time of the schedule
    stringStartTime = startTime.toString();
    oldTimeStart = stringStartTime.split(" ");
    oldTimeStart[4] = newTimeStart;
    newFulTimeStart = new Date(oldTimeStart.join(" "));
    //setting the finish time of the schedule
    stringFinishTime = finishTime.toString();
    oldTimeFinish = stringStartTime.split(" ");
    oldTimeFinish[4] = newTimeFinish;
    newFulTimeFinish = new Date(oldTimeFinish.join(" "));

    if (eventEditName == events[i].Name) {
      events[i].Start = Math.floor(new Date(newFulTimeStart) / 1000);// event new start date-time
      events[i].Finish = Math.floor(new Date(newTimeFinish) / 1000);// event new finish date-time
    }
  }
});

Добрый день!

Извините, но данный функционал представляется избыточным и неоправданным. К реализации не планируется.

При отладке можно использовать трансфер - это не более минуты на передачу проекта.

Дмитрий, за изменение времени в серверном проекте отвечает этот кусок кода:

  this.Read = function(in_schedule, in_NewData) { 
    EventEdit = in_schedule.GetEvent(in_NewData[1]);
    EventEdit.Start = Math.floor(new Date(in_NewData[0]) / 1000);
    EventEdit.End = Math.floor(new Date(in_NewData[2]) / 1000);
    EventEdit.Enabled = (in_NewData[3] == 1);
    EventEdit.Done();  // event update
  } 

"Забирайте" время из своей переменной и выставляйте как вам удобно, без использования панели.

С какими затруднениями вы столкнулись при этом?

В демопроекте использованы команды для корректировки времени расписания. Не совсем понятен Ваш вопрос про упрощение, уточните пожалуйста.