Email уведомления

Добрый день, подскажите пожалуйста как реализовать следующее правило. Имеется устройство с которого я считываю порядка 20 дискретных алармов. мне нужно реализовать чтобы при с работке одного из 20 алармов отправлялся email, только в случаешь если они все были 0 и один из них стал 1. я попробовал через asSoonAs но как выяснилось там больше 9 -10 условий правило перестает выполнятся.
Может есть опыт создания такого правила. Спасибо!

Здравствуйте!
Есть специальный модуль для уведомлений (отправки e-mail и sms). Про него можно почитать здесь: Модуль уведомлений — Wiren Board

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

Довольно странно. Какой контроллер используете и какие версии пакетов установлены (проверить командой dpkg -l | grep wb-).

Попробуйте использовать whenChanged вместо asSoonAs.
Пришлите минимальный фрагмент правила для воспроизведения проблемы.

defineRule({
    asSoonAs: function myFuncO () {
        return 	dev["Omron-cold_4"]["Fault: VLC Fan condenser"] 				|| dev["Omron-cold_4"]["Alarm: Low level oil"] 
            	|| dev["Omron-cold_4"]["Fault: relay flow"] 					|| dev["Omron-cold_4"]["Fault: pump 1"] 
      			|| dev["Omron-cold_4"]["Alarm: outlet pres compressor 1"]		|| dev["Omron-cold_4"]["Fault: compressor 1"] 
      			|| dev["Omron-cold_4"]["Fault: relay flow oil compressor 1"] 	|| dev["Omron-cold_4"]["Fault: motor compressor 1"] 
      			|| dev["Omron-cold_4"]["Fault: VLC compressor 1"]				|| dev["Omron-cold_4"]["Alarm: inlet pres compressor 1"]  
      			|| dev["Omron-cold_4"]["Fault: pump 2"] 						|| dev["Omron-cold_4"]["Fault: compressor 2"]
           	 	|| dev["Omron-cold_4"]["Fault: relay flow oil compressor 2"] 	|| dev["Omron-cold_4"]["Fault: motor compressor 2"]
            	|| dev["Omron-cold_4"]["Fault: VLC compressor 2"] 				|| dev["Omron-cold_4"]["Alarm: inlet pres compressor 2"] 
      			|| dev["Omron-cold_4"]["Alarm: outlet pres compressor 2"] ;
    },
    then: function myFuncOne (newValue, devName, cellName) {
         Notify.sendEmail("email@yandex.ru", "Alarm", "Машина требует внимания");
    }
});
 dpkg -l | grep wb-
ii  python-wb-common              1.3.3                                 all          Wiren Board Python common library and helpers
ii  python-wb-io                  1.2.3                                 armhf        A module to control WB IO channels.
ii  python3-wb-mcu-fw-updater     1.0.10                                all          Wiren Board modbus devices firmware update and modbus bindings python libraries (python 3)
ii  python3-wb-update-manager     1.0.2                                 all          Wirenboard software updates and release management tool - python3 library
ii  u-boot-tools                  2:2017.03+wb-2                        all          transitional package - use u-boot-tools-wb instead
ii  u-boot-tools-wb               2:2017.03+wb-2                        armhf        companion tools for Das U-Boot bootloader
ii  wb-configs                    2.1.0                                 all          Default common config files for Wiren Board
ii  wb-configs-stretch            2.1.0                                 all          Default stretch-specific config files for Wiren Board
ii  wb-dt-overlays                1.3                                   all          Device tree overlays for Wiren Board devices
ii  wb-essential                  1.0                                   all          Wirenboard essential packages
ii  wb-homa-ism-radio             1.17.3                                all          MQTT driver for WB HomA for RFM69 ISM radio
ii  wb-homa-w1                    2.1.0                                 all          transitional dummy package
ii  wb-hwconf-manager             1.40.0                                all          Provides infrastructure for hardware re-configuration via Device Tree overlays
ii  wb-knxd-config                1.0.1                                 armhf        KNXD Configurator for Wiren Board
ii  wb-mcu-fw-flasher             1.0.7                                 armhf        Firmware update tool for Wiren Board Modbus devices (WB-M*)
ii  wb-mcu-fw-updater             1.0.10                                all          Wiren Board modbus devices firmware update tool (python 3)
ii  wb-mqtt-adc                   2.0.10                                armhf        Wiren Board Smart Home MQTT ADC driver (WB-specific) compatible with HomA conventions
ii  wb-mqtt-confed                1.2.7                                 armhf        Configuration Editor Backend
ii  wb-mqtt-dac                   1.1.2                                 all          wb-rules-based IIO DAC driver for WB MQTT
ii  wb-mqtt-db                    2.1.0                                 armhf        Wiren Board database logger
ii  wb-mqtt-db-cli                1.2.1                                 all          CLI for wb-mqtt-db
ii  wb-mqtt-gpio                  2.4.0                                 armhf        Wiren Board Smart Home MQTT generic sysfs GPIO driver compatible with HomA conventions
ii  wb-mqtt-homeui                2.5.7                                 all          Wiren Board Web UI web interface
ii  wb-mqtt-knx                   0.1.2                                 armhf        Wiren Board MQTT to KNX gateway
ii  wb-mqtt-mbgate                1.0.1                                 armhf        Wiren Board MQTT to Modbus gatewayii  wb-mqtt-opcua                 0.1.0                                 armhf        Wiren Board MQTT to OPC UA gatewayii  wb-mqtt-serial                2.22.1-wb5                            armhf        Wiren Board Smart Home MQTT serial protocol driver
ii  wb-mqtt-w1                    2.1.0                                 armhf        Wiren Board Smart Home MQTT generic 1-Wire (w1) driver compatible with HomA conventions
ii  wb-release-info               1.0-stable~wb6+stretch~20210914172930 all          release information package for Wirenboard
ii  wb-rules                      2.8.1                                 armhf        Wiren Board Rule Engine
ii  wb-rules-system               1.6.13                                all          Default system rules for Wiren Board
ii  wb-suite                      1.2                                   all          Wirenboard vendor software set
ii  wb-test-suite                 1.24                                  all          Wiren Board functional testing suite
ii  wb-update-manager             1.0.2                                 all          Wirenboard software updates and release management tool
ii  wb-utils                      2.3.1                                 all          Wiren Board command-line utils

