• Как управлять яндекс-лампочкой в обход апи яндекса?

    @justslipknot Автор вопроса
    Как выяснилось, яндекс лампочки - это ребрендированная Tuya лампочка. У Tuya есть локальный протокол и модуль для Home Assistant. Но я решил вопрос немного иначе:
    1. Устанавливаем приложение Smart Life или Tuya Home (оба совместимы с яндекс лампами)
    2. Сбрасываем настройки лампочек и добавляем их в приложении Smart Life / Tuya Home
    3. Регистрируем приложение на платформе Tuya. Инструкция есть в этом репозитории.
      Пояснение
      Этот шаг нам нужно проделать, чтобы получить Local Key, который требуется для шифрования и расшифровки запросов (Local Key, как я понял, обновляется после сброса настроек). Инструкция, как быстро добавить устройства в приложение платформы Tuya так же представлено в репозитории

    4. Выбираем библиотеку для работы с Tuya local api. Я выбрал вот эту библиотеку для C#. На GitHub странице этой библиотеки есть инструкция по работе с Tuya local api.
    5. Реализуем нужный нам функционал


    Небольшой топорный пример из моего тестового проекта:
    Поиск устройств Tuya в сети

    // Эти данные можно получить на странице вашего приложения на платформе Tuya.
    var accessId = "<access id>";
    var apiSecret = "<api secret>";
    
    // Сканируем сеть на наличие доступных устройств Tuya. 
    // Хранение найденных устройств реализуется как душе угодно
    
    var scanner = new TuyaScanner();
    scanner.OnNewDeviceInfoReceived += (sender, info) =>
    {
       // логика сохранения найденных устройств 
    };


    Получение Local Key


    Самый важный этап.
    Пример взят из репозитория библиотеки
    var api = new TuyaApi(region: TuyaApi.Region.CentralEurope, accessId: ACCESS_ID, apiSecret: API_SECRET);
    var devices = await api.GetAllDevicesInfoAsync(anyDeviceId: DEVICE_ID);
    foreach(var device in devices)
    {
        Console.WriteLine($"Device: {device.Name}, device ID: {device.Id}, local key: {device.LocalKey}");
    }


    Отправка команд устройству

    var device = new TuyaDevice("<IP адрес>", "<local key>", "<device id>");
    
    // Пример команды включения лампочки
    // Метод FillJson автоматически подставляет нужные параметры, поэтому сразу пишем запрос.
    // Про методы DPS можно почитать в официальной документации Tuya
    var onCommand = device.FillJson("{\"dps\":{\"20\":true}}");
    
    var request = device.EncodeRequest(TuyaCommand.CONTROL, onCommand );
    
    // Посылаем сигнал. Если устройство не ответит, то падает исключение 
    var encodedResponse = await device.SendAsync(request);
    var response = device.DecodeResponse(encodedResponse);



    Далее остаётся разобраться с кодами команд и можете контролировать лампы как вам угодно.
    Ответ написан
    3 комментария
  • Ограниченная скорость в 1Gb на Esxi на картах 10Gb, почему?

    У вас Hardware offload на порту брижда sfp-sfpplus1 по каким-то причинам не активировался, поэтому данные свичевались процессором коммутатора, а не аппаратно свич-чипом. Насколько я помню, HW. offload в коммутаторах Микротик работает только для первого созданного бриджа, а у вас порты SFP+ в bidge2, возможно причина в этом. Если ether1 используется только для управления, попробуйте вывести его из бриджа и использовать независимо, а порты SFP+ перевести в bridge1.
    Ответ написан
    2 комментария
  • Как создать снимок установленной на программы для дальнейшего распространения на компы пользователей?

    Zoominger
    @Zoominger Куратор тега Системное администрирование
    System Integrator
    Ну, раз вы не посчитали нужным уточнить программу или хотя бы контейнер, в котором она поставляется, то давайте потыкаем 21-ым пальцем в Б-жье небо.

    Если программа в формате exe, то попробуйте погуглить "myprog.exe cmd keys" - обычно такие поддерживают ключи без проблем, причём установщики универсальны для всех программ и вы сможете автоматизировать галочки и параметры, которые задаются в процессе установки.
    Для разливки засуньте exe в msi (вы же умеете гуглить?) и разлейте через GPO.

    Если программа в msi, то тупо делаете для неё шаблон со всеми настройками и льёте через GPO.

    Если программа ни то, ни сё, то копируете её каталог со всеми настройками и разливаете по GPO скриптом на ПоверЩели, там же делаете ярлык.

    Вопросы?
    Ответ написан
    1 комментарий
  • Можно ли для администрирования Linux обойтись без BASH?

    @morvlad
    shell - это классический инструмент используемый для работы в linux.
    В принципе можно минимизировать работу в нем, например используя интерактивную утилиту yast которая поставляется в комплекте с OpenSUSE.
    В нем присутствует весьма щедрый набор возможностей, причем работает он не только в графической оболочке.
    Но Linux тем и привлекателен, что позволяет многое делать используя командный интерпретатор, а не "тыкать" мышкой по экрану.
    Ответ написан
    Комментировать
  • Как набить руку на Python разработку и сисадминистрирование за 2 месяца?

    ri_gilfanov
    @ri_gilfanov
    Web- and desktop-developer
    Веб-разработка и администрирование сетевых ресурсов более востребованы, поэтому я бы рекомендовал изучить следующее:
    • основы и стандартная библиотека Python -- навык лучше прокачивается написанием скриптов и программ для решения неучебных задач. И если основной навык миддла -- это гуглить (полу)готовые решения, то основной навык джуна -- уметь писать свои "велосипеды". Разработчик, который по-максимуму использует и полагается на готовое -- столь же неэффективен, как и предпочитающий использовать готовое по-минимуму;
    • веб-фреймворк Django -- пилите небольшой проект, получаете общие представления о веб-разработке и практику ООП, но о Python этот веб-фреймворк расскажет мало, делает слишком много работы за программиста, а в его исходном коде можно заплутать, так и не поняв как он работает;
    • система контроля версий Git -- обязательно для разработчика и желательно для сисадмина;
    • wsgi-сервер uWSGI (или Gunicorn) -- см. ниже;
    • http-сервер Nginx -- см. ниже;
    • GNU/Linux -- пробуете развернуть проект с использованием предыдущих двух пунктов;
    • веб-фреймворк Flask -- просто пощупайте или сделайте ещё один небольшой веб-проект, по исходникам этого веб-фреймворка проще понять как работают другие веб-фреймворки и как писать поддерживаемый код, к тому же на Flask часто пилят всякие API / бэкенды;

    Настольные приложения и мобильная разработка на Python кажется менее развита и менее востребована, но когда-нибудь можете пощупать:
    • Python GTK+ 3 (или PySide2) -- Python обёртки над GUI инструментариями для разработки настольных приложений;
    • Kivy -- фреймворк преимущественно для мобильной разработки.

    И, если вопрос предполагает поиск работы через пару месяцев, то работодателям обычно нужны те, разработчики, что будут решать их "бизнес-задачи": снижать расходы, повышать доходы и минимизировать риски. Проще говоря, знание математики, алгоритмов и модных технологий могут не пригодится вообще, а вот доведённые до ума проекты расскажут о Вас работодателю намного больше.
    Ответ написан
    4 комментария
  • Правда ли, что сейчас так сложно найти работу?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Никогда не читайте такие статьи, ну разве только Вы собираетесь работать в Забугории. Потому что "там" все не так, как "здесь". Не бывает "здесь" откликов на вакансию сеньора по 500 штук - ну, конечно, если ты не Мегафон, не Сбербанк...
    Абсолютно бредовая статья. Если сеньор позволяет разговаривать с собой, как со школьнегом - ну, значит, такой сеньор...
    "Мне кажется, Вы не очень-то кот..." (С)
    Потому что сеньор - кадр ценный, ими не разбрасываются. Если подходит, конечно.

    Теперь о рынке. Если отделить от ИТ веб-программирование (которое давно уже суть не программирование от слова совсем) - то получим картину, точно такую же, как и в других отраслях - есть джуны, которых много, есть миддлы, которых меньше, и есть сеньоры, которых мало. Чем выше уровень, тем выше потребность в квалифицированных кадрах. Это для того, чтобы отсеять десятки джунов, рассылающих веерами свои CV всюду, куда надо и куда не надо и придумывают различные анкеты, задачи, тестирования и прочую байду. Вакансии сеньоров не закрываются годами и ни один адекватный работодатель не будет устраивать тестирование сеньору, пришедшему по такой вакансии. Потому что сразу, еще по CV понятно - подходит он или нет.
    Именно джуны, претендующие на место (ну то есть на зарплату) сеньора пишут гневные комменты про то, что работодатели козлы. Сеньоры никаких комментов не пишут - они давно переросли этот уровень.
    И в целом все идет так же как, и везде - у всех разная работа, у всех разная зарплата, и в зависимости от места можно получать за одну и ту же работу в два раза больше (меньше) чем коллега из фирмы через дорогу. И также, как и везде, для специалиста нет проблем с трудоустройством.

    А теперь возьмем веб-программирование.

    Дело в том, что у многого множества сейчас программирование вообще стало ассоциироваться именно с вебом. Первые фрилансеры, рассказывающие о фантастических заработках, о том, как они за два часа под пальмой зашибают стопицот евро вызывали нешуточную зависть (не факт, что они столько зарабатывали на самом деле, но не проверишь же) - и в веб-программирование поперли все, кому не день. Наличие технологий, фреймворков и прочего привело к фантастическому падению порога вхождения - и это привело к тому, что в поисках "фантастического заработка за два часа под пальмой" сюда пришла тьма неквалифицированного народа. Армия зомби, ничего не умеющая, кроме как клепать примитивные сайтики, и ничего не желающая - только жрать. У отдельных ее представителей иногда получается выбиться - и именно они пишут хвалебные комменты про заработки в стопицот евро. Видя это, толпа еще более напирает :)
    В веб-программировании рынок действительно перегрет и перегрет фантастически. Вот там действительно в изобилии специалистов на любой вкус - от сеньоров до обезьян-формошлепов и соваться туда сейчас можно либо от безвыходности, либо если ты на самом деле неэпически уверен в своих силах.
    Ответ написан
    4 комментария
  • Каким скриптом можно реализовать обучение пользователей?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    https://introjs.com/ - пару раз приходилось делать туториал на vue, юзал эту библотеку.

    Создаёте компонент, кладёте его поверх приложения, например, в app.vue, описываете в нём шаги и селекторы к элементам.

    Есть готовый компонент с intro.js под капотом, но его я не юзал https://github.com/alex-oleshkevich/vue-introjs
    Ответ написан
    1 комментарий
  • Как выгодно себя продать на рынке труда?

    DevMan
    @DevMan
    да нет таких советов и быть не может: каждый человек индивидуален и как человек, и как специалист. и работодатели тоже все не как под копирку.
    кто–то слишком наглый, кто–то слишком робкий. и каждый сам находит свой баланс между этими качествами.
    можно без устали штудировать материалы "как пройти собеседование по ...", но как только собеседование пойдет иначе (а оно обязательно пойдет), все вылетит в трубу.

    невозможно научиться ходить не падая. ходите по собеседованиям, получайте отказы (негативный опыт не перестает быть опытом), получайте оферы, работайте, увольняйтесь и переходите на новое место. из этого и формируется личный опыт.

    грамотные люди не охотятся за конкретными знаниями, они охотятся за мозгами в целом и адекватностью в частности. ваше дело – продемонстрировать обладание этими качествами.
    Ответ написан
    Комментировать
  • Как извлечь из Википедии наименования населенных пунктов, их координаты и численность населения?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Заходим на WikiDataQ
    Стряпаем такой вот запрос:
    5a57c6db035cc880525153.png
    Забираем профит.
    tinyurl.com/ycwfglzl
    Ответ написан
    Комментировать
  • Какие минусы у тонкого клиента?

    @mcsimm
    Здравствуйте!
    Про плюсы и минусы уже, в принципе, всё расписали, хотелось бы просто заострить вопрос на сканировании - постарайтесь, обзавестись МФУ с Ethernet, умеющими отправку скана на e-mail\расшаренную папку и т.д., здорово сбережёте себе нервы. Ну и, конечно, придётся расстаться с принтерами, которые не умеют в х64 драйвера, всякие старые win-принтеры. Т.е. оптимальный вариант - сетевые тонкие клиенты - сетевые же принтеры и МФУ. Никаких локальных соединений с оргтехникой. Понимаю, что категорично звучит, у нас есть парк тонких клиентов и USB-принтеры HP, Canon и Xerox, сейчас всё работает, но сколько же было геммора с настройкой ThinStation. Безпроблемными же оказались HP LJ 1012-1022, завелись с пол-пинка.
    P.S Ах да, сразу проанализируйте ПО на раб. местах Ваших пользователей, я наступил на грабли с ГрандСметой, которая не работала в терминальной сессии из принципа (даже разработчик на это указывает). Сейчас не знаю, как с ней обстоит дело.
    Ответ написан
    Комментировать
  • Как концентрировать внимание на работе?

    nki
    @nki
    bezkart.ru готовая система лояльности
    Возьми ипотеку.
    Ну и конечно же, тут должна быть картинка с Темой Лебедевым.
    Ответ написан
    1 комментарий
  • Как организовать автоматический "сброс" Windows до настроенного состояния?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    была раньше программка Shadow User после ее установки система при каждой перезагрузке возвращалась в состояние "на момент установки", все файлы и настройки сохраненные вне разрешенных папок удалялись.
    Мы ее ставили в техникуме и школах для защиты от "мелких кулхацкеров" было эффективно.
    Ответ написан
    1 комментарий
  • Как ограничить использование учениками мобильных телефонов в школе?

    @cssman
    Технически элегантно решается установкой MDM клиента на смартфон и установки соответствующей политики на запрет камеры (управление политиками с MDM сервера). Но это явно не для Вашего случая, лучше душевые адекватные детям купите на эти деньги.
    Ответ написан
    Комментировать
  • Как правильно подключить 6 мониторов через витую пару и маршрутизатор?

    plin2s
    @plin2s
    IT, инженер
    Помимо прочих ответов хочется добавить, что в случае с комерческой организацией иногда нужно думать не только о технологичности, но и о надежности решения. Вы хотите помимо телевизора и флешки добавить еще большое количество точек отказа + усложнить предельно простую схему работы. Телевизоры редко помирают, флешки тоже, особено если с нее 1 раз в день читать данные и практически ничего не писать (изредка обновлять картинку).
    Вы же хотите добавить к этой схеме:
    - два маршрутизатора (скорее всего дешевых, домашнего уровня)
    - СКС, которая тоже иногда приподносит сюрпризы
    - сервер, который становится единой точной отказа для всех мониторов
    И еще не факт, что при "воспроизведении" по сети картинка будет кешироваться и остаааться на экране, если коннективити до сервера пропало.
    Так что я бы посоветовал оценить надежность решения и риски. Не всякий фастфуд может себе позволить остаться на несколько часов (а то и дней) без меню.
    Ответ написан
    4 комментария
  • Стоит ли идти на такую работу?

    opium
    @opium
    Просто люблю качественно работать
    Стоит
    есть книги , есть интернет, есть сообщества
    Ответ написан
    Комментировать
  • Как вы содержите свою коллекцию программ в актуальном состоянии?

    @aaalllsss
    для винды ninite.com
    Ответ написан
    Комментировать
  • Расскажите про ваш опыт с файловыми системами для мелких файлов?

    @ilnarb
    Как минимум, надо монтировать noatime!

    Мы когда-то давно жили на reiserfs (из-за лимита на число inode в ext2), но он был глючен и тормоза усилялись со временем. У reiserfs было преимущество из-за наших файлов меньше 1кб. Пото начали переходить на ext3, в то время уже было много мелких файлов в среднем 1Кб, на ext3 начали ставить размер блока в 1кб и увеличивали число inode. Потом файлы стали бо'льшего размера, да и диски стали более емкие, перестали менять размер блока. Теперь только стоковый ext4 с дефолтными настройками блоков/inode, монитруем defaults,noatime.

    Люба ФС, со временем, любая ФС начинает тормозить (привет тем кто считает что дефрагментация не нужна на линухе). Причем, ФС может в тестах даже с реальными объемами показывать одни результаты, а через год работы -- совершенно другое распределение пьедестала.

    Там в ядре есть всякие блокировки объектов каталога при лукапах файлов, поэтому, чем больше файлов/каталогов внутри каталога, тем тормознее будет. Решение: разбивать многоуровнево по хешу от имени файла (см. ответ 65536 @65536).

    Второй трюк: раз в полгода перезаливать данные. Если несколько разделов, перебрасываешь по кругу, переформатируя. Если один большой раздел, но нужен свободный сервер.
    Ответ написан
    Комментировать
  • Как оценить критическую нагрузку на дисковую подсистему?

    amarao
    @amarao
    В линуксе самым очевидным индикатором утилизации дисков является flight_time. Если делать замеры каждую секунду, то разница между начальным и конечным значением покажет, сколько секунд в течение секунды диск был занят (значение обычно от нуля до 1).

    Находится оно в /sys/block/sdX/device/stat (значение всех этих цифр - в Documentation исходников ядра).

    На бытовом уровне - если блочных устройств мало, то просто atop (и дать секунд 11-12 отстояться) - и там будет показана утилизация диска.

    Если блочных устройств много и они не влазят в вывод атопа, то я написал отдельно для себя простенький top по блочным устройствам https://github.com/amarao/blktop

    Если нужно собирать эти метрики в автоматическом режиме, то обычно у соответствующих приложений (например, munin или ganglia) есть модули, которые эту информацию собирают.
    Ответ написан
    6 комментариев
  • Как устроиться работать помощником системного администратора?

    edinorog
    @edinorog
    Троллей не кормить!
    батенька вы в глубокой попе. будем откровенны. устроиться на работу вы должны были еще до окончания учебного заведения. я так понимаю часть работы вы смыли в унитаз. вам типо не нравится работать в торговле по смежному профилю и в некоторых фирмах вам мало платят. почему я так говорю? потому-что выше озвученное есть в городе всегда! и вот тут мы подходим к главному. 90% выпускников данных специальностей идут работать .... таксистами, женами, перепрофилируются, сидят дома у мамы на шее, делают ремонты. короче занимаются всем кроме того на что учились. и это нормально!!!! причина проста. низкий уровень образования и высокий уровень доверия к уже имеющимся специалистам которые обслуживают данные фирмы. поэтому ваш крик души понятен ... но увы ... увы ... увы
    Ответ написан
    1 комментарий