Разработка дополнительных модулей, подключение различных приложений.
Модератор: immortal
-
fandaymon
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
-
Благодарил (а):
39 раз
-
Поблагодарили:
574 раза
Сообщение
fandaymon » Чт сен 17, 2020 1:04 am
Pamfletik писал(а): ↑Чт сен 17, 2020 12:19 am
fandaymon писал(а):myxa78 писал(а): ↑Ср сен 16, 2020 11:25 pm
SID не получает. Endpoint пробовал полностью стирать. После обновления возвращается /api.json
А питон3 стоит?
Если из консоли запустить exec('python3 /var/www/html/modules/tuya//pow_python.py 3 2 1')
У меня тоже самое МД на малинке. If закомментировал. Код в кансоле выдал: syntax error near unexpected token `'python3 /var/www/html/modules/tuya//pow_python.ru 3 2 1''
python3 --version выдает 3.5.3
Отправлено с моего Mi MIX 2 через Tapatalk
Там лишняя /
exec('python3 /var/www/html/modules/tuya/pow_python.py 3 2 1') должен в консоли выдавать b'01'
МДМ размещен по пути /var/www/html ?
Разобрался как работать с BCMath используя все эти преобразования hex->dec-> bytes to int... Заморочено конечно. Поправил код на гитхабе. Проверил - у меня теперь SID получает и та ветка, где используется BCMath. В случае неполучения кода в стандартный лог МДМ выводится описание ошибки
-
myxa78
- Сообщения: 18
- Зарегистрирован: Вт ноя 27, 2018 4:15 pm
-
Благодарил (а):
2 раза
-
Поблагодарили:
0
Сообщение
myxa78 » Чт сен 17, 2020 9:10 am
Увы не помогло. SID не получает.
Если запускать скрипт, выдает b'01'. Попробовал запускать скрипт и через php и напрямую из Python3 - отрабатывает, выдает b'01'
Пробовал закомментировать BCMath, чтоб питон сработал - тоже без результата =(
В логах дополнительных ошибок не вижу. Только все таже ошибка в geturl
Не сразу заметил в логах apacha после нажатия на "Обновить". Появляется ошибка:
Traceback (most recent call last):
File "/var/www/vhosts/iHome/modules/tuya/pow_python.py", line 4, in <module>
n=int(sys.argv[1])
ValueError: invalid literal for int() with base 10: 'c17c535f28e6c9219c4a472fb0e228eb'
-
myxa78
- Сообщения: 18
- Зарегистрирован: Вт ноя 27, 2018 4:15 pm
-
Благодарил (а):
2 раза
-
Поблагодарили:
0
Сообщение
myxa78 » Чт сен 17, 2020 11:08 am
попробовал ручками прописал в Endpoint:
https://a1.tuyaeu.com/api.json
После обновления, в поле SID появились данные, и обновились данные по выключателю, пока это единственное устройство.
Бегло проверил - вроде работает. Пока тестирую
-
fandaymon
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
-
Благодарил (а):
39 раз
-
Поблагодарили:
574 раза
Сообщение
fandaymon » Чт сен 17, 2020 11:30 am
myxa78 писал(а): ↑Чт сен 17, 2020 9:10 am
Увы не помогло. SID не получает.
Если запускать скрипт, выдает b'01'. Попробовал запускать скрипт и через php и напрямую из Python3 - отрабатывает, выдает b'01'
Пробовал закомментировать BCMath, чтоб питон сработал - тоже без результата =(
В логах дополнительных ошибок не вижу. Только все таже ошибка в geturl
Не сразу заметил в логах apacha после нажатия на "Обновить". Появляется ошибка:
Traceback (most recent call last):
File "/var/www/vhosts/iHome/modules/tuya/pow_python.py", line 4, in <module>
n=int(sys.argv[1])
ValueError: invalid literal for int() with base 10: 'c17c535f28e6c9219c4a472fb0e228eb'
Похоже запрос публичного ключа не прошёл и второй аргумент, т.е. md5 хэш пароля, стал первым...
-
myxa78
- Сообщения: 18
- Зарегистрирован: Вт ноя 27, 2018 4:15 pm
-
Благодарил (а):
2 раза
-
Поблагодарили:
0
Сообщение
myxa78 » Чт сен 17, 2020 12:14 pm
Кстати, почему сразу по умолчанию не прописать в Endpoint полный URL -
https://a1.tuyaeu.com/api.json
У меня заработало как раз после того как я его руками вписал
-
fandaymon
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
-
Благодарил (а):
39 раз
-
Поблагодарили:
574 раза
Сообщение
fandaymon » Чт сен 17, 2020 12:26 pm
myxa78 писал(а): ↑Чт сен 17, 2020 12:14 pm
Кстати, почему сразу по умолчанию не прописать в Endpoint полный URL -
https://a1.tuyaeu.com/api.json
У меня заработало как раз после того как я его руками вписал
Он вроде бы по умолчанию и должен прописываться. Просто он после получения SIDа может поменяться - не знаю при каких условиях и соответственно полученный от сервера URL прописывается в Настройках. Когда ничего не получает - Endpoint портится... Постараюсь предусмотреть все точки отказа с выводом сообщений - пока просто пытался сделать работающий прототип
-
myxa78
- Сообщения: 18
- Зарегистрирован: Вт ноя 27, 2018 4:15 pm
-
Благодарил (а):
2 раза
-
Поблагодарили:
0
Сообщение
myxa78 » Чт сен 17, 2020 12:38 pm
По выключателю заметил такой нюанс. Раньше было одно свойство state, собственно Вкл/Выкл.
Теперь добавилось еще switch_1 - оно реагирует быстрее на изменение статуса выключателя. Получается так, сначало меняется switch_1 и через пару секунд меняется уже state.
После изменений модуля события обновляются быстрее и стабильнее. В случае управления светом в проходном помещении, критично.
Гранд мерси за труды!
-
fandaymon
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
-
Благодарил (а):
39 раз
-
Поблагодарили:
574 раза
Сообщение
fandaymon » Чт сен 17, 2020 12:45 pm
myxa78 писал(а): ↑Чт сен 17, 2020 12:38 pm
По выключателю заметил такой нюанс. Раньше было одно свойство state, собственно Вкл/Выкл.
Теперь добавилось еще switch_1 - оно реагирует быстрее на изменение статуса выключателя. Получается так, сначало меняется switch_1 и через пару секунд меняется уже state.
После изменений модуля события обновляются быстрее и стабильнее. В случае управления светом в проходном помещении, критично.
Гранд мерси за труды!
Скорость изменения зависит только от времени опроса, так как по сути это одно и тоже свойство - dsp:1
-
myxa78
- Сообщения: 18
- Зарегистрирован: Вт ноя 27, 2018 4:15 pm
-
Благодарил (а):
2 раза
-
Поблагодарили:
0
Сообщение
myxa78 » Чт сен 17, 2020 2:11 pm
Еще вопрос по статусу цикла. Почему то статус (рядом с кнопкой "Настроить") чаще всего "Цикл остановлен". Но при этом вроде все работает.
События проходят в обе стороны - и в облако и из него. Просто не обращать на статус внимание?
-
fandaymon
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
-
Благодарил (а):
39 раз
-
Поблагодарили:
574 раза
Сообщение
fandaymon » Чт сен 17, 2020 2:17 pm
myxa78 писал(а): ↑Чт сен 17, 2020 2:11 pm
Еще вопрос по статусу цикла. Почему то статус (рядом с кнопкой "Настроить") чаще всего "Цикл остановлен". Но при этом вроде все работает.
События проходят в обе стороны - и в облако и из него. Просто не обращать на статус внимание?
Кликнуть на какой-нибудь другой модуль, а потом вернуться - покажет что всё нормально с циклом. Честно говоря не было времени разобраться что там и как работает - просто скопировал этот кусок из других модулей
В принципе цикл используется только для получения статусов устройств, управление идёт напрямую
- За это сообщение автора fandaymon поблагодарил:
- AK1 (Вс сен 20, 2020 6:42 pm)