Перейти к содержимому
Dimasin

Fermtools мониторинг ферм и не только.

Рекомендуемые сообщения

Да, это трудозатратно, но это не главное. ЛЮБОЕ программно аппаратное взаимодействие нужно ТЕСТИРОВАТЬ. Как это сделать не имея на руках железяки я не знаю.

Спасибо за ответ. Потестировав неделю установил что некорректно работает с PRO2. А именно: После нескольких reset подряд (например такое происходит при длительном отсутствии интернета+мониторится частота памяти которая не поднимается из-за отсутствия загрузки) приложение fermtools запускается с начальными настройками WDT Chip Software, при этом pro2 не получает отклика и как следствие бесконечные ребуты с периодом 5 минут. 

Вопрос почему приложение запускается с WDT Chip Software т.к. не видит PRO2, вероятно из-за одной из перезагрузок power-ом - второй канал PRO2.

post-51327-0-43619500-1495541758_thumb.jpgpost-51327-0-06179400-1495541759_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тут есть команды управления (раздел продвинутое управление устройством, стр 12 файла pdf.). Может они помогут полностью адаптировать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо за ответ. Потестировав неделю установил что некорректно работает с PRO2. А именно: После нескольких reset подряд (например такое происходит при длительном отсутствии интернета+мониторится частота памяти которая не поднимается из-за отсутствия загрузки) приложение fermtools запускается с начальными настройками WDT Chip Software, при этом pro2 не получает отклика и как следствие бесконечные ребуты с периодом 5 минут. 

Вопрос почему приложение запускается с WDT Chip Software т.к. не видит PRO2, вероятно из-за одной из перезагрузок power-ом - второй канал PRO2.

Нет, дело не в этом. Этот баг уже давно существует. Он связан с записью конфига и ресетом компа в один и тот же момент времени. В результате конфиг портится.

Временное решение опубликовано в пре-релизе 1.0.1.1.

Чтобы использовать это, нужно скопировать РАБОЧИЙ конфиг fermtools.json в файл fermtools0.json и положить его в тот же каталог, что и основной конфиг. При порче основного конфига, программа при загрузке подхватит резервный конфиг и из него восстановит основной.

Тут есть команды управления (раздел продвинутое управление устройством, стр 12 файла pdf.). Может они помогут полностью адаптировать.

Спасибо, это у меня есть. Нужна сама железяка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

подскажите, на материнке Z270-A + 6 NVidia 1060 программа не запускается. На некоторое время в трее появляется иконка программы а при попытке на нее нажать пропадает. Что не так, куда копать ?

 

В логах пишет следующее

 

Имя журнала:   Application

Источник:      .NET Runtime
Дата:          31.05.2017 10:13:28
Код события:   1026
Категория задачи:Отсутствует
Уровень:       Ошибка
Ключевые слова:Классический
Пользователь:  Н/Д
Компьютер:     703-miner-1
Описание:
Приложение: fermtools.exe
Версия платформы: v4.0.30319
Описание. Процесс был завершен из-за необработанного исключения.
Сведения об исключении: System.ArgumentOutOfRangeException
   в System.Windows.Forms.NumericUpDown.set_Value(System.Decimal)
   в fermtools.Form1.RestoreSetting()
   в fermtools.Form1..ctor(System.String[])
   в fermtools.Program.Main(System.String[])
 
 
Xml события:
  <System>
    <Provider Name=".NET Runtime" />
    <EventID Qualifiers="0">1026</EventID>
    <Level>2</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2017-05-31T07:13:28.270802900Z" />
    <EventRecordID>1261</EventRecordID>
    <Channel>Application</Channel>
    <Computer>703-miner-1</Computer>
    <Security />
  </System>
  <EventData>
    <Data>Приложение: fermtools.exe
Версия платформы: v4.0.30319
Описание. Процесс был завершен из-за необработанного исключения.
Сведения об исключении: System.ArgumentOutOfRangeException
   в System.Windows.Forms.NumericUpDown.set_Value(System.Decimal)
   в fermtools.Form1.RestoreSetting()
   в fermtools.Form1..ctor(System.String[])
   в fermtools.Program.Main(System.String[])
 
</Data>
  </EventData>
</Event>

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)
На некоторое время в трее появляется иконка программы а при попытке на нее нажать пропадает. Что не так, куда копать ?

Версии выше 1.0.0.4 тоже отказываются запускаться, сижу в итоге на ней.

 

Попробуй из другой папки запустить, если запустится, то проблема решится удалением конфига в C:\Users\user\AppData\Local\fermtools и повторной настройкой утилиты.

