Страница 7 из 7

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

Добавлено: Пт май 01, 2020 10:09 pm
viktor6
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);

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

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

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

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

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

Добавлено: Пт май 01, 2020 11:06 pm
viktor6
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);
}

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

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

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

setTimeOut('myTimer_555','runScript("MyScript_555");',10);

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

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

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

На одном из медиабоксов переехал на более свежий 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(); я ничего не придумал ;)

Но метод - не сохраняется такой - ошибки синтаксиса...
Господа программеры - помогите плз!

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

Добавлено: Ср ноя 18, 2020 10:30 pm
SmoKE_xDDD
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