Плагин MegaD



  • @Alex_Jet:

    Если контроллер выдает в качестве температуры string "NA" (DS18B20) или совсем ничего (пустая страничка device list для шины 1W), как в системе можно настроить отображение ошибки на устройстве?

    "Установить ошибку если нет данных в течение (сек)" не работает?



  • @intrapro:

    @Alex_Jet:

    Если контроллер выдает в качестве температуры string "NA" (DS18B20) или совсем ничего (пустая страничка device list для шины 1W), как в системе можно настроить отображение ошибки на устройстве?

    "Установить ошибку если нет данных в течение (сек)" не работает?

    Да, действительно работает! У меня галочки стояли, но время было 0. Теперь все отображается. А можно пример сценария - если "Device timeout error", то послать сообщение по telegram.



  • @Alex_Jet:

    А можно пример сценария - если "Device timeout error", то послать сообщение по telegram.

    1. Можно так:
    scen110.jpg
    2. Лучше так:
    scen111.jpg
    Здесь запускаем таймер. И если ошибка еще присутствует отсылаем сообщение.

    3. Но еще лучше, сделать мультисценарий



  • @intrahouse:

    @Alex_Jet:

    А можно пример сценария - если "Device timeout error", то послать сообщение по telegram.

    1. Можно так:

    scen110.jpg

    2. Лучше так:

    scen111.jpg

    Здесь запускаем таймер. И если ошибка еще присутствует отсылаем сообщение.

    3. Но еще лучше, сделать мультисценарий

    Спасибо конечно за вариант с "блокли". Но интересует больше мультисценарий. В API есть две команды x.error и x.isError(). Вот какую для чего использовать? И как правильно прописывать в startOnChange - startOnChanged(sensor, sensor.isChanged("error"))? Чтобы не делать 5 итераций…для подбора нужной.



  • Сделать блоки, переключиться на отображение сценария, посмотреть синтаксис?



  • А у аналогового актуатора "установить ошибку, если нет данных в течении __ сек" можно, а в блоках состояния "ошибка" у него нет.



  • @Alex_Jet:

    Но интересует больше мультисценарий. В API есть две команды x.error и x.isError(). Вот какую для чего использовать? И как правильно прописывать в startOnChange - startOnChanged(sensor, sensor.isChanged("error"))? Чтобы не делать 5 итераций…для подбора нужной.

    Мыслите абсолютно верно

    Но конструкция startOnChanged(sensor, sensor.isChanged("error")) не работает 😞

    Вот рабочий вариант

    /** 
    * @name Ошибка датчика 
    * @desc  
    * @version 4  
    */
    
    const sensor = Device("SensorA","Датчик "); 
    
    startOnChange(sensor); 
    
    script({
        start() {
            if (this.isChanged(sensor, "err")) {
              if (sensor.isError()) {
                this.log(sensor.fullName +'. Ошибка! '+sensor.error));
              } else {
                this.log(sensor.fullName +' ОK. Значение '+sensor.value);
              }
            }
        } 
    });
    
    

    this.isChanged(sensor, "err") - этот сценарий (this) был вызван, потому что изменилось свойство "err" устройства sensor

    Обратите внимание, здесь err, а не error.

    sensor.isError() - это метод - возвращает true/false

    sensor.error - это свойство (без скобок) - возвращает саму ошибку

    Результат в отладчике:

    log: Датчик температуры 1этаж/Холл. Ошибка! Device timeout error!
    
    


  • @intrapro:

    Мыслите абсолютно верно

    Но конструкция startOnChanged(sensor, sensor.isChanged("error")) не работает 😞

    Вот рабочий вариант

    > /** 
    > * @name Ошибка датчика 
    > * @desc  
    > * @version 4  
    > */
    > 
    > const sensor = Device("SensorA","Датчик "); 
    > 
    > startOnChange(sensor); 
    > 
    > script({
    >     start() {
    >         if (this.isChanged(sensor, "err")) {
    >           if (sensor.isError()) {
    >             this.log(sensor.fullName +'. Ошибка! '+sensor.error));
    >           } else {
    >             this.log(sensor.fullName +' ОK. Значение '+sensor.value);
    >           }
    >         }
    >     } 
    > });
    > 
    

    this.isChanged(sensor, "err") - этот сценарий (this) был вызван, потому что изменилось свойство "err" устройства sensor

    Обратите внимание, здесь err, а не error.

    sensor.isError() - это метод - возвращает true/false

    sensor.error - это свойство (без скобок) - возвращает саму ошибку

    Результат в отладчике:

    > log: Датчик температуры 1этаж/Холл. Ошибка! Device timeout error!
    > 
    

    Если sensor.error равен 1, что это значит? Почему-то по части температурных датчиков вылазит "… Ошибка: 1". Такое ощущение, что выход из диапазона? Можно вместо 1, по аналогии с "Device timeout error!" как-то передавать значения типа "Device Value below limit" или "Device Value above limit"?



  • @Alex_Jet:

    Если sensor.error равен 1, что это значит? Почему-то по части температурных датчиков вылазит "… Ошибка: 1". Такое ощущение, что выход из диапазона? Можно вместо 1, по аналогии с "Device timeout error!" как-то передавать значения типа "Device Value below limit" или "Device Value above limit"?

    Да, Вы правы, это выход из диапазона. Не найдено текстовое сообщение для ошибки, поэтому число :oops: Поправим



  • @intrapro:

    @Alex_Jet:

    Если sensor.error равен 1, что это значит? Почему-то по части температурных датчиков вылазит "… Ошибка: 1". Такое ощущение, что выход из диапазона? Можно вместо 1, по аналогии с "Device timeout error!" как-то передавать значения типа "Device Value below limit" или "Device Value above limit"?

    Да, Вы правы, это выход из диапазона. Не найдено текстовое сообщение для ошибки, поэтому число :oops: Поправим

    Что-то как-то неадекватно работает. Посмотрю конечно по журналу устройства какие были значения, но пока корреляции просто нет!



  • @Alex_Jet:

    Что-то как-то неадекватно работает. Посмотрю конечно по журналу устройства какие были значения, но пока корреляции просто нет!

    В чем неадекватность - ошибки быть не должно? Или диагностика неверная?



  • Беда с восстановлением выходов. Такое ощущение, что где-то в плагине есть проблема.

    Условия - все устройства, привязанные к выходам MegaD выключены. Выходы на MegaD выключены. Перепрошиваю MegaD со стиранием eeprom и загрузкой конфигурации - вдруг все ее выходы, к которым привязаны устройства в УД (ничего не привязано только к порту 22), оказываются включенными. Поймал отладчиком все что происходит в момент загрузки новой прошивки и конфигурации:

    14.03 15:42:31.668 megad4: 192.168.11.24 => localhost:11024 HTTP GET /mod_megad.php?st=1
    14.03 15:42:31.669 megad4: 192.168.11.24 <= localhost:11024 
    14.03 15:42:31.669 megad4: { type: 'startscene',
      id: 'MegaD_ST_to_Log',
      arg: '{"dev":"MegaD-2561-24 (Котельная)"}' }
    14.03 15:42:31.670 IH: startscene MegaD_ST_to_Log
    14.03 15:42:31.771 megad4: 
    14.03 15:42:31.772 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cf=7&stime=15:42:31:4
    14.03 15:42:31.876 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:31.878 megad4:  body: [Back](/sec/?cf=1)
    
    <form action="/sec/">Cur time: 15:42:31 [4]
    Set time: 
    SCL:  SDA: 
    T:  Act: 
    T:  Act: 
    T:  Act: 
    T:  Act: 
    T:  Act: 
    </form>
    
    14.03 15:42:31.878 IH: get []
    14.03 15:42:31.879 IH: set {}
    14.03 15:42:31.972 megad4: 
    14.03 15:42:31.973 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=all
    14.03 15:42:32.085 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:32.086 megad4:  body: OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;ON;OFF;OFF;OFF;OFF;OFF;OFF;ON;ON
    14.03 15:42:32.087 IH: get [{"id":"8","value":"0"},{"id":"15","value":"1"},{"id":"16","value":"1"},{"id":"17","value":"1"},{"id":"18","value":"1"},{"id":"19","value":"1"},{"id":"20","value":"1"},{"id":"21","value":"1"},{"id":"23","value":"1"},{"id":"24","value":"1"},{"id":"25","value":"1"},{"id":"26","value":"1"},{"id":"27","value":"1"},{"id":"28","value":"1"},{"id":"30","value":"0"}]
    14.03 15:42:32.088 IH: set {"SLEAKAGE1_02":{"dval":"0","err":0},"LAMP1_11":{"dval":"1","err":0},"PUMP_WATER2":{"dval":"1","err":0},"PUMP5":{"dval":"1","err":0},"PUMP3":{"dval":"1","err":0},"PUMP1":{"dval":"1","err":0},"PUMP4":{"dval":"1","err":0},"PUMP2":{"dval":"1","err":0},"ACTOR_WATER1":{"dval":"1","err":0},"VALVE_WATER1":{"dval":"1","err":0},"ACTOR_WATER2":{"dval":"1","err":0},"ACTOR_WATER3":{"dval":"1","err":0},"ACTOR_HEATING_SYS_01":{"dval":"1","err":0},"ACTOR_HEATING_SYS_02":{"dval":"1","err":0},"ST_HEATING_SYS_00":{"aval":"0","err":0}}
    14.03 15:42:32.173 megad4: 
    14.03 15:42:32.174 megad4: localhost => 192.168.11.24 HTTP GET /sec/?pt=30&cmd=get
    14.03 15:42:32.181 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:32.181 megad4:  body: OFF
    14.03 15:42:32.182 IH: get [{"id":"30","value":"0"}]
    14.03 15:42:32.182 IH: set {"ST_HEATING_SYS_00":{"aval":"0","err":0}}
    14.03 15:42:32.375 megad4: 
    14.03 15:42:32.376 megad4: localhost => 192.168.11.24 HTTP GET /sec/?pt=31&cmd=list
    14.03 15:42:32.383 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:32.384 megad4:  body: [Back](/sec)
    P31/OFF
    
    <form action="/sec/">Type <select name="pty"><option value="255" selected="">NC</option><option value="0">In</option><option value="1">Out</option><option value="3">DSen</option><option value="4">I2C</option></select>
    </form>
    
    14.03 15:42:32.577 megad4: 
    14.03 15:42:32.577 megad4: localhost => 192.168.11.24 HTTP GET /sec/?pt=34/?pt=34&scl=35&i2c_dev=bmx280&i2c_par=1
    14.03 15:42:32.593 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:32.594 megad4:  body: 10.00
    14.03 15:42:32.594 IH: get [{"id":"34_1","value":"10"}]
    14.03 15:42:32.594 IH: set {"STEMP4_01":{"aval":"10","err":0}}
    14.03 15:42:32.778 megad4: 
    14.03 15:42:32.778 megad4: localhost => 192.168.11.24 HTTP GET /sec/?pt=34/?pt=34&scl=35&i2c_dev=bmx280&i2c_par=2
    14.03 15:42:32.794 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:32.795 megad4:  body: 0.00
    14.03 15:42:32.795 IH: get [{"id":"34_2","value":"0"}]
    14.03 15:42:32.796 IH: set {"SHUMIDITY4_01":{"aval":"0","err":0}}
    14.03 15:42:32.978 megad4: 
    14.03 15:42:32.979 megad4: localhost => 192.168.11.24 HTTP GET /sec/?pt=34/?pt=34&scl=35&i2c_dev=bmx280
    14.03 15:42:32.995 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:32.995 megad4:  body: 553.89
    14.03 15:42:32.996 IH: get [{"id":"34_3","value":"553.89"}]
    14.03 15:42:32.996 IH: set {"SPRESSURE4_01":{"aval":"553.89","err":0}}
    14.03 15:42:36.782 megad4: 192.168.11.24 => localhost:11024 HTTP GET /mod_megad.php?st=1
    14.03 15:42:36.783 megad4: 192.168.11.24 <= localhost:11024 
    14.03 15:42:36.784 megad4: { type: 'startscene',
      id: 'MegaD_ST_to_Log',
      arg: '{"dev":"MegaD-2561-24 (Котельная)"}' }
    14.03 15:42:36.784 IH: startscene MegaD_ST_to_Log
    14.03 15:42:36.796 megad4: 
    14.03 15:42:36.796 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cf=7&stime=15:42:36:4
    14.03 15:42:36.803 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:36.803 megad4:  body: [Back](/sec/?cf=1)
    
    <form action="/sec/">Cur time: 15:42:36 [4]
    Set time: 
    SCL:  SDA: 
    T:  Act: 
    T:  Act: 
    T:  Act: 
    T:  Act: 
    T:  Act: 
    </form>
    
    14.03 15:42:36.804 IH: get []
    14.03 15:42:36.804 IH: set {}
    14.03 15:42:36.990 megad4: 
    14.03 15:42:36.991 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=15:1
    14.03 15:42:36.996 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:36.997 megad4:  body: Done
    14.03 15:42:36.997 IH: get [{"id":"15","value":1}]
    14.03 15:42:36.998 IH: set {"LAMP1_11":{"dval":1,"err":0}}
    14.03 15:42:37.191 megad4: 
    14.03 15:42:37.192 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=16:1
    14.03 15:42:37.198 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:37.199 megad4:  body: Done
    14.03 15:42:37.199 IH: get [{"id":"16","value":1}]
    14.03 15:42:37.200 IH: set {"PUMP_WATER2":{"dval":1,"err":0}}
    14.03 15:42:37.393 megad4: 
    14.03 15:42:37.393 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=17:1
    14.03 15:42:37.400 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:37.401 megad4:  body: Done
    14.03 15:42:37.401 IH: get [{"id":"17","value":1}]
    14.03 15:42:37.401 IH: set {"PUMP5":{"dval":1,"err":0}}
    14.03 15:42:37.594 megad4: 
    14.03 15:42:37.595 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=18:1
    14.03 15:42:37.600 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:37.601 megad4:  body: Done
    14.03 15:42:37.601 IH: get [{"id":"18","value":1}]
    14.03 15:42:37.602 IH: set {"PUMP3":{"dval":1,"err":0}}
    14.03 15:42:37.796 megad4: 
    14.03 15:42:37.796 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=19:1
    14.03 15:42:37.803 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:37.803 megad4:  body: Done
    14.03 15:42:37.804 IH: get [{"id":"19","value":1}]
    14.03 15:42:37.804 IH: set {"PUMP1":{"dval":1,"err":0}}
    14.03 15:42:37.996 megad4: 
    14.03 15:42:37.997 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=20:1
    14.03 15:42:38.003 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:38.004 megad4:  body: Done
    14.03 15:42:38.004 IH: get [{"id":"20","value":1}]
    14.03 15:42:38.004 IH: set {"PUMP4":{"dval":1,"err":0}}
    14.03 15:42:38.197 megad4: 
    14.03 15:42:38.198 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=21:1
    14.03 15:42:38.399 megad4: 
    14.03 15:42:38.399 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=23:1
    14.03 15:42:38.599 megad4: 
    14.03 15:42:38.600 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=24:1
    14.03 15:42:38.686 megad4: 192.168.11.24 => localhost:11024 HTTP GET /mod_megad.php?st=1
    14.03 15:42:38.687 megad4: 192.168.11.24 <= localhost:11024 
    14.03 15:42:38.688 megad4: { type: 'startscene',
      id: 'MegaD_ST_to_Log',
      arg: '{"dev":"MegaD-2561-24 (Котельная)"}' }
    14.03 15:42:38.689 IH: startscene MegaD_ST_to_Log
    14.03 15:42:38.800 megad4: 
    14.03 15:42:38.801 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cf=7&stime=15:42:38:4
    14.03 15:42:38.813 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:38.814 megad4:  body: [Back](/sec/?cf=1)
    
    <form action="/sec/">Cur time: 15:42:38 [4]
    Set time: 
    SCL:  SDA: 
    T:  Act: 
    T:  Act: 
    T:  Act: 
    T:  Act: 
    T:  Act: 
    </form>
    
    14.03 15:42:38.814 IH: get []
    14.03 15:42:38.815 IH: set {}
    14.03 15:42:38.960 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:38.961 megad4:  body: Done
    14.03 15:42:38.961 IH: get [{"id":"24","value":1}]
    14.03 15:42:38.961 IH: set {"VALVE_WATER1":{"dval":1,"err":0}}
    14.03 15:42:39.001 megad4: 
    14.03 15:42:39.002 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=15:1
    14.03 15:42:39.008 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:39.009 megad4:  body: Done
    14.03 15:42:39.009 IH: get [{"id":"15","value":1}]
    14.03 15:42:39.010 IH: set {"LAMP1_11":{"dval":1,"err":0}}
    14.03 15:42:39.201 megad4: 
    14.03 15:42:39.202 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=16:1
    14.03 15:42:39.203 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:39.203 megad4:  body: Done
    14.03 15:42:39.204 IH: get [{"id":"21","value":1}]
    14.03 15:42:39.205 IH: set {"PUMP2":{"dval":1,"err":0}}
    14.03 15:42:39.210 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:39.211 megad4:  body: Done
    14.03 15:42:39.211 IH: get [{"id":"16","value":1}]
    14.03 15:42:39.211 IH: set {"PUMP_WATER2":{"dval":1,"err":0}}
    14.03 15:42:39.402 megad4: 
    14.03 15:42:39.402 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=17:1
    14.03 15:42:39.412 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:39.413 megad4:  body: Done
    14.03 15:42:39.414 IH: get [{"id":"17","value":1}]
    14.03 15:42:39.414 IH: set {"PUMP5":{"dval":1,"err":0}}
    14.03 15:42:39.517 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:39.517 megad4:  body: Done
    14.03 15:42:39.517 IH: get [{"id":"23","value":1}]
    14.03 15:42:39.518 IH: set {"ACTOR_WATER1":{"dval":1,"err":0}}
    14.03 15:42:39.607 megad4: 
    14.03 15:42:39.607 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=18:1
    14.03 15:42:39.613 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:39.614 megad4:  body: Done
    14.03 15:42:39.614 IH: get [{"id":"18","value":1}]
    14.03 15:42:39.614 IH: set {"PUMP3":{"dval":1,"err":0}}
    14.03 15:42:39.808 megad4: 
    14.03 15:42:39.809 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=19:1
    14.03 15:42:39.815 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:39.815 megad4:  body: Done
    14.03 15:42:39.816 IH: get [{"id":"19","value":1}]
    14.03 15:42:39.816 IH: set {"PUMP1":{"dval":1,"err":0}}
    14.03 15:42:40.009 megad4: 
    14.03 15:42:40.009 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=20:1
    14.03 15:42:40.015 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:40.016 megad4:  body: Done
    14.03 15:42:40.016 IH: get [{"id":"20","value":1}]
    14.03 15:42:40.016 IH: set {"PUMP4":{"dval":1,"err":0}}
    14.03 15:42:40.209 megad4: 
    14.03 15:42:40.210 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=21:1
    14.03 15:42:40.215 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:40.216 megad4:  body: Done
    14.03 15:42:40.216 IH: get [{"id":"21","value":1}]
    14.03 15:42:40.217 IH: set {"PUMP2":{"dval":1,"err":0}}
    14.03 15:42:40.411 megad4: 
    14.03 15:42:40.411 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=23:1
    14.03 15:42:40.417 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:40.418 megad4:  body: Done
    14.03 15:42:40.418 IH: get [{"id":"23","value":1}]
    14.03 15:42:40.418 IH: set {"ACTOR_WATER1":{"dval":1,"err":0}}
    14.03 15:42:40.611 megad4: 
    14.03 15:42:40.612 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=24:1
    14.03 15:42:40.618 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:40.619 megad4:  body: Done
    14.03 15:42:40.619 IH: get [{"id":"24","value":1}]
    14.03 15:42:40.620 IH: set {"VALVE_WATER1":{"dval":1,"err":0}}
    14.03 15:42:40.812 megad4: 
    14.03 15:42:40.813 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=25:1
    14.03 15:42:40.819 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:40.819 megad4:  body: Done
    14.03 15:42:40.820 IH: get [{"id":"25","value":1}]
    14.03 15:42:40.820 IH: set {"ACTOR_WATER2":{"dval":1,"err":0}}
    14.03 15:42:41.013 megad4: 
    14.03 15:42:41.013 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=26:1
    14.03 15:42:41.020 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:41.021 megad4:  body: Done
    14.03 15:42:41.021 IH: get [{"id":"26","value":1}]
    14.03 15:42:41.022 IH: set {"ACTOR_WATER3":{"dval":1,"err":0}}
    14.03 15:42:41.215 megad4: 
    14.03 15:42:41.215 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=27:1
    14.03 15:42:41.221 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:41.222 megad4:  body: Done
    14.03 15:42:41.222 IH: get [{"id":"27","value":1}]
    14.03 15:42:41.223 IH: set {"ACTOR_HEATING_SYS_01":{"dval":1,"err":0}}
    14.03 15:42:41.415 megad4: 
    14.03 15:42:41.416 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=28:1
    14.03 15:42:41.422 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:41.423 megad4:  body: Done
    14.03 15:42:41.423 IH: get [{"id":"28","value":1}]
    14.03 15:42:41.424 IH: set {"ACTOR_HEATING_SYS_02":{"dval":1,"err":0}}
    14.03 15:42:41.617 megad4: 
    14.03 15:42:41.617 megad4: localhost => 192.168.11.24 HTTP GET /sec/?cmd=all
    14.03 15:42:41.817 megad4: 
    14.03 15:42:41.818 megad4: localhost => 192.168.11.24 HTTP GET /sec/?pt=30&cmd=get
    14.03 15:42:41.834 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:41.835 megad4:  body: temp:NA
    14.03 15:42:42.018 megad4: 
    14.03 15:42:42.019 megad4: localhost => 192.168.11.24 HTTP GET /sec/?pt=31&cmd=list
    14.03 15:42:42.101 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:42.102 megad4:  body: e46477910b02:31.00;666877911402:31.18;35e977910902:29.50
    14.03 15:42:42.103 IH: get [{"id":"31_e46477910b02","value":"31.00"},{"id":"31_666877911402","value":"31.18"},{"id":"31_35e977910902","value":"29.50"}]
    14.03 15:42:42.103 IH: set {"ST_HEATING_SYS_02":{"aval":"31.00","err":0},"ST_HEATING_SYS_03":{"aval":"31.18","err":0},"ST_HEATING_SYS_01":{"aval":"29.50","err":0}}
    14.03 15:42:42.219 megad4: 
    14.03 15:42:42.219 megad4: localhost => 192.168.11.24 HTTP GET /sec/?pt=34/?pt=34&scl=35&i2c_dev=bmx280&i2c_par=1
    14.03 15:42:42.236 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:42.237 megad4:  body: 15.90
    14.03 15:42:42.237 IH: get [{"id":"34_1","value":"15.9"}]
    14.03 15:42:42.238 IH: set {"STEMP4_01":{"aval":"15.9","err":0}}
    14.03 15:42:42.420 megad4: 
    14.03 15:42:42.421 megad4: localhost => 192.168.11.24 HTTP GET /sec/?pt=34/?pt=34&scl=35&i2c_dev=bmx280&i2c_par=2
    14.03 15:42:42.438 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:42.439 megad4:  body: 58.06
    14.03 15:42:42.439 IH: get [{"id":"34_2","value":"58.06"}]
    14.03 15:42:42.440 IH: set {"SHUMIDITY4_01":{"aval":"58.06","err":0}}
    14.03 15:42:42.622 megad4: 
    14.03 15:42:42.622 megad4: localhost => 192.168.11.24 HTTP GET /sec/?pt=34/?pt=34&scl=35&i2c_dev=bmx280
    14.03 15:42:42.639 megad4: localhost <= 192.168.11.24  response: statusCode=200 contentType = text/html
    14.03 15:42:42.639 megad4:  body: 752.66
    14.03 15:42:42.640 IH: get [{"id":"34_3","value":"752.66"}]
    14.03 15:42:42.640 IH: set {"SPRESSURE4_01":{"aval":"752.66","err":0}}
    
    

    PS: проанализировал. Проблема возникает в тот момент когда сетевые настройки в контроллер загружены, а конфигурация - нет. При этом в этот момент iH "читает" состояние портов и устанавливает состояние устройств. А после заливки конфига MegaD снова говорит st=1 и iH честно восстанавливает состояние выходов!!!



  • Я так и не понял :?

    Вопросы к плагину есть?



  • @intrahouse:

    Я так и не понял :?

    Вопросы к плагину есть?

    По результату анализа лога - к плагину вопросов нет! Опубликовал скорее для пользователей, чтобы они понимали откуда "растут ноги" - почему все выходы MegaD, привязанные к устройствам iH, могут включиться при обновлении прошивки контроллера.

    Вопрос только к Вам 😉 - когда выделите время чтобы ваши сотрудники сделали последние доработки плагину (https://frm.intrahouse.ru/viewtopic.php?f=18&t=5312&start=170#p9015)?

    Да,кстати, по функции поиска "расширений" в строке, которую присылает MegaD. Я тут делал голосового ассистента на основе mdmTerminal2 и сценария в iH и для поиска в строке нужных ключевых фраз использовал вот такую конструкцию:

        const obj = JSON.parse(param);
        this.qry = obj.qry.toLowerCase();
    
        if( this.qry.indexOf("ты тут") >= 0 ) {
           ...
        }
        else if( this.qry.indexOf("привет") >= 0 ) {
           ...
        }
    
    
    

    Ассистент очень хорошо работает таким образом. Почему бы в плагине не использовать то же самое? Просто тупо - поиск подстроки (перебирать все имеющиеся "расширения") в строке, которую присылает MegaD?



  • @Alex_Jet:

    Просто тупо - поиск подстроки (перебирать все имеющиеся "расширения") в строке, которую присылает MegaD?

    С какой целью?



  • @intrapro:

    @Alex_Jet:

    Просто тупо - поиск подстроки (перебирать все имеющиеся "расширения") в строке, которую присылает MegaD?

    С какой целью?

    С целью чтобы когда придет pt=0&m=1 не отрабатывало "расширение", у которого прописано только pt=0.



  • @Alex_Jet:

    @intrapro:

    @Alex_Jet:

    Просто тупо - поиск подстроки (перебирать все имеющиеся "расширения") в строке, которую присылает MegaD?

    С какой целью?

    С целью чтобы когда придет pt=0&m=1 не отрабатывало "расширение", у которого прописано только pt=0.

    А если придет pt=0&cnt=77&m=1 - то совсем работать не будет



  • Доброго времени суток. Помогите пожалуйста разобраться с датчиком t6703. Значение с датчика на IH равно нулю, не смотря на то, что в вебе меги значения отображаются корректно. MegaD2561. Работают все цифровые датчики, но кроме этого. В качестве устройства выбрано "ANY" и я думаю что в силу этого необходимо может поменять какие запросы.

    10.02 21:32:59.343 megad2: 
    10.02 21:32:59.345 megad2: localhost => 192.168.0.15 HTTP GET /sec/?pt=30&cmd=get
    10.02 21:32:59.349 megad2: localhost <= 192.168.0.15  response: statusCode=200 contentType = text/html
    10.02 21:32:59.351 megad2:  body: 
    10.02 21:33:05.353 megad2: 
    10.02 21:33:05.354 megad2: localhost => 192.168.0.15 HTTP GET /sec/?pt=30&cmd=get
    10.02 21:33:05.362 megad2: localhost <= 192.168.0.15  response: statusCode=200 contentType = text/html
    10.02 21:33:05.362 megad2:  body: 
    10.02 21:33:11.366 megad2: 
    10.02 21:33:11.367 megad2: localhost => 192.168.0.15 HTTP GET /sec/?pt=30&cmd=get
    10.02 21:33:11.372 megad2: localhost <= 192.168.0.15  response: statusCode=200 contentType = text/html
    10.02 21:33:11.373 megad2:  body:  
    
    

    t67.png
    t67-1.png



  • @artem521:

    Доброго времени суток. Помогите пожалуйста разобраться с датчиком t6703. Значение с датчика на IH равно нулю, не смотря на то, что в вебе меги значения отображаются корректно. MegaD2561. Работают все цифровые датчики, но кроме этого. В качестве устройства выбрано "ANY" и я думаю что в силу этого необходимо может поменять какие запросы.

    > 10.02 21:32:59.343 megad2: 
    > 10.02 21:32:59.345 megad2: localhost => 192.168.0.15 HTTP GET /sec/?pt=30&cmd=get
    > 10.02 21:32:59.349 megad2: localhost <= 192.168.0.15  response: statusCode=200 contentType = text/html
    > 10.02 21:32:59.351 megad2:  body: 
    > 10.02 21:33:05.353 megad2: 
    > 10.02 21:33:05.354 megad2: localhost => 192.168.0.15 HTTP GET /sec/?pt=30&cmd=get
    > 10.02 21:33:05.362 megad2: localhost <= 192.168.0.15  response: statusCode=200 contentType = text/html
    > 10.02 21:33:05.362 megad2:  body: 
    > 10.02 21:33:11.366 megad2: 
    > 10.02 21:33:11.367 megad2: localhost => 192.168.0.15 HTTP GET /sec/?pt=30&cmd=get
    > 10.02 21:33:11.372 megad2: localhost <= 192.168.0.15  response: statusCode=200 contentType = text/html
    > 10.02 21:33:11.373 megad2:  body:  
    > 
    

    У него другой формат вывода. Я его забираю просто html-плагином get-запросом



  • @homa:

    @artem521:

    Доброго времени суток. Помогите пожалуйста разобраться с датчиком t6703. Значение с датчика на IH равно нулю, не смотря на то, что в вебе меги значения отображаются корректно. MegaD2561. Работают все цифровые датчики, но кроме этого. В качестве устройства выбрано "ANY" и я думаю что в силу этого необходимо может поменять какие запросы.

    > > 10.02 21:32:59.343 megad2: 
    > > 10.02 21:32:59.345 megad2: localhost => 192.168.0.15 HTTP GET /sec/?pt=30&cmd=get
    > > 10.02 21:32:59.349 megad2: localhost <= 192.168.0.15  response: statusCode=200 contentType = text/html
    > > 10.02 21:32:59.351 megad2:  body: 
    > > 10.02 21:33:05.353 megad2: 
    > > 10.02 21:33:05.354 megad2: localhost => 192.168.0.15 HTTP GET /sec/?pt=30&cmd=get
    > > 10.02 21:33:05.362 megad2: localhost <= 192.168.0.15  response: statusCode=200 contentType = text/html
    > > 10.02 21:33:05.362 megad2:  body: 
    > > 10.02 21:33:11.366 megad2: 
    > > 10.02 21:33:11.367 megad2: localhost => 192.168.0.15 HTTP GET /sec/?pt=30&cmd=get
    > > 10.02 21:33:11.372 megad2: localhost <= 192.168.0.15  response: statusCode=200 contentType = text/html
    > > 10.02 21:33:11.373 megad2:  body:  
    > > 
    

    У него другой формат вывода. Я его забираю просто html-плагином get-запросом

    Можете показать как это у Вас выглядит?


Авторизуйтесь, чтобы ответить