Изменено пользователем bullettrain

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пропала связь с телеграмом, при нажатии тест бот - выдает ошибку, на всех фермах. Что посоветуете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пропала связь с телеграмом, при нажатии тест бот - выдает ошибку, на всех фермах. Что посоветуете?

Хорошо бы текст ошибки и посмотрите лог приложений Windows, может там что то полезное.

подскажите, на материнке Z270-A + 6 NVidia 1060 программа не запускается. На некоторое время в трее появляется иконка программы а при попытке на нее нажать пропадает. Что не так, куда копать ?

В логах пишет следующее ..

Возможно поврежден конфиг. Используйте последнюю версию с резервным конфигом. Описание в предшествующем Вашему посте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)

@Dimasin,

И так на всех 4-х фермах

В событиях

You Telegram bot not init and not work.
Check the bot settings.
Бот есть в контактах - на команды не реагирует. Может остановился? 

post-25486-0-74039300-1496253660.png

Изменено пользователем KlopS5

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

We're having some DNS issues with our web properties (the issues are not on our side). Messaging is alive and well, but your bot may have trouble reaching api.telegram.org until this is resolved. Working on this, back soon!

Sorry about that.

 

Уже починили:

Finally, our DNS provider fixed it (took them a while, sorry).

You may still see some residual issues due to caching, but things will get back to normal very soon.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

С запуском разобрался, всем откликнувшимся спасибо!
Возникла другая ошибка при заполнении и тестировании на вкладке Telegram.
 
 
 


Подробная информация об использовании оперативной
(JIT) отладки вместо данного диалогового
окна содержится в конце этого сообщения.

************** Текст исключения **************
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в fermtools.Form1.botMessageCycle()
в fermtools.Form1.timer3Tick(Object sender, EventArgs e)
в System.Windows.Forms.Timer.OnTick(EventArgs e)
в System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Загруженные сборки **************
mscorlib
Версия сборки: 4.0.0.0
Версия Win32: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
fermtools
Версия сборки: 1.0.1.0
Версия Win32: 1.0.1.0
CodeBase: file:///C:/Release_1.0.1.0/fermtools.exe
----------------------------------------
System.Windows.Forms
Версия сборки: 4.0.0.0
Версия Win32: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Версия сборки: 4.0.0.0
Версия Win32: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Версия сборки: 4.0.0.0
Версия Win32: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
Версия сборки: 4.0.0.0
Версия Win32: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
Версия сборки: 4.0.0.0
Версия Win32: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Версия сборки: 4.0.0.0
Версия Win32: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Newtonsoft.Json
Версия сборки: 8.0.0.0
Версия Win32: 8.0.3.19514
CodeBase: file:///C:/Release_1.0.1.0/Newtonsoft.Json.DLL
----------------------------------------
mscorlib.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Numerics
Версия сборки: 4.0.0.0
Версия Win32: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
System.Runtime.Serialization
Версия сборки: 4.0.0.0
Версия Win32: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll
----------------------------------------
System.Xml.Linq
Версия сборки: 4.0.0.0
Версия Win32: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll
----------------------------------------
System.Data
Версия сборки: 4.0.0.0
Версия Win32: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
PInvokeDelegateFactoryInternalAssembly
Версия сборки: 0.0.0.0
Версия Win32: 1.0.1.0
CodeBase: file:///C:/Release_1.0.1.0/fermtools.exe
----------------------------------------
Accessibility
Версия сборки: 4.0.0.0
Версия Win32: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Net.Http
Версия сборки: 4.0.0.0
Версия Win32: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.dll
----------------------------------------
System.Windows.Forms.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.6.1586.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данного
приложения или компьютера (machine.config) должен иметь
значение jitDebugging, установленное в секции system.windows.forms.
Приложение также должно быть скомпилировано с включенной
отладкой.

Например:





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

 

post-53764-0-35418200-1496307765_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Возникла другая ошибка при заполнении и тестировании на вкладке Telegram.

Можете подробнее описать, что Вы делаете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)

Запускаю с рабочего стола от админа,

выбираю галками что мониторить на 1й вкладке

 

на вкладке Телеграмм

Ставлю 2 галки.

имя_бота_бот

кому слать

имя_майнера

 

Сохранить

 

Тест. Тест проходит бот определяется

 

После теста через сек 5 появляется эта ошибка. Если телегу не использовать программа работает.

 

