Плагин MegaD



  • @Erik, замена файла плагина на точно такой же без всякого на то основания - это из области ритуалов. Кто верит, тому помогает 🙂

    Вы очень здорово рассуждаете, но никак не объясняете причину бага.

    Я причину объяснить не могу, у меня недостаточно информации. Могу предложить варианты поиска проблемы

    Баг такой - при добавлении сервера происходит искажение настройки порта.

    Баг возникает на контроллере при прописывании сервера. Если это так - сервер совсем не при чем.
    Или не при прописывании, а при отправке контроллером сообщения на сервер (то есть при замыкании входа)?

    Можно попробовать:
    Тест 1. На сервере убрать обработку этого канала. Посмотреть, будет ли сбрасываться настройка.

    Тест 2. Прописать в качестве сервера не IH, а очень простой http-сервер, который просто слушает порт и точно ничего не отсылает

    Тест 3. Попробовать замыкать вход не выключателем, а напрямую на контроллере

    И самое главное - если все же думаете о внешнем воздействии на контроллер - исследуйте трафик



  • Участник @artem521 написал в Плагин MegaD:

    И еще. Можно откатиться на ту же прошивку, при которой не было глюка и глянуть что будет.

    Я это планирую. Выше написано.



  • @intrapro

    Вы к словам только не придирайтесь, пожалуйста.

    Баг возникает после прописывания сервера, при замыкании входа.

    Если просто поменять IP сервера в настройках меги, или даже порт, ошибка пропадает.

    А косяков полно, разной степени критичности. Я же выше даже скриншот прислал, как после изменения настроек плагина меняется отображение его версии.
    Вы на это не прореагировали даже.

    Или это тоже больше ни у кого не проявляется? Или вы считаете это корректной работой?



  • Участник @intrapro написал в Плагин MegaD:

    Можно попробовать:
    Тест 1. На сервере убрать обработку этого канала. Посмотреть, будет ли сбрасываться настройка.
    Тест 2. Прописать в качестве сервера не IH, а очень простой http-сервер, который просто слушает порт и точно ничего не отсылает
    Тест 3. Попробовать замыкать вход не выключателем, а напрямую на контроллере
    И самое главное - если все же думаете о внешнем воздействии на контроллер - исследуйте трафик

    В выходные попробую. Но поясните цель тестов, пожалуйста.

    1. Разве это не то же самое, что отсутствие настройки сервера, или указание несуществующего адреса? Запрос на сервер уйдет, а ответа не будет.
    2. То же самое, запрос уйдет, а ответа не будет, в чем смысл теста?
    3. Какая цель? Если без настройки сервера нажатия выключателя отрабатываются, зачем исключать провода?


  • Участник @Erik написал в Плагин MegaD:

    В выходные попробую. Но поясните цель тестов, пожалуйста.

    Цель - понять, что приводит к переключению настройки.

    1. Разве это не то же самое, что отсутствие настройки сервера, или указание несуществующего адреса? Запрос на сервер уйдет, а ответа не будет.

    Нет, плагин (его слушающий сервер) отвечает на все входящие, которые не смог распознать, пустым сообщением. Можно это увидеть в отладчике.

    1. То же самое, запрос уйдет, а ответа не будет, в чем смысл теста?

    Да, здесь ответа не будет, или будет статус 404, или еще что-то. А Вы уверены, что переключение происходит при получении ответа? Может все же при (или после) отправки запроса

    1. Какая цель? Если без настройки сервера нажатия выключателя отрабатываются, зачем исключать провода?

    Без настройки сервера нажатия отрабатываются на контроллере без отправки сообщений. Проверьте, если есть возможность и ситуация стабильно повторяется. Хуже, если это происходит не всегда, тогда выводы делать труднее.

    Если ситуация стабильно воспроизводится, нужно исследовать сетевой трафик, можно по простому tcpdump-ом на IH сервере:

    Установить, если не установлен

    sudo apt-get install tcpdump
    

    Запустить с IP MegaD, будут показаны все входящие и исходящие пакеты, т е порты 80 и слушающий (8083 в вашем случае)

    sudo tcpdump host 192.168.0.14 -X
    


  • @Erik, если есть свободный выход у MegaD, то чтобы экспериментировать удаленно можно этим выходом замыкать вход, имитируя ваш выключатель.
    Про кнопки/выключатели - конечно вы завязали выключали на очень широкий функционал, но, ИМХО, кнопки:

    1. Приятнее "на ощуп"
    2. Имеют как минимум 3 действия (одинарный, двойной клики и удержание)
    3. Не нужно создавать каналы в плагине.

    Про щелкания выключателем в режиме охраны - надуманная вещь. Во-первых, вор не знает/не видит где находится выключатель, во-вторых, не будет включать свет чтобы не привлечь внимания (зависит от условий). В нашем микрорайоне один из соседелй у себя на втором этаже лазил с фонариком под утро - и другие соседи, увидев это, сразу написали в нашу группу Whatsapp)))
    Про привязку сценариев - при щелкании кнопки всегда что-то включается, поэтому создано устройство "актуатор", соответственно, у меня все сценарии к этим актуаторам и привязаны.



  • @Alex_Jet
    Свободных выходов нет.

    1. Это субъективно. Но выключатель никогда не оставляет сомнений.
    2. У выключателя есть не только действия, но и состояния.
    3. Если оставаться в рамках того, что поддерживает мега - не нужно. А что особенно грустно - и бесполезно.
      🙂


  • Ситауция такая.
    останавливаю плагин на сервере - и мега работает корректно.
    Запускаю плагин - тут же проявляется ошибка при нажатии на выключатель.
    Лог запуска плагина и нажатия выключателя тут.

    21.12 11:04:44.947 IH: Run /var/lib/intrahouse-c/plugins/megad/megad.js megad1
    21.12 11:04:45.175 megad1: MegaD plugin has started.
    21.12 11:04:45.197 megad1: Listen server start
    21.12 11:04:45.205 megad1: Listening localhost:8083
    21.12 11:04:45.408 megad1: 
    21.12 11:04:45.409 megad1: localhost => 192.168.13.10 HTTP GET /sec/?cmd=all
    21.12 11:04:45.441 megad1: localhost <= 192.168.13.10  response: statusCode=200 contentType = text/html
    21.12 11:04:45.448 megad1:  body: ON/1;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF/0;OFF/6;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF;OFF
    21.12 11:04:45.454 IH: command [ { dn: 'VENT2', prop: 'on' } ]
    21.12 11:04:45.455 IH: send { type: 'act',
      data: 
       [ { chan: '27',
           id: '27',
           desc: 'DO',
           weight: 1,
           reqsek: 0,
           req: '/%pwd%/?pt=%adr%&cmd=get',
           value: 1,
           command: 'on' } ] }
    21.12 11:04:45.456 IH: get [ { id: '0', value: '1' },
      { id: '1', value: '0' },
      { id: '2', value: '0' },
      { id: '3', value: '0' },
      { id: '4', value: '0' },
      { id: '5', value: '0' },
      { id: '6', value: '0' },
      { id: '7', value: '0' },
      { id: '8', value: '0' },
      { id: '9', value: '0' },
      { id: '10', value: '0' },
      { id: '11', value: '0' },
      { id: '12', value: '0' },
      { id: '13', value: '0' },
      { id: '15', value: '0' },
      { id: '16', value: '0' },
      { id: '17', value: '0' },
      { id: '18', value: '0' },
      { id: '19', value: '0' },
      { id: '20', value: '0' },
      { id: '21', value: '0' },
      { id: '22', value: '0' },
      { id: '23', value: '0' },
      { id: '24', value: '0' },
      { id: '25', value: '0' },
      { id: '26', value: '0' },
      { id: '27', value: '0' },
      { id: '28', value: '0' } ]
    set { SENSOR1: { dval: 1, err: 0 },
      SENSOR13: { dval: 0, err: 0 },
      SENSOR11: { dval: 0, err: 0 },
      SENSOR12: { dval: 0, err: 0 },
      SENSOR8: { dval: 0, err: 0 },
      SENSOR10: { dval: 0, err: 0 },
      SENSOR5: { dval: 0, err: 0 },
      SOCKET7: { dval: 0, err: 0 },
      LAMP18: { dval: 0, err: 0 },
      LAMP16: { dval: 0, err: 0 },
      LAMP17: { dval: 0, err: 0 },
      LAMP1: { dval: 0, err: 0 },
      LAMP7: { dval: 0, err: 0 },
      LAMP11: { dval: 0, err: 0 },
      SENSOR4: { dval: 0, err: 0 },
      SENSOR6: { dval: 0, err: 0 },
      SENSOR7: { dval: 0, err: 0 },
      SENSOR9: { dval: 0, err: 0 },
      SENSOR23: { dval: 0, err: 0 },
      SENSOR24: { dval: 0, err: 0 },
      SENSOR25: { dval: 0, err: 0 },
      LAMP12: { dval: 0, err: 0 },
      LAMP13: { dval: 0, err: 0 },
      LAMP14: { dval: 0, err: 0 },
      LAMP15: { dval: 0, err: 0 },
      VENT1: { dval: 0, err: 0 },
      VENT2: { dval: 0, err: 0 },
      VENT3: { dval: 0, err: 0 } }
    21.12 11:04:45.620 megad1: 
    21.12 11:04:45.621 megad1: localhost => 192.168.13.10 HTTP GET /sec/?cmd=27:1
    21.12 11:04:45.629 megad1: localhost <= 192.168.13.10  response: statusCode=200 contentType = text/html
    21.12 11:04:45.633 megad1:  body: Done
    21.12 11:04:45.634 IH: get [ { id: '27', value: 1 } ]
    set { VENT2: { dval: 1, err: 0 } }
    21.12 11:05:02.379 IH: command [ { dn: 'LAMP11', prop: 'on' } ]
    21.12 11:05:02.380 IH: send { type: 'act',
      data: 
       [ { chan: '13',
           id: '13',
           desc: 'DO',
           weight: 1,
           reqsek: 0,
           req: '/%pwd%/?pt=%adr%&cmd=get',
           value: 1,
           command: 'on' } ] }
    21.12 11:05:02.459 megad1: 
    21.12 11:05:02.460 megad1: localhost => 192.168.13.10 HTTP GET /sec/?cmd=13:1
    21.12 11:05:02.464 megad1: localhost <= 192.168.13.10  response: statusCode=200 contentType = text/html
    21.12 11:05:02.467 megad1:  body: Done
    21.12 11:05:02.469 IH: get [ { id: '13', value: 1 } ]
    set { LAMP11: { dval: 1, err: 0 } }
    21.12 11:05:03.462 megad1: 192.168.13.10 => localhost:8083 HTTP GET /?pt=16&cnt=7
    21.12 11:05:03.466 IH: get [ { id: '16', value: '1' }, { id: '23', value: '1' } ]
    set { SENSOR6: { dval: 1, err: 0 }, LAMP13: { dval: 1, err: 0 } }
    21.12 11:05:03.467 megad1: 192.168.13.10 <= localhost:8083 23:1
    21.12 11:05:04.458 megad1: 192.168.13.10 => localhost:8083 HTTP GET /?pt=16&m=2&cnt=7
    21.12 11:05:04.459 IH: get [ { id: '16', value: '1' }, { id: '23', value: '1' } ]
    set { SENSOR6: { dval: 1, err: 0 }, LAMP13: { dval: 1, err: 0 } }
    21.12 11:05:04.460 megad1: 192.168.13.10 <= localhost:8083 23:1
    


  • Участник @intrapro написал в Плагин MegaD:

    sudo tcpdump host 192.168.0.14 -X

    Вот дамп с сервера. Порт стоит на сервере 10083, но смена порта не влияет. Та же процедура - включение плагина и нажатие выключателя.

    oot@ud:/opt/intrahouse-c# sudo tcpdump host 192.168.13.10 -X
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on ens160, link-type EN10MB (Ethernet), capture size 262144 bytes
    13:10:29.296823 IP ud.34582 > 192.168.13.10.http: Flags [SEW], seq 439621346, win 29200, options [mss 1460,sackOK,TS val 4034392299 ecr 0,nop,wscale 7], length 0
            0x0000:  4500 003c 6e4a 4000 4006 30ff c0a8 0d18  E..<nJ@.@.0.....
            0x0010:  c0a8 0d0a 8716 0050 1a34 16e2 0000 0000  .......P.4......
            0x0020:  a0c2 7210 9ba1 0000 0204 05b4 0402 080a  ..r.............
            0x0030:  f077 f0eb 0000 0000 0103 0307            .w..........
    13:10:29.297901 IP 192.168.13.10.http > ud.34582: Flags [S.], seq 7936, ack 439621347, win 2560, options [mss 1280], length 0
            0x0000:  4500 002c 6e4a 4000 4006 310f c0a8 0d0a  E..,nJ@.@.1.....
            0x0010:  c0a8 0d18 0050 8716 0000 1f00 1a34 16e3  .....P.......4..
            0x0020:  6012 0a00 1bda 0000 0204 0500 0000       `.............
    13:10:29.297951 IP ud.34582 > 192.168.13.10.http: Flags [.], ack 1, win 29200, length 0
            0x0000:  4500 0028 6e4b 4000 4006 3112 c0a8 0d18  E..(nK@.@.1.....
            0x0010:  c0a8 0d0a 8716 0050 1a34 16e3 0000 1f01  .......P.4......
            0x0020:  5010 7210 9b8d 0000                      P.r.....
    13:10:29.309193 IP ud.34582 > 192.168.13.10.http: Flags [P.], seq 1:71, ack 1, win 29200, length 70: HTTP: GET /sec/?cmd=all HTTP/1.1
            0x0000:  4500 006e 6e4c 4000 4006 30cb c0a8 0d18  E..nnL@.@.0.....
            0x0010:  c0a8 0d0a 8716 0050 1a34 16e3 0000 1f01  .......P.4......
            0x0020:  5018 7210 9bd3 0000 4745 5420 2f73 6563  P.r.....GET./sec
            0x0030:  2f3f 636d 643d 616c 6c20 4854 5450 2f31  /?cmd=all.HTTP/1
            0x0040:  2e31 0d0a 486f 7374 3a20 3139 322e 3136  .1..Host:.192.16
            0x0050:  382e 3133 2e31 300d 0a43 6f6e 6e65 6374  8.13.10..Connect
            0x0060:  696f 6e3a 2063 6c6f 7365 0d0a 0d0a       ion:.close....
    13:10:29.315087 IP 192.168.13.10.http > ud.34582: Flags [.], ack 71, win 1024, length 0
            0x0000:  4500 0028 6e4c 4000 4006 3111 c0a8 0d0a  E..(nL@.@.1.....
            0x0010:  c0a8 0d18 0050 8716 0000 1f01 1a34 1729  .....P.......4.)
            0x0020:  5010 0400 389d 0000 0000 0000 0000       P...8.........
    13:10:29.319747 IP 192.168.13.10.http > ud.34582: Flags [FP.], seq 1:240, ack 71, win 1024, length 239: HTTP: HTTP/1.0 200 OK
            0x0000:  4500 0117 6e4c 4000 4006 3022 c0a8 0d0a  E...nL@.@.0"....
            0x0010:  c0a8 0d18 0050 8716 0000 1f01 1a34 1729  .....P.......4.)
            0x0020:  5019 0400 4a6e 0000 4854 5450 2f31 2e30  P...Jn..HTTP/1.0
            0x0030:  2032 3030 204f 4b0d 0a43 6f6e 7465 6e74  .200.OK..Content
            0x0040:  2d54 7970 653a 2074 6578 742f 6874 6d6c  -Type:.text/html
            0x0050:  0d0a 5072 6167 6d61 3a20 6e6f 2d63 6163  ..Pragma:.no-cac
            0x0060:  6865 0d0a 0d0a 4f4e 2f31 3b4f 4646 2f30  he....ON/1;OFF/0
            0x0070:  3b4f 4646 2f30 3b4f 4646 2f30 3b4f 4646  ;OFF/0;OFF/0;OFF
            0x0080:  2f30 3b4f 4646 2f30 3b4f 4e2f 313b 4f46  /0;OFF/0;ON/1;OF
            0x0090:  463b 4f46 463b 4f46 463b 4f46 463b 4f46  F;OFF;OFF;OFF;OF
            0x00a0:  463b 4f46 463b 4f46 463b 4f46 463b 4f46  F;OFF;OFF;OFF;OF
            0x00b0:  462f 303b 4f46 462f 303b 4f46 462f 303b  F/0;OFF/0;OFF/0;
            0x00c0:  4f46 462f 303b 4f46 462f 303b 4f46 462f  OFF/0;OFF/0;OFF/
            0x00d0:  303b 4f46 462f 303b 4f46 463b 4f46 463b  0;OFF/0;OFF;OFF;
            0x00e0:  4f46 463b 4f46 463b 4f46 463b 4f46 463b  OFF;OFF;OFF;OFF;
            0x00f0:  4f46 463b 4f46 463b 4f46 463b 4f46 463b  OFF;OFF;OFF;OFF;
            0x0100:  4f46 463b 4f46 463b 4f46 463b 4f46 463b  OFF;OFF;OFF;OFF;
            0x0110:  4f46 463b 4f46 46                        OFF;OFF
    13:10:29.330702 IP ud.34582 > 192.168.13.10.http: Flags [F.], seq 71, ack 241, win 30016, length 0
            0x0000:  4500 0028 6e4d 4000 4006 3110 c0a8 0d18  E..(nM@.@.1.....
            0x0010:  c0a8 0d0a 8716 0050 1a34 1729 0000 1ff1  .......P.4.)....
            0x0020:  5011 7540 9b8d 0000                      P.u@....
    13:10:34.511049 ARP, Request who-has 192.168.13.10 tell ud, length 28
            0x0000:  0001 0800 0604 0001 000c 2904 5fd9 c0a8  ..........)._...
            0x0010:  0d18 0000 0000 0000 c0a8 0d0a            ............
    13:10:34.512875 ARP, Reply 192.168.13.10 is-at 54:55:c0:a8:0d:0a (oui Unknown), length 46
            0x0000:  0001 0800 0604 0002 5455 c0a8 0d0a c0a8  ........TU......
            0x0010:  0d0a 000c 2904 5fd9 c0a8 0d18 0000 0000  ....)._.........
            0x0020:  0000 0000 0000 0000 0000 0000 0000       ..............
    13:10:38.165086 ARP, Request who-has ud tell 192.168.13.10, length 46
            0x0000:  0001 0800 0604 0001 5455 c0a8 0d0a c0a8  ........TU......
            0x0010:  0d0a 0000 0000 0000 c0a8 0d18 0000 0000  ................
            0x0020:  0000 0000 0000 0000 0000 0000 0000       ..............
    13:10:38.165150 ARP, Reply ud is-at 00:0c:29:04:5f:d9 (oui Unknown), length 28
            0x0000:  0001 0800 0604 0002 000c 2904 5fd9 c0a8  ..........)._...
            0x0010:  0d18 5455 c0a8 0d0a c0a8 0d0a            ..TU........
    13:10:38.172282 IP 192.168.13.10.3015 > ud.amidxtape: Flags [S], seq 8704, win 768, options [mss 790], length 0
            0x0000:  4500 002c 0007 4000 4006 9f52 c0a8 0d0a  E..,..@.@..R....
            0x0010:  c0a8 0d18 0bc7 2763 0000 2200 0000 0000  ......'c..".....
            0x0020:  6002 0300 a727 0000 0204 0316 0000       `....'........
    13:10:38.172370 IP ud.amidxtape > 192.168.13.10.3015: Flags [S.], seq 1749760257, ack 8705, win 29200, options [mss 1460], length 0
            0x0000:  4500 002c 0000 4000 4006 9f59 c0a8 0d18  E..,..@.@..Y....
            0x0010:  c0a8 0d0a 2763 0bc7 684b 3901 0000 2201  ....'c..hK9...".
            0x0020:  6012 7210 9b91 0000 0204 05b4            `.r.........
    13:10:38.174410 IP 192.168.13.10.3015 > ud.amidxtape: Flags [.], ack 1, win 1024, length 0
            0x0000:  4500 0028 0000 4000 4006 9f5d c0a8 0d0a  E..(..@.@..]....
            0x0010:  c0a8 0d18 0bc7 2763 0000 2201 684b 3902  ......'c..".hK9.
            0x0020:  5010 0400 19e9 0000 0000 0000 0000       P.............
    13:10:38.175224 IP 192.168.13.10.3015 > ud.amidxtape: Flags [P.], seq 1:90, ack 1, win 1024, length 89
            0x0000:  4500 0081 0000 4000 4006 9f04 c0a8 0d0a  E.....@.@.......
            0x0010:  c0a8 0d18 0bc7 2763 0000 2201 684b 3902  ......'c..".hK9.
            0x0020:  5018 0400 a595 0000 4745 5420 2f3f 7074  P.......GET./?pt
            0x0030:  3d31 3626 636e 743d 3120 4854 5450 2f31  =16&cnt=1.HTTP/1
            0x0040:  2e31 0d0a 486f 7374 3a20 3139 322e 3136  .1..Host:.192.16
            0x0050:  382e 3133 2e32 340d 0a55 7365 722d 4167  8.13.24..User-Ag
            0x0060:  656e 743a 206d 6567 6164 0d0a 4163 6365  ent:.megad..Acce
            0x0070:  7074 3a20 7465 7874 2f68 746d 6c0d 0a0d  pt:.text/html...
            0x0080:  0a                                       .
    13:10:38.175279 IP ud.amidxtape > 192.168.13.10.3015: Flags [.], ack 90, win 29200, length 0
            0x0000:  4500 0028 b851 4000 4006 e70b c0a8 0d18  E..(.Q@.@.......
            0x0010:  c0a8 0d0a 2763 0bc7 684b 3902 0000 225a  ....'c..hK9..."Z
            0x0020:  5010 7210 9b8d 0000                      P.r.....
    13:10:38.185369 IP ud.amidxtape > 192.168.13.10.3015: Flags [P.], seq 1:163, ack 90, win 29200, length 162
            0x0000:  4500 00ca b852 4000 4006 e668 c0a8 0d18  E....R@.@..h....
            0x0010:  c0a8 0d0a 2763 0bc7 684b 3902 0000 225a  ....'c..hK9..."Z
            0x0020:  5018 7210 9c2f 0000 4854 5450 2f31 2e31  P.r../..HTTP/1.1
            0x0030:  2032 3030 204f 4b0d 0a43 6f6e 7465 6e74  .200.OK..Content
            0x0040:  2d54 7970 653a 2074 6578 742f 6874 6d6c  -Type:.text/html
            0x0050:  3b20 6368 6172 7365 743d 7574 662d 380d  ;.charset=utf-8.
            0x0060:  0a44 6174 653a 2053 6174 2c20 3231 2044  .Date:.Sat,.21.D
            0x0070:  6563 2032 3031 3920 3130 3a31 303a 3338  ec.2019.10:10:38
            0x0080:  2047 4d54 0d0a 436f 6e6e 6563 7469 6f6e  .GMT..Connection
            0x0090:  3a20 6b65 6570 2d61 6c69 7665 0d0a 5472  :.keep-alive..Tr
            0x00a0:  616e 7366 6572 2d45 6e63 6f64 696e 673a  ansfer-Encoding:
            0x00b0:  2063 6875 6e6b 6564 0d0a 0d0a 340d 0a32  .chunked....4..2
            0x00c0:  333a 310d 0a30 0d0a 0d0a                 3:1..0....
    13:10:38.187983 IP 192.168.13.10.3015 > ud.amidxtape: Flags [F.], seq 90, ack 163, win 1024, length 0
            0x0000:  4500 0028 b852 4000 4006 e70a c0a8 0d0a  E..(.R@.@.......
            0x0010:  c0a8 0d18 0bc7 2763 0000 225a 684b 39a4  ......'c.."ZhK9.
            0x0020:  5011 0400 18ed 0000 0000 0000 0000       P.............
    13:10:38.190571 IP ud.amidxtape > 192.168.13.10.3015: Flags [F.], seq 163, ack 91, win 29200, length 0
            0x0000:  4500 0028 b853 4000 4006 e709 c0a8 0d18  E..(.S@.@.......
            0x0010:  c0a8 0d0a 2763 0bc7 684b 39a4 0000 225b  ....'c..hK9..."[
            0x0020:  5011 7210 9b8d 0000                      P.r.....
    13:10:38.193219 IP 192.168.13.10.3015 > ud.amidxtape: Flags [.], ack 164, win 1024, length 0
            0x0000:  4500 0028 b853 4000 4006 e709 c0a8 0d0a  E..(.S@.@.......
            0x0010:  c0a8 0d18 0bc7 2763 0000 225b 684b 39a5  ......'c.."[hK9.
            0x0020:  5010 0400 18ec 0000 0000 0000 0000       P.............
    13:10:39.161321 IP 192.168.13.10.3048 > ud.amidxtape: Flags [S], seq 9472, win 768, options [mss 790], length 0
            0x0000:  4500 002c 0008 4000 4006 9f51 c0a8 0d0a  E..,..@.@..Q....
            0x0010:  c0a8 0d18 0be8 2763 0000 2500 0000 0000  ......'c..%.....
            0x0020:  6002 0300 a406 0000 0204 0316 0000       `.............
    13:10:39.161396 IP ud.amidxtape > 192.168.13.10.3048: Flags [S.], seq 3700262918, ack 9473, win 29200, options [mss 1460], length 0
            0x0000:  4500 002c 0000 4000 4006 9f59 c0a8 0d18  E..,..@.@..Y....
            0x0010:  c0a8 0d0a 2763 0be8 dc8d 8806 0000 2501  ....'c........%.
            0x0020:  6012 7210 9b91 0000 0204 05b4            `.r.........
    13:10:39.163319 IP 192.168.13.10.3048 > ud.amidxtape: Flags [.], ack 1, win 1024, length 0
            0x0000:  4500 0028 0000 4000 4006 9f5d c0a8 0d0a  E..(..@.@..]....
            0x0010:  c0a8 0d18 0be8 2763 0000 2501 dc8d 8807  ......'c..%.....
            0x0020:  5010 0400 5380 0000 0000 0000 0000       P...S.........
    13:10:39.164143 IP 192.168.13.10.3048 > ud.amidxtape: Flags [P.], seq 1:94, ack 1, win 1024, length 93
            0x0000:  4500 0085 0000 4000 4006 9f00 c0a8 0d0a  E.....@.@.......
            0x0010:  c0a8 0d18 0be8 2763 0000 2501 dc8d 8807  ......'c..%.....
            0x0020:  5018 0400 3fc5 0000 4745 5420 2f3f 7074  P...?...GET./?pt
            0x0030:  3d31 3626 6d3d 3226 636e 743d 3120 4854  =16&m=2&cnt=1.HT
            0x0040:  5450 2f31 2e31 0d0a 486f 7374 3a20 3139  TP/1.1..Host:.19
            0x0050:  322e 3136 382e 3133 2e32 340d 0a55 7365  2.168.13.24..Use
            0x0060:  722d 4167 656e 743a 206d 6567 6164 0d0a  r-Agent:.megad..
            0x0070:  4163 6365 7074 3a20 7465 7874 2f68 746d  Accept:.text/htm
            0x0080:  6c0d 0a0d 0a                             l....
    13:10:39.164200 IP ud.amidxtape > 192.168.13.10.3048: Flags [.], ack 94, win 29200, length 0
            0x0000:  4500 0028 0a4c 4000 4006 9511 c0a8 0d18  E..(.L@.@.......
            0x0010:  c0a8 0d0a 2763 0be8 dc8d 8807 0000 255e  ....'c........%^
            0x0020:  5010 7210 9b8d 0000                      P.r.....
    13:10:39.166518 IP ud.amidxtape > 192.168.13.10.3048: Flags [P.], seq 1:163, ack 94, win 29200, length 162
            0x0000:  4500 00ca 0a4d 4000 4006 946e c0a8 0d18  E....M@.@..n....
            0x0010:  c0a8 0d0a 2763 0be8 dc8d 8807 0000 255e  ....'c........%^
            0x0020:  5018 7210 9c2f 0000 4854 5450 2f31 2e31  P.r../..HTTP/1.1
            0x0030:  2032 3030 204f 4b0d 0a43 6f6e 7465 6e74  .200.OK..Content
            0x0040:  2d54 7970 653a 2074 6578 742f 6874 6d6c  -Type:.text/html
            0x0050:  3b20 6368 6172 7365 743d 7574 662d 380d  ;.charset=utf-8.
            0x0060:  0a44 6174 653a 2053 6174 2c20 3231 2044  .Date:.Sat,.21.D
            0x0070:  6563 2032 3031 3920 3130 3a31 303a 3339  ec.2019.10:10:39
            0x0080:  2047 4d54 0d0a 436f 6e6e 6563 7469 6f6e  .GMT..Connection
            0x0090:  3a20 6b65 6570 2d61 6c69 7665 0d0a 5472  :.keep-alive..Tr
            0x00a0:  616e 7366 6572 2d45 6e63 6f64 696e 673a  ansfer-Encoding:
            0x00b0:  2063 6875 6e6b 6564 0d0a 0d0a 340d 0a32  .chunked....4..2
            0x00c0:  333a 310d 0a30 0d0a 0d0a                 3:1..0....
    13:10:39.169619 IP 192.168.13.10.3048 > ud.amidxtape: Flags [F.], seq 94, ack 163, win 1024, length 0
            0x0000:  4500 0028 0a4d 4000 4006 9510 c0a8 0d0a  E..(.M@.@.......
            0x0010:  c0a8 0d18 0be8 2763 0000 255e dc8d 88a9  ......'c..%^....
            0x0020:  5011 0400 5280 0000 0000 0000 0000       P...R.........
    13:10:39.170769 IP ud.amidxtape > 192.168.13.10.3048: Flags [F.], seq 163, ack 95, win 29200, length 0
            0x0000:  4500 0028 0a4e 4000 4006 950f c0a8 0d18  E..(.N@.@.......
            0x0010:  c0a8 0d0a 2763 0be8 dc8d 88a9 0000 255f  ....'c........%_
            0x0020:  5011 7210 9b8d 0000                      P.r.....
    13:10:39.174851 IP 192.168.13.10.3048 > ud.amidxtape: Flags [.], ack 164, win 1024, length 0
            0x0000:  4500 0028 0a4e 4000 4006 950f c0a8 0d0a  E..(.N@.@.......
            0x0010:  c0a8 0d18 0be8 2763 0000 255f dc8d 88aa  ......'c..%_....
            0x0020:  5010 0400 527f 0000 0000 0000 0000       P...R.........
    13:10:41.809118 IP ud > 192.168.13.10: ICMP echo request, id 2032, seq 660, length 16
            0x0000:  4500 0024 cd59 4000 8001 920c c0a8 0d18  E..$.Y@.........
            0x0010:  c0a8 0d0a 0800 ed7b 07f0 0294 0000 0000  .......{........
            0x0020:  0000 0000                                ....
    13:10:41.810511 IP 192.168.13.10 > ud: ICMP echo reply, id 2032, seq 660, length 16
            0x0000:  4500 0024 cd59 4000 4001 d20c c0a8 0d0a  E..$.Y@.@.......
            0x0010:  c0a8 0d18 0000 f57b 07f0 0294 0000 0000  .......{........
            0x0020:  0000 0000 0000 0000 0000 0000 0000       ..............
    ^C
    31 packets captured
    36 packets received by filter
    1 packet dropped by kernel
    root@ud:/opt/intrahouse-c# 
    


  • @Erik, лог и дамп соответствуют друг другу, никаких дополнительных сообщений сервер не посылает.

    Предлагаю попробовать это:

    Тест 1. На сервере убрать обработку этого канала. Посмотреть, будет ли сбрасываться настройка.

    Тест 3. Попробовать замыкать вход не выключателем, а напрямую на контроллере

    Для этого пункта через полчаса могу прислать скрипт http-сервера

    Тест 2. Прописать в качестве сервера не IH, а очень простой http-сервер, который просто слушает порт и точно ничего не отсылает



  • @Erik, скопируйте этот код в файл на сервер IH. Файл назовите например, myserver.js. Папка может быть любой.

    const http = require('http');
    const port = process.argv[2];
    if (!port) {
      console.log('Порт не определен!');
      process.exit();
    }
    
    http
      .createServer(onRequest)
      .listen(port)
      .on('error', e => {
        let msg = e.code == 'EADDRINUSE' ? 'Address in use' : `${e.code} Stopped.`;
        console.log(`HTTP server port: ${port} error ${e.errno}. ${msg}`);
        process.exit(1);
      });
    
    console.log('Listening localhost:' + port);
    
    function onRequest(request, response) {
      console.log('=> HTTP GET ' + request.url);
    
      response.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
      response.end("");
      response.on('error', e => {
        console.log('<= ERROR:' + e.code);
      });
    }
    

    Остановите плагин.
    Перейдите в папку со скриптом и запустите myserver с помощью node, в качестве параметра передайте слушающий порт:

    sudo /opt/intrahouse-c/node/bin/node myserver 8083
    

    Как видите, этот скрипт только слушает порт, выводит поступившие запросы на консоль и отправляет ответ со статусом 200 и пустым телом.
    В зависимости от результата нужно будет смотреть дальше



  • Удаление канала 16 в плагине и удаление обработчика 16 канала (расширения) в плагине ничего не меняет. Все равно настройка сбивается. Помогает только отключение плагина.



  • Хорошо, Тест 1 проведен.
    Остались Тесты 2 и 3 🙂



  • Какой смысл замыкать порт на контроллере?
    Очень не хочется лезть в шкаф.
    Выключатель работает четко.
    Светодид входа на меге загорается и гаснет всегда при включении/выключении выключателя.



  • Проведите тогда для начала Тест 2.
    А по порту - остальные выключатели у вас тоже P&R? И нормально работают?
    Можно тогда поменять местами порты. Правда, это тоже в шкафу, видимо



  • Участник @intrapro написал в Плагин MegaD:

    А по порту - остальные выключатели у вас тоже P&R? И нормально работают?
    Да.



  • Поднял на буке мажордомо, установил дополнение мегад, настроил на проблемную мегу, а мегу - на новый сервер.
    Все работает четко, без сбоев. Дополнение само считало все настройки с меги, все включает/выключает, конфиги не портит.

    Тест2 пройден?

    Проблема с сервером Intrahouse.
    Прошу разобраться.



  • Поставил плагин старой версии - 1.1.10.
    Работает корректно.

    А последняя версия мало того, что гадит, еще и не оставляет об этом следов в отладчике.

    Это серьезная проблема, к сожалению.



  • Версия 1.1.10 была выпущена в январе 2019г.
    Версия 1.1.13 вышла в марте 2019г.
    После этого обновлений плагина не было.
    Как нам понять, почему с тех пор проблемы с плагином не было, а сейчас появилась? И, судя по всему, только у Вас. Помогите нам разобраться.

    Плагин не считывает и не меняет настройки на MegaD. Это изначально был наш принципиальный поход в работе с MegaD.

    Сейчас у Вас работают все порты (15,17,18,20,19,21) и не работает 16 порт. Попробуйте поменять его местами с любым работающим.

    Самый надежный способ обнаружения проблемы, это сниффер. Проблема у Вас повторяется и найти ее с помощью сниффера можно.



  • Перечитал эту ветку с Вашей проблемой и обнаружил следующее:
    Участник @Erik написал в Плагин MegaD:

    у меня ситуация странная.
    Потому, что до обновления прошивки на мегах все работало отлично.
    После обносления прошивки вылез этот один косяк, но только после того, как мегу присоединил к серверу. Без связки с сервером работает корректно.

    То есть, все работало нормально. Вы обновили прошивку на MegaD и появилась проблема с изменением настройки порта на MegaD при подключении к серверу.
    Вы делаете предположение, а в последних постах даже заключение, о том, что проблема с сервером intrahouse

    Участник @Erik написал в Плагин MegaD:

    Проблема с сервером Intrahouse.
    Прошу разобраться.

    Это довольно странное заключение.
    Тем не менее мы готовы разобраться с этой ситуацией. Но для этого нам необходима информация от сниффера, где видно что плагин отправляет команды на MegaD на перенастройку порта.


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