{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Копытов Иван: заметки с тегом троллейбус",
    "_rss_description": "Блог ленивого сисадмина",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/kini24.ru\/tags\/trolleybus\/",
    "feed_url": "https:\/\/kini24.ru\/tags\/trolleybus\/json\/",
    "icon": false,
    "authors": [
        {
            "name": "Копытов Иван",
            "url": "https:\/\/kini24.ru\/",
            "avatar": false
        }
    ],
    "items": [
        {
            "id": "273",
            "url": "https:\/\/kini24.ru\/all\/dvizhenie-avtobusov-v-home-assistant\/",
            "title": "Движение автобусов в Home Assistant",
            "content_html": "<h3>Добавление движения общественного транспорта в Home Assistant<\/h3>\n<p>Наконец-то у меня получилось. Как обычно, делал всё сильно неспешно при наличии свободного времени и желания. «Воды» не будет, поэтому поехали.<br \/>\nСейчас не вспомню как, но как-то я вышел на адрес сайта, который отдает данные в формате JSON. Так как меня интересовал в первую очередь конкретный маршрут трамвая, то я получил вот такой вот адрес:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">https:\/\/mu-kgt.ru\/informing\/wap\/marsh\/?m=6%F2%F0&amp;action=getMarshData<\/code><\/pre><p>Что здесь интересного?<\/p>\n<ul>\n<li><i>m=6%F2%F0<\/i> — номер маршрута и обозначение типа транспорта. В данном случае часть «%F2%F0» — это всего лишь русские буквы «тр», то есть трамвай. Для троллейбуса это будет просто «т» или «%F2», для автобуса это либо «а», либо вообще без буквы — если честно, не пробовал, да и лень было.<\/li>\n<li><i>action=getMarshData<\/i> — вызывает одноименную функцию в скрипте.<br \/>\nПереходим в Home Assistant. Здесь я создал новый сенсор в configuration.yaml такого вида:<\/li>\n<\/ul>\n<pre class=\"e2-text-code\"><code class=\"\">sensor:\n  - platform: rest\n    resource: https:\/\/mu-kgt.ru\/informing\/wap\/marsh\/?m=6%F2%F0&amp;action=getMarshData\n    name: Трамвай 6 прибытие\n    unique_id: tram6_arrival\n    value_template: &quot;{{ value_json.ts_line.A[-1].st_arrive }}&quot;\n    scan_interval: 120<\/code><\/pre><p>Самое важное здесь — value_template, в котором содержится путь до нужной остановки, по которой получаем информацию о времени прибытия. Буквой «А» закодировано направление движения транспорта, которое вы видите в левой части экрана, а буквой «В» — в правой части экрана.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/kini24.ru\/pictures\/Snimok-ekrana-ot-2024-01-17-23-04-37@2x.png\" width=\"656\" height=\"329\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Такие же буквы присутствуют на самом сайте и в приложении.<\/div>\n<\/div>\n<p>Я сделал два сенсора: прибытие и убытие, чтобы ориентироваться когда придет следующий трамвай на конечную остановку. Можно оформить и получше, но это — не главное.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/kini24.ru\/pictures\/Snimok-ekrana-ot-2024-01-17-21-16-28@2x.png\" width=\"243\" height=\"85\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Вид сенсоров в Home Assistant<\/div>\n<\/div>\n<p>Ах да, чуть не забыл. Как посмотреть номер нужной остановки? Открываем страницу по <a href=\"https:\/\/mu-kgt.ru\/informing\/wap\/online\/\">ссылке<\/a>, выбираем тип транспорта, маршрут и направление движения. Затем щелкаем на нужной остановке, чтобы открыть прогноз движения транспорта. Среди прочей информации будет строка вида:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Остановка: Детский кинотеатр «Мечта» (код 336)<\/code><\/pre><p>В скобках мы и увидим код остановки. В данных, которые нам отдает скрипт по запросу, это код содержится в поле <i>st_regnum<\/i>.<\/p>\n<p>И еще небольшое дополнение. Значения «0» и «-1», конечно, хороши для выбора конечных остановок при условии, что мы не знаем количество остановок на маршруте, который может измениться, например, из-за ремонта дороги или аварии. Следующий шаблон выбирает остановку с заданным кодом:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">value_template: &gt;-\n  {% set stops = value_json.ts_line.A %}\n  {% for stop in stops %}\n    {% if stop.st_regnum == 1989 %} {{ stop.st_arrive }} {% endif %}\n  {% endfor %}<\/code><\/pre><p>Обновлено. Автобусы маркируются без буквы в URL, только номер маршрута.<\/p>\n",
            "date_published": "2024-01-17T23:26:21+07:00",
            "date_modified": "2024-03-14T19:05:58+07:00",
            "tags": [
                "home assistant",
                "online",
                "автобус",
                "движение",
                "красноярск",
                "красноярскгортранс",
                "портал",
                "сайт",
                "трамвай",
                "транспорт",
                "троллейбус"
            ],
            "image": "https:\/\/kini24.ru\/pictures\/Snimok-ekrana-ot-2024-01-17-23-04-37@2x.png",
            "_date_published_rfc2822": "Wed, 17 Jan 2024 23:26:21 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "273",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/kini24.ru\/pictures\/Snimok-ekrana-ot-2024-01-17-23-04-37@2x.png",
                    "https:\/\/kini24.ru\/pictures\/Snimok-ekrana-ot-2024-01-17-21-16-28@2x.png"
                ]
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}