Страница 2 из 4

Re: Китайская панель в подрозетник с экраном 480*480

Добавлено: Чт фев 22, 2024 1:14 am
xor
ну, или циферблат просто средствами openHasp можно нарисовать
{"obj": "line", "id": 1, "points": "[[240,50],[240,5]]", "line_width": 8, "line_color": "#40A2D8"}
{"obj": "line", "id": 2, "points": "[[345,55],[357,33]]", "line_width": 8, "line_color": "#40A2D8"}
{"obj": "line", "id": 3, "points": "[[421,125],[443,112]]", "line_width": 8, "line_color": "#40A2D8"}
{"obj": "line", "id": 4, "points": "[[430,220],[475,220]]", "line_width": 8, "line_color": "#40A2D8"}
{"obj": "line", "id": 5, "points": "[[421,314],[443,327]]", "line_width": 8, "line_color": "#40A2D8"}
{"obj": "line", "id": 6, "points": "[[345,384],[357,406]]", "line_width": 8, "line_color": "#40A2D8"}
{"obj": "line", "id": 7, "points": "[[240,389],[240,434]]", "line_width": 8, "line_color": "#40A2D8"}
{"obj": "line", "id": 8, "points": "[[135,384],[122,406]]", "line_width": 8, "line_color": "#40A2D8"}
{"obj": "line", "id": 9, "points": "[[58,315],[36,327]]", "line_width": 8, "line_color": "#40A2D8"}
{"obj": "line", "id": 10, "points": "[[50,220],[5,220]]", "line_width": 8, "line_color": "#40A2D8"}
{"obj": "line", "id": 11, "points": "[[58,125],[36,112]]", "line_width": 8, "line_color": "#40A2D8"}
{"obj": "line", "id": 12, "points": "[[134,55],[122,33]]", "line_width": 8, "line_color": "#40A2D8"}
2024-02-22_01-10-30.png
2024-02-22_01-10-30.png (13.09 КБ) 1531 просмотр

Re: Китайская панель в подрозетник с экраном 480*480

Добавлено: Пт фев 23, 2024 1:28 pm
AK1
Немного добавил.
При открытии страницы с скриншотом видеокамеры запускается циклическое обновление картинки.
Условие обновления:
1. Номер страницы (Page = 4)
2. Устройство в сети (LWT = 1)
При смене страницы или отключении устройства обновление останавливается.


В код вывода картинки (runScript('Картинка на OpenHASP');) добавил:
$page = gg('Panel_1.Page');
$LWT = gg('Panel_1.LWT');
if (($page == 4) && ($LWT == 1)) {
setTimeOut('Timer_1_OH',"runScript('Картинка на OpenHASP');",2);
}

Для топика hasp/plate_1/state/page
Добавил метод Change_page
$Panel = $params['NEW_VALUE'];
if ($Panel == 4) {
runScript('Картинка на OpenHASP');
}

Re: Китайская панель в подрозетник с экраном 480*480

Добавлено: Пт фев 23, 2024 4:11 pm
xor
AK1 писал(а):
Пт фев 23, 2024 1:28 pm
Для топика hasp/plate_1/state/page
Добавил метод Change_page
$Panel = $params['NEW_VALUE'];
if ($Panel == 4) {
runScript('Картинка на OpenHASP');
}
из той же логики - при переключении на страницу с локальными реле
if ($Panel == 2) {
runScript('прочитаем актуальный статус реле');
}

где скрипт прочитаем актуальный статус реле что-нибудь типа:

Код: Выделить всё

$par = array(
	'topic'=> "hasp/plate/command/output40",
	'value' => null
);
rs("send_mqtt", $par);
$par = array(
	'topic'=> "hasp/plate/command/output1",
	'value' => null
);
rs("send_mqtt", $par);
$par = array(
	'topic'=> "hasp/plate/command/output2",
	'value' => null
);
rs("send_mqtt", $par);
этот же скрипт надо запускать при переходе в онлайн

Re: Китайская панель в подрозетник с экраном 480*480

Добавлено: Сб фев 24, 2024 11:31 am
xor
не переживаем, что пока в панели нет графиков, отправляем их картинкой
Готовлю так

Код: Выделить всё

$url = BASE_URL.'/pChart/?p=Outside.Temperature&title=Улица&type=1d&gcolor=red&bg=dark&width=470&height=310';
$path = ROOT.'cms/cached/img/chart2.png';
file_put_contents($path, file_get_contents($url));
2024-02-24_11-28-53.png
2024-02-24_11-28-53.png (24.2 КБ) 1392 просмотра

Re: Китайская панель в подрозетник с экраном 480*480

Добавлено: Вс фев 25, 2024 9:59 am
AK1
Для вывода информации на экран в виде таблицы не обязательно прописывать положение каждой ячейки.
Можно выводить столбцами (для текстов и встроенных иконок). Положение своих картинок прописывать индивидуально.
В свойство, которое привязано к этому столбцу записываем все данные всех ячеек с разделением символа переноса строки.
В данном случае код переноса не совсем удобный, поэтому в коде сбора столбца вводится переменная $q = json_decode('"\n"');
В итоге код сбора столбца выглядит так:
$t1 = '07'.$q.round($var[hourly][temperature_2m_gfs_global][7],0).$q.$q.$ww[0].$q.round($var[hourly][wind_speed_10m_gfs_global][7],0);
Это пример из таблицы для отображения прогноза погоды. Данные берутся с сайта open-meteo.com
Данные можно формировать по нескольким моделям прогноза погоды.
Температуру беру с одной модели, код погоды – с другой.

Re: Китайская панель в подрозетник с экраном 480*480

Добавлено: Сб мар 02, 2024 6:33 pm
Ingenieur
Меняем цвет иконки wifi
{"page":0,"id":4,"obj":"label","x":210,"y": 0,"w":60,"h":40,"text_font":32,"text_color":"#FFFF00","align":"center","text":"\uE5A9"}
в зависимости от уровня сигнала

Код: Выделить всё

  $obj="p0b4";
  $prop="text_color"; 
  $rssi= gg('esp32-4848.rssi');
  
  if ($rssi >=-30) $value="green";
  elseif ($rssi <-31 && $rssi >= -50) $value="orange";
  elseif ($rssi <-51 && $rssi >= -80) $value="tomato";
  else $value="red"; 

  $par = array(
  'topic'=> "hasp/plate/command/"."$obj"."$prop",
  'value' => "$value"
  );
  rs('send_mqtt', $par);

Re: Китайская панель в подрозетник с экраном 480*480

Добавлено: Вс мар 03, 2024 3:47 pm
xor
обратите внимание - вышел модуль интеграции https://connect.smartliving.ru/addons/c ... 1/284.html

Re: Китайская панель в подрозетник с экраном 480*480

Добавлено: Пн мар 04, 2024 11:02 pm
Ingenieur
Погода из модуля "Погода от OpenWeatherMap".
Панель - pages5.jsonl
MDM - send_ow_fact.php

Re: Китайская панель в подрозетник с экраном 480*480

Добавлено: Ср мар 06, 2024 10:04 pm
Ingenieur
Добавил страницу с прогнозом погоды.

Re: Китайская панель в подрозетник с экраном 480*480

Добавлено: Пт мар 22, 2024 1:55 pm
vlad145
Доброго времени суток. Нашел в сети подборки различных корпусов и подставок под данную панель:
https://www.printables.com/search/model ... ctx=models
https://www.thingiverse.com/search?q=nspanel&page=1