# system

Добавляет возможность выполнения платформенно-зависимых операций.

GPIO использовать с осторожностью! Данный модуль использует нативные библиотеки, код которых может угрожать стабильности всей системы.

При работе с `shutdown` данный модуль требует включения в задачу.

    plugin.system:
      enable: on

      module.sys:
        enable: on

        gpio:
          gpi.0: 2563/1
          gpi.1: 2565/5
          gpi.2: 2565/4
          gpi.3: 2560/1

          gpo.0: 2563/6
          gpo.1: 2562/5
          gpo.2: 2567/0
          gpo.3: 2567/1

        shutdown:
          tag:     gpi.0
          value:   1
          delay_s: 300

        syscommands:
          - cmdline: "sensors"
            tags:
              - name: temp1
                regex: "temp1:\\s*([-+]+\\d+)"
              - name: temp.core0
                regex: "Core 0:\\s*([-+]+\\d+\\.\\d)"
                type: double
              - name: temp.core2
                regex: "Core 2:\\s*([-+]+\\d+\\.\\d)"
                type: double

          - cmdline: "uname -a"
            tags:
              - name: uname
                type: string

          - cmdline: "ping -c 1 yahoo.com"
            tags:
              - name: ping
                type: double
                regex: time=(.*) ms

Параметр | По умолчанию | Описание
--- | --- | ---
gpio | - | карта портов ввода/вывода в формате: `tagname: ioport/bit`
tagname - имя создаваемого тега
ioport - номер аппаратного порта, см. описание gpio в мануале на оборудование
bit - номер бита, от 0 до 7
shutdown | - | параметры отключения системы по событию
syscommands | - | список команд операционной системы
shutdown
tag | - | отслеживаемый тег для определения наступления события
value | `1` | необходимое значение тега для определения наступления события
delay_s | `60` | задержка отключения после наступления события в циклах задачи (не секунды)
cmd.linux |
    shutdown -h now
| системная команда отключения для linux
cmd.windows |
    shutdown.exe -s -t 0
| системная команда отключения для windows
syscommands
cmdline | - | текст комадны
tags | - | список тегов для получения результата выполнения команды
syscommands.tags
name | - | Имя тега
type | `int` | Тип тега: `int, double, boolean, string`
regex | `(.*)` | Регулярное выражение для извлечения значения тега из вывода команды. В выражение обязательно должна быть одна группу, значение которой и присваивается тегу

## Теги

shutdown.enable | Разрешение отключения системы. Тег предназначен для записи из вне. По умолчанию - off
shutdown.cnt | Обратный счетчик до отключения системы
shutdown.state | Индикатор состояния отключения:
`0` - ожидание события
`1` - идет задержка отключения
`2` - отключение отменено до наступления нового события
`3` - выполняется отключение