Выкладываю свое решение - пригодится новичкам, с системой под Windows
Качаем и устанавливаем программу MobileBalance http://mtsoft.ru/mobilebalance/
Кроме баланса программа может вытянуть из личного кабинета остаток бесплатных минут и смс, посчитать сколько дней осталось до отключения и еще много интересного.
Настраивается легко, для передачи данных в MD используется встроенный веб-сервер.
После настройки телефонов и проверки, что баланс удается получить включаем Web-сервер
Настройка программы -> WWW -> Включить встроенный Web-сервер
Задаем пароль, запоминаем порт.
Заходим в MD.
Создаем новый класс MobilePhone
Свойства класса:
allcontent вся информация
balance баланс
freemin остаток минут
offday прогноз отключения (дней)
Метод:
balanceChanged
Код: Выделить всё
$allcont = $this->getProperty("allcontent");
$balance = substr($allcont,strripos($allcont, "Balance")+9,-1);
$balance = substr($balance,0,strpos($balance, "."));
$this->setProperty("balance",$balance);
$freemin = substr($allcont,strripos($allcont, "Min")+5,-1);
$freemin = substr($freemin,0,strpos($freemin, "<"));
$this->setProperty("freemin",$freemin);
$offday = substr($allcont,strripos($allcont, "CalcTurnOff")+13,-1);
$offday = substr($offday,0,strpos($offday, "<"));
$this->setProperty("offday",$offday);
Создаем объекты в классе MobilePhone для каждого телефона
В моем случае их два john и kate
http://connect.smartliving.ru/profile/69
Создаем новые WEB-переменные для каждого телефона
Они будут получать информацию с web-сервера программы при обновлении данных, и запускать метод для обновления свойств
Пример:
ссылка:
http://127.0.0.1:19778/bal/
(сервер:порт/пароль)
Шаблон поиска:
John<\/td>(.+?)<\/tr
(john - псевдоним телефона в программе)
Код:
say("Обновление баланса Жени",-1);
callMethod("john.balanceChanged");
(запускает метод обновления свойств и выводит сообщение)
Связанный объект.Свойство:
john.allcontent
(имя телефона, свойство allcontent)
Теперь в MD есть информация о балансе, остатке бесплатных минут и расчете дней до отключения.
Можем использовать по своему усмотрению - настроить отображение в меню, настроить предупреждение о низком балансе.
Я например настроил, чтобы Алиса предупреждала, что баланс менее 30 рублей, когда вечером приходишь домой.
Выглядит вот так: