Demostand: различия между версиями

Строка 301: Строка 301:
<code>
<code>
     defineAlias("virtual_dimmer", "climate_system_control/Диммирование нагревателя");
     defineAlias("virtual_dimmer", "climate_system_control/Диммирование нагревателя");
    defineAlias("physical_dimmer", "wb-mdm2_2/Channel 1");
  defineAlias("physical_dimmer", "wb-mdm2_2/Channel 1");
    defineAlias("temperature_sensor", "wb-m1w2_7/External Sensor 2")
  defineAlias("temperature_sensor", "wb-m1w2_7/External Sensor 2")
    defineAlias("low_temp_value", "climate_system_control/Слишком низкая температура");
  defineAlias("optimal_temp_value", "climate_system_control/Оптимальная температура");
    defineAlias("norm_temp_value", "climate_system_control/Комфортная температура");
  defineAlias("temp_range", "climate_system_control/Границы диапазона");
    defineAlias("high_temp_value", "climate_system_control/Слишком высокая температура");
 
   
  defineAlias("turn_on_red", "wb-mir-simple_10/Play from ROM1");
    defineAlias("turn_on_red", "wb-mir-simple_10/Play from ROM1");
  defineAlias("turn_on_green", "wb-mir-simple_10/Play from ROM3");
    defineAlias("turn_on_green", "wb-mir-simple_10/Play from ROM3");
  defineAlias("turn_on_blue", "wb-mir-simple_10/Play from ROM2");
    defineAlias("turn_on_blue", "wb-mir-simple_10/Play from ROM2");
 
   
  defineVirtualDevice("climate_system_control", {
    defineVirtualDevice("climate_system_control", {
      title: "Управление климатом",
        title: "Управление климатом",
      cells: {
        cells: {
          "Диммирование нагревателя": {
            "Диммирование нагревателя": {
              type: "range",
                type: "range",
              value: 20,
                value: 20,
              min: 1,
                min: 1,
              max: 100
                max: 100
          },
            },
          "Оптимальная температура": {
            "Слишком низкая температура": {
              type: "range",
                type: "range",
              value: 24,
                value: 24,
              min: 1,
                min: 1,
              max: 35
                max: 35
          },
            },
          "Границы диапазона": {
            "Слишком высокая температура": {
              type: "range",
                type: "range",
              value: 28,
                value: 28,
              min: 1,
                min: 1,
              max: 5
                max: 45
          }
            }
 
   
 
   
 
   
 
   
      }
        }
  });
    });
 
   
 
   
 
   
  defineRule("virtual_dimmer_to_physical", {
    defineRule("virtual_dimmer_to_physical", {
      whenChanged: "climate_system_control/Диммирование нагревателя",
        whenChanged: "climate_system_control/Диммирование нагревателя",
      then: function(newValue, devName, cellName) {
        then: function(newValue, devName, cellName) {
          if (MANUAL_SWITCHER_2_FLAG == false) {
            if (MANUAL_SWITCHER_2_FLAG == false) {
              physical_dimmer = newValue;
                physical_dimmer = newValue;
          }
            }
      }
        }
  });
    });
 
   
 
   
 
   
  defineRule("indicate_temp", {
    defineRule("indicate_temp", {
      whenChanged: "temperature_sensor",
        whenChanged: "wb-m1w2_7/External Sensor 2",
      then: function(newValue, devName, cellName) {
        then: function(newValue, devName, cellName) {
          if (newValue <= optimal_temp_value - temp_range) {
            log(newValue);
              turn_on_blue = 1;
            if (newValue <= low_temp_value) {
              log("Low");
                turn_on_blue = 1;
          }
                log("Low");
 
            }
          if ((newValue > optimal_temp_value - temp_range) && (newValue < optimal_temp_value + temp_range)) {
   
              turn_on_green = 1;
            if ((newValue > low_temp_value) && (newValue < high_temp_value)) {
              log("normal");
                turn_on_green = 1;
          }
                log("normal");
 
            }
          if (newValue >= optimal_temp_value + temp_range) {
   
              turn_on_red = 1;
            if (newValue >= high_temp_value) {
              log("High");
                log(high_temp_value);
          }
                turn_on_red = 1;
      }
                log("High");
  });
            }
        }
    });
</code>
</code>
</div></div>
</div></div>
wb_editors
556

правок