san4es

<<< Back

Добавление розетки в простые устройства

что бы не выбирать в простых устройствах иконку вручную,было создано это, с изменением статуса без подсвечивания

html/modules/devices/addons
создаем файл "Ssocket_structure.php"
в нем вписываем

<?php

$this->device_types['Socket'] = array(
    'TITLE'=>LANG_DEVICES_SOCKET,
    'PARENT_CLASS'=>'SControllers',
    'CLASS'=>'SSocket',
    'DESCRIPTION'=>'bulb controller',
    'PROPERTIES'=>array( 

    ),
    'METHODS'=>array(
        'switch'=>array('DESCRIPTION'=>'Switch'),
        'turnOn'=>array('DESCRIPTION'=>LANG_DEVICES_TURN_ON,'_CONFIG_SHOW'=>1),
        'turnOff'=>array('DESCRIPTION'=>LANG_DEVICES_TURN_OFF,'_CONFIG_SHOW'=>1), 

    ),
);

так же создаем "Ssocket_structure_links.php"
в нем вписываем

<?php
$this->device_links['SMotions,SButtons,SOpenClose,SCameras'][2]['TARGET_CLASS'] .= ',SSocket';

html/modules/devices
создаем файл "SSocket_switch.php"
в нем вписываем

<?php
if ($this->getProperty('status')) {
 $this->callmethodSafe('turnOff');
} else {
 $this->callmethodSafe('turnOn');
}

создаем файл "SSocket_turnOff"
в нем вписываем

<?php
$this->setProperty('status', 0);

создаем файл "SSocket_turnOn"
в нем вписываем

<?php
$this->setProperty('status', 1);

html/templates/classes/views/
создаем файл 'SSocket.php"
в нем вписываем

 <div class="device-widget socket %.loadType%"
     onClick='$(".icon%.object_id%_light").addClass("pressed");
     setTimeout("$(\".icon%.object_id%_light\").removeClass(\"pressed\");",300);
     callMethod("%.object_title%.switch");
     $.get("<#ROOTHTML#>ajax/devices.html?op=clicked&object="+encodeURIComponent("%.object_title%"));'>
     <div class="socket device-icon %.status|"off;on"% icon%.object_id%_light" id="icon%.object_id%_light" style='%.icon|"background-image:url(%.icon%)"%'></div>
     <div class="device-header">%.object_description%
 </div>
</div>

html/css/
добавляем

/*Розетка иконка*/
.socket .device-icon.on {
    background-image: url(../cms/scenes/styles/devices/socket_on.png);
}
.socket .device-icon {  
    background-image: url(../cms/scenes/styles/devices/socket_off.png);
}

создаем папку /cms/scenes/styles/devices/ куда вставляем иконки.

иконку качаем тут:https://disk.yandex.ru/d/813FnN0VsEp7aw
languages/ru.php
добавляем

    'DEVICES_SOCKET' => 'Розетка',

после строчки 1118
в // DEVICES

Discuss (4) (7)

See also:
2021-11-07 DarknessMode добавления строчки для изменения иконки
2021-11-07 EconomMode добавления строчки для изменения иконки
2021-10-04 Открытие\закрытие простые устройства
2021-10-03 Датчик движения простые устройства
2021-09-11 SGadget в простых устройствах
2021-07-13 Измененый дивайс Простое устройство: ТВ
2021-09-24 Изменения иконки - свойства vаlue температуры
2021-01-19 Изменения иконки- статуса RGB

Москва, Россия

На форуме: yoshok