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

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

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

Сообщение xor » Чт фев 22, 2024 1:14 am

ну, или циферблат просто средствами 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 КБ) 1137 просмотров
За это сообщение автора xor поблагодарил:
AK1 (Чт фев 22, 2024 6:33 am)
Рейтинг: 1.16%
AK1
Сообщения: 141
Зарегистрирован: Чт фев 13, 2020 6:39 pm
Благодарил (а): 23 раза
Поблагодарили: 34 раза

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

Сообщение AK1 » Пт фев 23, 2024 1:28 pm

Немного добавил.
При открытии страницы с скриншотом видеокамеры запускается циклическое обновление картинки.
Условие обновления:
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');
}
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

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

Сообщение xor » Пт фев 23, 2024 4:11 pm

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);
этот же скрипт надо запускать при переходе в онлайн
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

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

Сообщение xor » Сб фев 24, 2024 11:31 am

не переживаем, что пока в панели нет графиков, отправляем их картинкой
Готовлю так

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

$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 КБ) 998 просмотров
AK1
Сообщения: 141
Зарегистрирован: Чт фев 13, 2020 6:39 pm
Благодарил (а): 23 раза
Поблагодарили: 34 раза

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

Сообщение AK1 » Вс фев 25, 2024 9:59 am

Для вывода информации на экран в виде таблицы не обязательно прописывать положение каждой ячейки.
Можно выводить столбцами (для текстов и встроенных иконок). Положение своих картинок прописывать индивидуально.
В свойство, которое привязано к этому столбцу записываем все данные всех ячеек с разделением символа переноса строки.
В данном случае код переноса не совсем удобный, поэтому в коде сбора столбца вводится переменная $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
Данные можно формировать по нескольким моделям прогноза погоды.
Температуру беру с одной модели, код погоды – с другой.
Вложения
2.png
2.png (24.17 КБ) 906 просмотров
Безымянный.png
Безымянный.png (85.54 КБ) 906 просмотров
Ingenieur
Сообщения: 3
Зарегистрирован: Вс янв 14, 2024 9:40 pm
Благодарил (а): 0
Поблагодарили: 3 раза

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

Сообщение Ingenieur » Сб мар 02, 2024 6:33 pm

Меняем цвет иконки 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);
За это сообщение автора Ingenieur поблагодарил:
vlad145 (Пт мар 29, 2024 7:56 am)
Рейтинг: 1.16%
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

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

Сообщение xor » Вс мар 03, 2024 3:47 pm

обратите внимание - вышел модуль интеграции https://connect.smartliving.ru/addons/c ... 1/284.html
Ingenieur
Сообщения: 3
Зарегистрирован: Вс янв 14, 2024 9:40 pm
Благодарил (а): 0
Поблагодарили: 3 раза

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

Сообщение Ingenieur » Пн мар 04, 2024 11:02 pm

Погода из модуля "Погода от OpenWeatherMap".
Панель - pages5.jsonl
MDM - send_ow_fact.php
Вложения
pages5.jsonl.txt
Панель
(3.08 КБ) 22 скачивания
weather.png
Результат
weather.png (38.83 КБ) 696 просмотров
send_ow_fact.php.txt
МДМ
(1.91 КБ) 30 скачиваний
За это сообщение автора Ingenieur поблагодарили (всего 2):
xor (Вт мар 05, 2024 12:17 am) • vlad145 (Пт мар 29, 2024 8:20 am)
Рейтинг: 2.33%
Ingenieur
Сообщения: 3
Зарегистрирован: Вс янв 14, 2024 9:40 pm
Благодарил (а): 0
Поблагодарили: 3 раза

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

Сообщение Ingenieur » Ср мар 06, 2024 10:04 pm

Добавил страницу с прогнозом погоды.
Вложения
send_ow.php.txt
МДМ
(6.37 КБ) 25 скачиваний
pages5.jsonl.txt
Панель
(6.66 КБ) 22 скачивания
weather_forecast.png
Скриншот
weather_forecast.png (47.01 КБ) 603 просмотра
vlad145
Сообщения: 18
Зарегистрирован: Вт мар 05, 2024 7:31 am
Благодарил (а): 5 раз
Поблагодарили: 1 раз

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

Сообщение vlad145 » Пт мар 22, 2024 1:55 pm

Доброго времени суток. Нашел в сети подборки различных корпусов и подставок под данную панель:
https://www.printables.com/search/model ... ctx=models
https://www.thingiverse.com/search?q=nspanel&page=1
За это сообщение автора vlad145 поблагодарил:
xor (Пт мар 22, 2024 8:41 pm)
Рейтинг: 1.16%
Ответить