Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. ioBroker драйвера
    5. Драйвер Paw

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Драйвер Paw

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      bondrogeen last edited by

      380_paw_big.png

      <size size="200">iobroker.paw</size>

      <size size="150">Описание:</size>

      Драйвер для управления Android-устройством через приложение PAW server. Может проговаривать текст, управлять громкостью, отправлять SMS, совершать звонки, читать сообщения, получать журнал вызовов и основную информацию (состояние памяти, показание от встроенных датчиков, уровень заряда, пропущенные вызовы, новые смс ) и многое другое …

      <size size="150">Установка программы и настройка драйвера.</size>

      Скачиваем и устанавливает приложение PAW Server for Android.

      https://play.google.com/store/apps/deta … .pawserver

      Открываем приложение PAW Server for Android на устройстве

      После инициализации нужно перенести в папку ..paw/html

      файлы:

      ****call.xhtml

      get.xhtml

      set.xhtml

      sms.xhtml

      settings.xhtml****

      Достаточно скачать и перенести только фаил " settings.xhtml " остальные файлы скачаются через драйвер

      и при будущих обновлениях драйвера, будут обновляться сами.

      файлы брать тут https://github.com/bondrogeen/iobroker. … master/www

      Запускаем PAW Server for Android.

      Устанавливаем драйвер iobroke.paw

      380_1.jpg

      Начало и конец - это время работы оповещение через синтезатор речи.

      Например, все сообщения с 7ч до 23ч которые будут отправлены на синтезатор речи (ttl), а в остальное время будут игнорироваться.

      Это правило распространяется только на изменения этих переменных

      paw.0.[name_device].tts.response (для конкретного устройства)

      или

      paw.0.all_device.tts_response (для всех устройств)

      При отправки через javascript это правило не действует.

      Также предусмотрено для ttl буфер , все сообщения поступающие на синтезатор будут сказаны.

      То есть если у вас стоит на 10-00 отправка на ttl оповещение (времени или погоды) и в это время поступает какое-то сообщение (хоть 10шт ) , то все сообщения будут сказаны.

      игнор - если не нужно получать основную информацию от устройства.

      380_2.jpg

      <size size="100">Для управление через vis, можно управлять устройством [name_device] изменяя переменную</size>

      paw.0.[name_device].command.command

      ! lcd_on
      ! активировать экран
      ! home
      ! эмулировать нажатие на кнопку HOME
      ! endсall
      ! конец связи (положить трубку)
      ! scan
      ! запустить приложение сканер штрих кода.
      ! speech
      ! активация голоса
      ! restart
      ! перезагрузка paw сервера
      ! kill
      ! отключить paw сервер
      ! gong
      ! проигрывает файл ..paw/html/gong.mp3
      ! sound_noti
      ! проигрывает стандартный звук уведомления
      ! sound_ring
      ! проигрывает стандартный звук звонка
      ! Так же и для остальных переменных, но только некоторые команды
      ! требуют второго параметра, который вводиться через запятую.

      ! paw.0.[name_device].command.alert
      ! Пример: Внимание , Нет связи!!!
      ! Предупреждения
      ! paw.0.[name_device].command.alertinput
      ! Пример: Внимание! , Введите команду
      ! Предупреждения c запросом, ответ сохраниться в переменной paw..[name_device].request.alertinput
      ! paw.0.[name_device].command.send_sms
      ! Пример: 123456789 , Проверка
      ! Отправить смс сообщение на номер [number] , с текстом [text]
      ! paw.0.[name_device].command.noti
      ! Пример: Внимание , Нет ответа от уст.
      ! Уведомление [название уведомления] , [техт уведомления]
      ! paw.0.[name_device].command.app_start
      ! Пример: lcf.clock
      ! Запуск приложение
      ! paw.0.[name_device].command.call
      ! Пример: 123456789
      ! Позвонить по номеру [number]
      ! paw.0.[name_device].command.clipboard
      ! Пример:Ab123
      ! Сохранить текст в буфере обмена
      ! paw.0.[name_device].command.dial
      ! Пример: 123456789
      ! Набрать номер [number] на уст.
      ! paw.0.[name_device].command.brightness
      ! Пример: 255
      ! уровень яркости подсветки от 1-255
      ! paw.0.[name_device].command.openurl
      ! Пример: http://ya.ru
      ! Открыть url в браузере
      ! paw.0.[name_device].command.rec
      ! Пример: 1000 Включить запись длительностью [time(ms)]
      ! paw.0.[name_device].command.vibrate
      ! Пример: 500
      ! Включить вибрацию, время в миллисекундах [time(ms)]
      ! paw.0.[name_device].command.volume
      ! Пример: 7
      ! Установка громкости на устройстве от 0 до максимального значения,
      ! максимальное значение можно посмотреть тут (обычно это 15)
      ! paw.
      .[name_device].info.audio_volume.info.music_max

      <size size="150">Команды для javascript</size>

      ! dev1 - имя устройства, так же можно вводить IP устройства.
      ! Можно указывать несколько устройств через запятую 'dev1,dev3,192.168.1.71'
      ! all - отправить на все устройства.
      ! /
      ! //Отправить текст на синтезатор речи.
      ! sendTo("paw.0",'dev1,dev3',{send: 'say', text: 'проверка'});
      ! // с callback
      ! sendTo("paw.0",'all',{
      ! send: 'say',
      ! text: 'проверка'},function (response){
      ! log(JSON.stringify(response));
      ! });
      ! //установка времени подсветки экрана в милисек. '-1' - не гасить экран (работает не на всех уст.)
      ! sendTo("paw.0",'dev1',{send:'screen_off_time',number: '5000'});
      ! //активировать экран на устройстве.
      ! sendTo("paw.0",'all',{send:'lcd_on'});
      ! //уровень яркости подсветки от 1-255
      ! sendTo("paw.0",'dev1',{send:'brightness',number: '50'});
      ! //выполнить shell команду (нужен root)
      ! //"input tap x y" эмулирует нажатие на экран x — координаты по гор. y — координаты по верт.
      ! //"poweroff -f" выключить устройства
      ! //"reboot" перезагрузка устройства
      ! sendTo("paw.0",'all',{send:'exec',text:'input tap 100 100'});
      ! //эмулировать нажатие на кнопку HOME
      ! sendTo("paw.0",'all',{send:'home'});
      ! //запустить приложение, для примера - Tablet Clock указывается "системное название"
      ! sendTo("paw.0",'all',{send:'app_start',value:'lcf.clock'});
      ! sendTo("paw.0",'dev1',{
      ! send:'app_start',
      ! value:'lcf.clock'
      ! },function (response){
      ! log(JSON.stringify(response));
      ! });
      ! // Получить список установленных приложений "название":"системное название"
      ! sendTo("paw.0",'dev1',{
      ! send: 'apps'
      ! },function (response){
      ! log(JSON.stringify(response));
      ! });
      ! // Получить список задач из приложения Tasker "tasks": [auto, bubble, call, clock]
      ! sendTo("paw.0",'dev1',{
      ! send: 'tasker'
      ! },function (response){
      ! log(JSON.stringify(response));
      ! });
      ! // Запустите задачу из приложения Tasker. (need root)
      ! sendTo("paw.0",'dev1',{send:'task',text:'auto'});
      ! //Отправка смс.
      ! sendTo("paw.0",'dev1',{send: 'sms', text: 'проверка', number: '8123456789'});
      ! sendTo("paw.0",'192.168.1.71',{
      ! send: 'sms',
      ! text: 'проверка',
      ! number: '8123456789'
      ! },function (response){
      ! log(JSON.stringify(response));
      ! });
      ! /

      ! Установка громкости от 0 до 15, максимальная громкость устанавливается системой,
      ! также проверяется чтобы не выходило за пределы установленных значений)
      ! mode= может быть (STREAM_NOTIFICATION, STREAM_MUSIC ,STREAM_ALARM,
      ! STREAM_RING, STREAM_SYSTEM, STREAM_VOICE_CALL)
      ! если не указан то по умолчанию стоит STREAM_MUSIC
      ! */
      ! sendTo("paw.0",'dev1',{send: 'volume', number: '5'});
      ! // с callback
      ! sendTo("paw.0",'192.168.1.71',{
      ! send: 'volume',
      ! number: '10',
      ! mode: 'STREAM_NOTIFICATION'
      ! },function (response){
      ! log(JSON.stringify(response));
      ! });
      ! //Набрать номер.
      ! sendTo("paw.0",'dev1',{send: 'call', number: '0611'});
      ! // с callback
      ! sendTo("paw.0",'192.168.1.71',{
      ! send: 'call',
      ! number: '0611'
      ! },function (response){
      ! log(JSON.stringify(response));
      ! });
      ! //Позвонить по номеру или выпоннить ussd команду.
      ! sendTo("paw.0",'dev1',{send: 'call', number: '*100#'});
      ! // с callback
      ! sendTo("paw.0",'192.168.1.71',{
      ! send: 'call',
      ! number: '0611'
      ! },function (response){
      ! log(JSON.stringify(response));
      ! });
      ! //Включает вибрацию number (время в милисекундах)
      ! sendTo("paw.0",'dev1',{send: 'vibrate', number: '1000'});
      ! sendTo("paw.0",'192.168.1.71',{
      ! send: 'vibrate',
      ! number: '100'
      ! },function (response){
      ! log(JSON.stringify(response));
      ! });
      ! // Отправит уведомления на устройства
      ! sendTo("paw.0",'dev1',{send: 'noti', texthead: 'Внимание',text: 'проверка'});
      ! // с callback
      ! sendTo("paw.0",'192.168.1.71',{
      ! send: 'noti',
      ! texthead: 'внимание',
      ! text: 'проверка'
      ! },function (response){
      ! log(JSON.stringify(response));
      ! });
      ! //Отправит предупреждение на устройства
      ! sendTo("paw.0",'dev1',{send: 'alert', texthead: 'Внимание',text: 'проверка'});
      ! sendTo("paw.0",'192.168.1.71',{
      ! send: 'alert',
      ! texthead: 'внимание',
      ! text: 'проверка'
      ! },function (response){
      ! log(JSON.stringify(response));
      ! });
      ! //Откроет браузер по указанному адресу
      ! sendTo("paw.0",'dev1',{send: 'openurl', text: 'http://192.168.1.61:8082'});
      ! sendTo("paw.0",'192.168.1.71',{
      ! send: 'openurl',
      ! text: 'http://ya.ru'
      ! },function (response){
      ! log(JSON.stringify(response));
      ! });
      ! //Завершить звонок (положить трубку)
      ! sendTo("paw.0",'dev1',{send: 'endсall'});
      ! // Отправить текст в буфер обмена
      ! sendTo("paw.0",'dev1',{send: 'clipboard',text:'текст'});
      ! // Перезагрузка paw сервера
      ! sendTo("paw.0",'dev1',{send: 'server',text:'restart'});
      ! // Остановка paw сервера
      ! sendTo("paw.0",'dev1',{send: 'server',text:'kill'});
      ! // получить журнал вызовов
      ! // [send] обязательный параметр.
      ! // "now" за сегодняшний день
      ! // "all" все вызовы,
      ! // "incoming" входящие вызовы
      ! // "missed" пропущенные вызовы
      ! // "outgoing" исходящие вызовы
      ! // "info" только информация о количеству вызовов
      ! // [date] - не обязательный параметр.
      ! // можно получить только за указанный день формат запроса " 01-05-2017 "
      ! // также можно просто перейти по адресу http://IP:8080/call.xhtml для получения списка виде html страницы
      ! sendTo("paw.0",'dev1',{
      ! html:'call',
      ! send: 'incoming',
      ! date:'01-05-2017'
      ! },function (response){
      ! log(JSON.stringify(response[0]));
      ! });

      1 Reply Last reply Reply Quote 0
      • B
        bondrogeen last edited by

        Все кто хочет принять участие в тесте!

        380_app-iobroker_paw-debug.zip

        драйвер ставить с https://github.com/bondrogeen/iobroker.paw

        Приложение для iobroker.paw собрано и доработано из исходников paw server. Так как в исходниках только минимальный набор сервера пришлось плотно изучать андройд. Это мое первое приложение. )))

        Поддержка от 4.0.3 и выше.

        Русский, немецкий и английский.

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

        Поменялась папка где лежит контент теперь это [home]/iobroker/paw/..

        добавлены новые функции:

        теперь можно передавать информацию о звонках c телефон или планшета в драйвер в режиме реального времени.

        paw.0.dev2.request.call.number +79876554321

        paw.0.dev2.request.call.status disconnection | ringing | connection paw.0.dev2.request.call.type incoming | outcoming

        Все поступающие смс тоже отправляются.

        paw.0.dev2.request.sms.body

        paw.0.dev2.request.sms.number

        Появилось возможность запускать задачи "таскер" без root, а так же передавать в них параметры. (%par1, %par2 и т.д)

        Добавил возможность отключать индикацию батареи (нужен root)

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

        Можно это делать командой

        sendTo("paw.0",'dev1',{send:'battery_off'});

        или запускать скрипт при загрузке из папки [home]/iobroker/paw/autostart

        1 Reply Last reply Reply Quote 0
        • O
          OlegJktu last edited by

          кажется в репозитарии уже новая версия приложения

          https://github.com/bondrogeen/ioBroker.paw

          upd совсем новая с виджетами напоминающими material

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          928
          Online

          31.6k
          Users

          79.6k
          Topics

          1.3m
          Posts

          2
          3
          5742
          Loading More Posts
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes
          Reply
          • Reply as topic
          Log in to reply
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          The ioBroker Community 2014-2023
          logo