Переименование канала GPIO


#1

Добрый день,

В процессе настройки WB столкнулся с проблемой: при переименовании канала GPIO, канал с новым именем появляется и нормально работает, но при этом остается и старое имя канала, причем канал со старым именем не реагирует на внешние изменения (что логично) и просто висит в статусе, который был перед переименованием.
В моем случае вышло вот так (вкладка Devices):
acd
На форуме нашел упоминание про mqtt-delete-retained, но эта команда не помогла, только сбросила состояние канала со старым именем на “0”. Вот вывод:

mqtt-delete-retained '/devices/wb-gpio/controls/EXT1_IN1'
/devices/wb-gpio/controls/EXT1_IN1
/tmp/1522620961.745651/retain_hack
/devices/wb-gpio/controls/EXT1_IN1
done!

Перезагрузку WB делал.
Подскажите, как правильно удалить каналы со старым именем?


#2

https://contactless.ru/wiki/index.php/MQTT#.D0.9E.D1.87.D0.B8.D1.81.D1.82.D0.BA.D0.B0_.D0.BE.D1.87.D0.B5.D1.80.D0.B5.D0.B4.D0.B8_.D1.81.D0.BE.D0.BE.D0.B1.D1.89.D0.B5.D0.BD.D0.B8.D0.B9


#3

Судя по выводу команды, сейчас у вас как раз канал называется EXT1_IN1.
Посмотрите содержимое /etc/wb-homa-gpio.conf и покажите здесь.


#4

Непохоже. EXT1_IN1_PHASE1 - показывает актуальную информацию, а EXT1_IN1 - нет.

Вот содержимое /etc/wb-homa-gpio.conf:

cat /etc/wb-homa-gpio.conf
{
    "channels": [
        {
            "name": "A1_OUT",
            "gpio": 26,
            "inverted": false
        },
        {
            "name": "A2_OUT",
            "gpio": 16,
            "inverted": false
        },
        {
            "name": "A3_OUT",
            "gpio": 24,
            "inverted": false
        },
        {
            "name": "A4_OUT",
            "gpio": 20,
            "inverted": false
        },
        {
            "name": "A1_IN",
            "gpio": 6,
            "direction": "input",
            "inverted": true
        },
        {
            "name": "A2_IN",
            "gpio": 7,
            "direction": "input",
            "inverted": true
        },
        {
            "name": "A3_IN",
            "gpio": 28,
            "direction": "input",
            "inverted": true
        },
        {
            "name": "A4_IN",
            "gpio": 27,
            "direction": "input",
            "inverted": true
        },
        {
            "name": "R1_IN",
            "gpio": 5,
            "direction": "input",
            "inverted": true
        },
        {
            "name": "BATTERY_PRESENT",
            "gpio": 57,
            "direction": "input",
            "inverted": true
        },
        {
            "name": "BATTERY_CHARGING",
            "gpio": 126,
            "direction": "input",
            "inverted": true
        },
        {
            "name": "5V_OUT",
            "gpio": 78,
            "direction": "output",
            "initial_state": true
        },
        {
            "name": "EXT1_IN1_PHASE1",
            "gpio": 160,
            "direction": "input",
            "inverted": false
        },
        {
            "name": "EXT1_IN2_PHASE2",
            "gpio": 161,
            "direction": "input",
            "inverted": false
        },
        {
            "name": "EXT1_IN3_PHASE3",
            "gpio": 162,
            "direction": "input",
            "inverted": false
        },
        {
            "name": "EXT1_IN4",
            "gpio": 163,
            "direction": "input",
            "inverted": false
        },
        {
            "name": "EXT1_IN5",
            "gpio": 164,
            "direction": "input",
            "inverted": false
        },
        {
            "name": "EXT1_IN6",
            "gpio": 165,
            "direction": "input",
            "inverted": false
        },
        {
            "name": "EXT1_IN7_FRIDGE",
            "gpio": 166,
            "direction": "input",
            "inverted": false
        },
        {
            "name": "EXT1_IN8_MASTER",
            "gpio": 167,
            "direction": "input",
            "inverted": false
        },
        {
            "name": "MOD1_OUT1",
            "gpio": 83,
            "direction": "output",
            "inverted": false
        },
        {
            "name": "MOD2_K1",
            "gpio": 108,
            "direction": "output",
            "inverted": false
        },
        {
            "name": "MOD2_K2",
            "gpio": 84,
            "direction": "output",
            "inverted": false
        }
    ],
    "device_name": "Discrete I/O"
}

Кстати, если повторно запустить удаление, то вывод немного отличается:

mqtt-delete-retained '/devices/wb-gpio/controls/EXT1_IN1'
/tmp/1522661348.6310301/retain_hack
done!

Из Devices и Settings данный канал по-прежнему не удаляется.


#5

Попробуйте вот так:
mqtt-delete-retained '/devices/wb-gpio/controls/EXT1_IN1/#'


#6

@bzzeke, получилось, спасибо!