Проверено на win 8.1 (64), win 10 (64)  эффект одинаковый (((

Изменено пользователем istopnic

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Запускаю с рабочего стола от админа,

выбираю галками что мониторить на 1й вкладке

 

на вкладке Телеграмм

Ставлю 2 галки.

имя_бота_бот

кому слать

имя_майнера

 

Сохранить

 

Тест. Тест проходит бот определяется

 

После теста через сек 5 появляется эта ошибка. Если телегу не использовать программа работает.

 

Проверено на win 8.1 (64), win 10 (64)  эффект одинаковый (((

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Чудесным образом все заработало. Пропала ошибка при тесте бота видимо и правда что-то было с ботом. + оказывается Телеграм чувствителен к регистру в именах. 

Спасибо за программу!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Чудесным образом все заработало. Пропала ошибка при тесте бота видимо и правда что-то было с ботом. + оказывается Телеграм чувствителен к регистру в именах. 

Спасибо за программу!

Скорее программа чувствительна к регистру.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не видит watchdog lite на одной из ферм хотя он работает, мигает зелёным

Программа 1.0.0.5. Версии выше не запускаются, пишут ошибку.

post-49079-0-76948900-1496468707_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не видит watchdog lite на одной из ферм хотя он работает, мигает зелёным

Программа 1.0.0.5. Версии выше не запускаются, пишут ошибку.

1. Используйте более свежие версии, в них, как правило, меньше ошибок. Причины падений ищите в журнале Windows, программы. Если в журнале нет сообщений, нужно запустить программу ОДИН РАЗ в РЕЖИМЕ АДМИНИСТРАТОРА.

2. ВСЕ ПРОГРАММЫ, работающие с WDT, использующие тот же последовательный порт, должны быть ЗАКРЫТЫ. Причины, по которым WDT на указанном порту не найден, ищите в журнале Windows, программы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обновлено до версии 1.0.1.1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Dimasin, в программе есть возможность слать smtp на порт отличный от 25? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Dimasin, в программе есть возможность слать smtp на порт отличный от 25? 

Указываете server,port через запятую без пробелов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)

У меня два вопроса

Можно ли в след версии сделать что бы небыло ребута если нет интернета? 

И второй вопрос

Где логика команды /reset название фермы, почему оно циклично ребутает ферму, она запускаеться и ребутаеться снова, я вижу эту логику как просто ребутнуть ферму 1 раз а не делать это в цикле 

 

А так то крутой софт, спасибо) 

Изменено пользователем Rostiks

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)

Сделал проверку пинга перед запуском софта, получаеться что после того как исчезает интернет риг перезагружаеться и дальше уже прога не запуститься до того времени пока не появиться интернет. Чекает пинг к серверам гугла каждые 10 сек. 

 

Решение: в файле program.cs добавить:

using System.Net.NetworkInformation;

И под:

static void Main(string[] args)
        {

Дописать:

IPStatus status = IPStatus.Unknown;
            Ping google = new Ping();
            while (status == IPStatus.Unknown)
            {
                try
                {
                    status = google.Send("google.com").Status;
                }
                catch { }
                System.Threading.Thread.Sleep(10000);
            }

Если что где накосячил, я не кодер, готовую версию не скидываю так как запинают что внутри вирус. 

Изменено пользователем Rostiks

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)

Есть еще баг с получением сообщений из телеграма. Почему то после команды например /restart Rig1 делаеться рестарт и после рестарта циклически рестарт. Я вроде понял в чем дело, именно в том что софт берет последнее сообщение из телеграма и постоянно ребут делает. Хз как исправить. Что бы брало только 1 раз сообщение. 

 

Вроде решаеться, как мне кажеться неверно очередь сообщений обрабатывалась как итог старые сообщения не удалялись. Нужно +1 добавлять к очереди к offset. 

 

В общем вроде работает нормально

 

Файл Form1.cs

Замените функцию botMessageCycle на вот эту

private void botMessageCycle()
        {
            bool flagrestart = false;
            botUpdate = bot.GetUpdates(bot.lastUpd);
            if (botUpdate != null)
            {
                foreach (var upd in botUpdate)
                {
                    //Берем сообщения только конкретного пользователя
                    if (upd.Message.Chat.Username == this.textBotSendTo.Text)
                    {
                        //Сохраняем чатИД
                        bot.chatID = upd.Message.Chat.Id.ToString();
                        //Обрабатываем Цикл команд, если установлен соотвествующий флаг, если флаг сброшен, то единственная польза цикла получить чат ИД для уведомлений.
                        if (this.cbResponceCmd.Checked)
                        {
                            switch (upd.Message.Text)
                            {
                                case "/fgpu":
                                    bot.SendMessage(bot.chatID, this.textFermaName.Text + ": " + this.label1.Text + "\n" + getParam(0), "", upd.Message.MessageId.ToString());
                                    break;
                                case "/fmem":
                                    bot.SendMessage(bot.chatID, this.textFermaName.Text + ": " + this.label2.Text + "\n" + getParam(1), "", upd.Message.MessageId.ToString());
                                    break;
                                case "/lgpu":
                                    bot.SendMessage(bot.chatID, this.textFermaName.Text + ": " + this.label3.Text + "\n" + getParam(2), "", upd.Message.MessageId.ToString());
                                    break;
                                case "/lmem":
                                    bot.SendMessage(bot.chatID, this.textFermaName.Text + ": " + this.label4.Text + "\n" + getParam(3), "", upd.Message.MessageId.ToString());
                                    break;
                                case "/tgpu":
                                    bot.SendMessage(bot.chatID, this.textFermaName.Text + ": " + this.label5.Text + "\n" + getParam(4), "", upd.Message.MessageId.ToString());
                                    break;
                                case "/fanp":
                                    bot.SendMessage(bot.chatID, this.textFermaName.Text + ": " + this.label6.Text + "\n" + getParam(5), "", upd.Message.MessageId.ToString());
                                    break;
                                case "/fanr":
                                    bot.SendMessage(bot.chatID, this.textFermaName.Text + ": " + this.label7.Text + "\n" + getParam(6), "", upd.Message.MessageId.ToString());
                                    break;
                                case "/all":
                                    bot.SendMessage(bot.chatID, this.textFermaName.Text + ":\n" +
                                        this.label1.Text + "\n" + getParam(0) + "\n" +
                                        this.label2.Text + "\n" + getParam(1) + "\n" +
                                        this.label3.Text + "\n" + getParam(2) + "\n" +
                                        this.label4.Text + "\n" + getParam(3) + "\n" +
                                        this.label5.Text + "\n" + getParam(4) + "\n" +
                                        this.label6.Text + "\n" + getParam(5) + "\n" +
                                        this.label7.Text + "\n" + getParam(6), "", upd.Message.MessageId.ToString());
                                    break;
                                case "/resetget":
                                    bot.SendMessage(bot.chatID, this.textFermaName.Text + ": flag reset is " + (!fReset).ToString(), "", upd.Message.MessageId.ToString());
                                    break;
                                case "/reseton":
                                    bot.SendMessage(bot.chatID, this.textFermaName.Text + ": flag reset is " + (!fReset).ToString(), "", upd.Message.MessageId.ToString());
                                    fReset = false;
                                    bot.SendMessage(bot.chatID, this.textFermaName.Text + ": flag reset set to " + (!fReset).ToString(), "", upd.Message.MessageId.ToString());
                                    break;
                                case "/resetoff":
                                    bot.SendMessage(bot.chatID, this.textFermaName.Text + ": flag reset is " + (!fReset).ToString(), "", upd.Message.MessageId.ToString());
                                    fReset = true;
                                    bot.SendMessage(bot.chatID, this.textFermaName.Text + ": flag reset set to " + (!fReset).ToString(), "", upd.Message.MessageId.ToString());
                                    break;
                                default:
                                    //Проверяем, не рестарт ли
                                    flagrestart = upd.Message.Text.Equals("/reset " + textFermaName.Text);
                                    if (flagrestart)
                                    {
                                        bot.SendMessage(bot.chatID, this.textFermaName.Text + " restarts ...", "", upd.Message.MessageId.ToString());
                                    }
                                    break;
                            }
                        }
                        //Сохраняем ИД сообщения для очистки очереди
                        bot.lastUpd = (upd.UpdateId+1).ToString();
                        bot.GetUpdates(bot.lastUpd);
                    }
                    //Сохраняем последний чатИД, чтобы бот мог ответить
                    if (!String.IsNullOrEmpty(bot.chatID))
                    {
                        if (!config.conf.botset.botChatID.Equals(bot.chatID))
                        {
                            config.conf.botset.botChatID = bot.chatID;
                            config.WriteParam(ref config_path);
                        }
                    }
                }
                //Защита от спама: если запросы были не мои, чтобы не копились
                if (botUpdate.Count > 10)
                    bot.lastUpd = (botUpdate[botUpdate.Count + 1].UpdateId).ToString();
            }
            if (flagrestart)
            {
                Reset_Click(null, null);
            }
Изменено пользователем Rostiks

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

что после того как исчезает интернет риг перезагружаеться

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Да я думаю просто вставить код этот нужно еще перед тем как срабатывает мониторинг) Не будет совсем ребут делать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×