Нужна помощь из скриптом

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

viktor6
Сообщения: 273
Зарегистрирован: Вс авг 20, 2017 1:46 am
Благодарил (а): 142 раза
Поблагодарили: 13 раз

Re: Нужна помощь из скриптом

Сообщение viktor6 » Пт май 01, 2020 10:09 pm

Chainik писал(а):
Пт май 01, 2020 10:03 pm
viktor6 писал(а):
Пт май 01, 2020 9:41 pm
Не сердитесь но где указать адрес http://192.168.0.120/all
Нет повода сердится (первая строка должна выглядеть так вместо той, которая есть сейчас):

Код: Выделить всё

$json = file_get_contents('http://192.168.0.120/all');
Я правильно понял, если да то не работает

Код: Выделить всё

$json = file_get_contents('http://192.168.0.120/all');
preg_match('/{([^}]*)/', $json, $matches);
$json = "{".$matches[1]."}";
$data = json_decode($json);
$T = $data->value;
gg('mqtt_obj.mqtt_prop',$T);
Raspberry Pi3, с образа от Сергея 3.34
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

Re: Нужна помощь из скриптом

Сообщение Chainik » Пт май 01, 2020 10:31 pm

viktor6 писал(а):
Пт май 01, 2020 10:09 pm
... не работает ...
Странно... Может ответ какой-то не тот сохраняется в $json.
Попробуйте добавить вторую строчку

Код: Выделить всё

say($json);
и посмотреть, что приходит в переменную.
Если там есть фрагмент "[{"name":"power","label":"Power","type":"Boolean","value":1}", то должно работать.
За это сообщение автора Chainik поблагодарил:
viktor6 (Пт май 01, 2020 11:18 pm)
Рейтинг: 1.16%
viktor6
Сообщения: 273
Зарегистрирован: Вс авг 20, 2017 1:46 am
Благодарил (а): 142 раза
Поблагодарили: 13 раз

Re: Нужна помощь из скриптом

Сообщение viktor6 » Пт май 01, 2020 11:06 pm

Chainik писал(а):
Пт май 01, 2020 10:31 pm
viktor6 писал(а):
Пт май 01, 2020 10:09 pm
... не работает ...
Странно... Может ответ какой-то не тот сохраняется в $json.
Попробуйте добавить вторую строчку

Код: Выделить всё

say($json);
и посмотреть, что приходит в переменную.
Если там есть фрагмент "[{"name":"power","label":"Power","type":"Boolean","value":1}", то должно работать.
так заработало, и еще как сделать чтобы оно обновлялось допустим каждые 5-10 секунд?

Код: Выделить всё

$json = file_get_contents('http://192.168.0.120/all');
preg_match('/{([^}]*)/', $json, $matches);
$json = "{".$matches[1]."}";
$data = json_decode($json);
foreach ($data as $k=>$v) {
sg("mqtt_obj.$k", $v);
}
Raspberry Pi3, с образа от Сергея 3.34
Chainik
Сообщения: 1465
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 262 раза
Поблагодарили: 455 раз

Re: Нужна помощь из скриптом

Сообщение Chainik » Пт май 01, 2020 11:20 pm

viktor6 писал(а):
Пт май 01, 2020 11:06 pm
... как сделать чтобы оно обновлялось допустим каждые 5-10 секунд?
Можете поместить код в скрипт (сценарий), назвав его как-нибудь (например, "MyScript_555").
И в конце кода добавьте строчку:

Код: Выделить всё

setTimeOut('myTimer_555','runScript("MyScript_555");',10);
За это сообщение автора Chainik поблагодарил:
viktor6 (Пт май 01, 2020 11:23 pm)
Рейтинг: 1.16%
max37online
Сообщения: 39
Зарегистрирован: Ср сен 21, 2016 9:03 am
Благодарил (а): 4 раза
Поблагодарили: 5 раз

Re: Нужна помощь из скриптом

Сообщение max37online » Ср ноя 18, 2020 10:24 pm

Добрый вечер всем!

Решил не плодить новых тем, да и вопрос-то дилетантский ;)

На одном из медиабоксов переехал на более свежий kodi.
А в нем - json API v10.
если раньше поменять громкость было достаточно дернуть URL:
getURL('http://192.168.1.101:8080/jsonrpc?reque ... volume":77}}');


То теперь надо только через http post...

единственный действенный способ нашел вот такой:

curl -s --data-binary '{ "jsonrpc": "2.0", "method": "Application.SetVolume","params": {"volume":'77'}, "id": 1}' -H 'content-type: application/json;' http://192.168.1.101:8080/jsonrpc


Теперь это надо как-то завернуть это в метод, а учитывая что программист я так себе,
более умного чем засунуть это в exec(); я ничего не придумал ;)

Но метод - не сохраняется такой - ошибки синтаксиса...
Господа программеры - помогите плз!
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 899 раз

Re: Нужна помощь из скриптом

Сообщение SmoKE_xDDD » Ср ноя 18, 2020 10:30 pm

max37online писал(а):
Ср ноя 18, 2020 10:24 pm
Добрый вечер всем!

Решил не плодить новых тем, да и вопрос-то дилетантский ;)

На одном из медиабоксов переехал на более свежий kodi.
А в нем - json API v10.
если раньше поменять громкость было достаточно дернуть URL:
getURL('http://192.168.1.101:8080/jsonrpc?reque ... volume":77}}');


То теперь надо только через http post...

единственный действенный способ нашел вот такой:

curl -s --data-binary '{ "jsonrpc": "2.0", "method": "Application.SetVolume","params": {"volume":'77'}, "id": 1}' -H 'content-type: application/json;' http://192.168.1.101:8080/jsonrpc


Теперь это надо как-то завернуть это в метод, а учитывая что программист я так себе,
более умного чем засунуть это в exec(); я ничего не придумал ;)

Но метод - не сохраняется такой - ошибки синтаксиса...
Господа программеры - помогите плз!
https://myrusakov.ru/php-curl-post.html
Ответить