Пока не получается воспроизвести, все отрабатывает штатно. Версия движка правил та же (2.8.1).
Использую вот такой пример:

   
defineRule({
    asSoonAs: function myFuncO () {
        return 	dev["wb-gpio"]["EXT1_DR1"]	|| dev["wb-gpio"]["EXT1_DR2"]	|| dev["wb-gpio"]["EXT1_DR3"]	||
          		dev["wb-gpio"]["EXT1_DR4"]	|| dev["wb-gpio"]["EXT1_DR5"]	|| dev["wb-gpio"]["EXT1_DR6"]	||
          		dev["wb-gpio"]["EXT1_DR7"]	|| dev["wb-gpio"]["EXT1_DR8"]	|| dev["wb-gpio"]["EXT1_DR9"]	||
          		dev["wb-gpio"]["EXT1_DR10"]	|| dev["wb-gpio"]["EXT1_DR11"]	|| dev["wb-gpio"]["EXT1_DR12"]	||
          		dev["wb-gpio"]["EXT1_DR13"]	|| dev["wb-gpio"]["EXT1_DR14"]  ||
				dev["wb-gpio"]["EXT2_R3A1"]  ||
          		dev["wb-gpio"]["EXT2_R3A2"]  ||
          		dev["wb-gpio"]["EXT2_R3A3"]  ||
          		dev["wb-gpio"]["EXT2_R3A4"]  ||
          		dev["wb-gpio"]["EXT2_R3A5"]  ||
          		dev["wb-gpio"]["EXT2_R3A6"]  ||
          		dev["wb-gpio"]["EXT2_R3A7"]  ||
          		dev["wb-gpio"]["EXT2_R3A8"];
          		
      		
    },
    then: function myFuncOne (newValue, devName, cellName) {
         log.info("Function was executed by " + devName + "/" + cellName);
    }
});

В логах получаю:

2021-10-22 10:48:59Function was executed by wb-gpio/EXT1_DR10
2021-10-22 10:52:26Function was executed by wb-gpio/EXT1_DR10
2021-10-22 10:52:28Function was executed by wb-gpio/EXT1_DR10
2021-10-22 10:53:05Function was executed by wb-gpio/EXT2_R3A8
2021-10-22 10:53:09Function was executed by wb-gpio/EXT2_R3A8
2021-10-22 10:53:28Function was executed by wb-gpio/EXT2_R3A7

Может, какой-то аларм всегда в 1, поэтому условие перестает работать?

Перепроверю еще раз.

Спасибо за помощь, действительно мой косяк, в конфигурационном файле в двух топиках в конце пробел был. Я при создание правила его удалил. Осталось разобраться почему письма в спам летят
)))