Инициализация виртуального девайса в wb-rules

Добрый день!
Создаю виртуальный девайс. В значении по умолчанию хочу записать JSON, но получаю неожиданный результат.
Можете помочь?

Код

var init_cmd = '{"expiration_stamp_ms":0,"args":[]}';

defineVirtualDevice("5d6957cb800689a8794a0341", {
    title: "5d6957cb800689a8794a0341",
    cells: {

        io_5d6957c7800689a8794a031a: {
            type: "value",
            value: "0"
        },
        exec: {
            type: init_cmd,
            value: "0"
        },
        suspend: {
            type: "value",
            value: "0"
        }
    }
});

Результат

/devices/5d6957cb800689a8794a0341/controls/exec 0
/devices/5d6957cb800689a8794a0341/controls/exec/meta/type {"expiration_stamp_ms"
/devices/5d6957cb800689a8794a0341/controls/exec/meta/order 1
/devices/5d6957cb800689a8794a0341/controls/exec/meta/units 0,"args":[]}

Теперь я вообще ничего не понимаю.
Описываю пошагово:
Выполнил в wb-rules строчку
dev['5d6957cb800689a8794a0341']['exec'] = init_cmd;
json появился корректно.

Затем я захотел стереть json. Для этого я изменил код скрипта на

(function() {

    defineVirtualDevice("5d6957cb800689a8794a0341", {
        title: "5d6957cb800689a8794a0341",
        cells: {
            io_5d6957c7800689a8794a031a: {
                type: "value",
                value: "0"
            },
            exec: {
                type: "0",
                value: "0"
            },
            suspend: {
                type: "value",
                value: "0"
            }
        }
    });

})();

и выполнил

mqtt-delete-retained  /devices/5d6957cb800689a8794a0341/ 
service wb-rules restart
mosquitto_sub -t /devices/5d6957cb800689a8794a0341/# -v

результат

/devices/5d6957cb800689a8794a0341/meta/name 5d6957cb800689a8794a0341
/devices/5d6957cb800689a8794a0341/controls/exec/meta/type 0
/devices/5d6957cb800689a8794a0341/controls/exec/meta/order 1
/devices/5d6957cb800689a8794a0341/controls/exec {"expiration_stamp_ms":0,"args":[]}
/devices/5d6957cb800689a8794a0341/controls/io_5d6957c7800689a8794a031a/meta/type value
/devices/5d6957cb800689a8794a0341/controls/io_5d6957c7800689a8794a031a/meta/order 2
/devices/5d6957cb800689a8794a0341/controls/io_5d6957c7800689a8794a031a 1
/devices/5d6957cb800689a8794a0341/controls/suspend/meta/type value
/devices/5d6957cb800689a8794a0341/controls/suspend/meta/order 3
/devices/5d6957cb800689a8794a0341/controls/suspend 0

ответ на
root@wirenboard-AFK2C6PD:/etc/wb-rules# cat * | grep expiration_stamp_ms
пустой

что происходит?

В общем, если после объявления девайса прописать новое значение, например

dev['5d6957cb800689a8794a0341']['exec'] = "2";

Оно где-то кешируется в wb-rules, так как если убрать эту строчку из скрипта, оставить только инициализацию, со значением, например “0”, и перед перезапуском wb-rules удалить все топики этого девайса, все равно появляется “2”.

Чудеса.

Где задокументирован такой способ типизации виртуальных девайсов?

А, кажется вижу проблему. Ошибся строчками.