Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. Скрипты
  5. ioBroker скрипты
  6. Нужен скрипт для сдруживания ioBroker и Laitis

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    2.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    919

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Нужен скрипт для сдруживания ioBroker и Laitis

Geplant Angeheftet Gesperrt Verschoben ioBroker скрипты
laitis
1 Beiträge 1 Kommentatoren 506 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Eldar FattahovE Offline
    Eldar FattahovE Offline
    Eldar Fattahov
    schrieb am zuletzt editiert von
    #1

    Добрый день! прошу помочь составить скрипт для Laitis:
    148db7d2-9e4a-4806-bbc5-3bad9f8a7207-image.png

    есть примерный скрипт для iobroker

     // Принимаем команды через порт 8090
        var http = require('http'); // Подключаем модуль http
        var querystring = require('querystring'); // Подключаем модуль querysting в настройках драйвера javascript
        var port = 8090;
        var s = http.createServer();
        s.listen(port);
       
        // Если поступил запрос
        s.on('request', function(request, response) {
            if(request.method == 'POST') {
                processPostData(request, response, function() {
                    // Расшифровываем JSON запрос, и если ошибка, то выводим её в лог iobroker
    				var data;
    				try {
     					data = JSON.parse(Object.keys(request.post)[0]);
     				}catch(e) {
    					console.log('Не удалось разобрать JSON');
    					console.error(e.name);
    					console.error(e.message);
         				console.error(e.stack);
         				return;
    					}
     
                    // Команда расшифрована, передаем её в функцию обработки...
                     do_voice_command(data, function(answer){
                        console.warn(answer); // Выводим в консоль ответ... 
                        response.writeHead(100, "OK", {'Content-Type': 'text/plain;charset=utf-8'});
                        response.end(answer);
                        });
                });
            } else {
                //console.log(JSON.stringify(request))
                response.writeHead(100, "OK", {'Content-Type': 'text/plain;charset=utf-8'});
                response.end("Принимаем только POST запросы", "UTF-8");
            }
        });
     
    // Основная функция обработки голосовых команд
    function do_voice_command(data, callback){
     
        // Для начала ответ равен ничему...
        var answer = '5555555';
        var cmd = data.cmd.toLowerCase();
        console.warn("Команда = " + cmd);
     
        // что ты умеешь?
        if(cmd == 'что ты умеешь' || cmd == 'что ты умеешь?' || cmd == 'помощь' || cmd == 'команды' || cmd == 'список команд'){
            answer = 'Привет. Я помощник умный дом.' + "\n\n" + 'Я умею, контроллировать температуру, открывать закрывать шторы, управлять пылесосом начиная и завершая уборку, и многое другое. Просто назови команду, и я, исполню её.';
            callback(answer);
            }
     if(cmd == `включи телевизор`) {setState("lgtv.0.states.power"/*Switch TV power*/, true); answer = `телевизор включен`;callback(answer); 
     }
      if(cmd == `включить телевизор`) {setState("lgtv.0.states.power"/*Switch TV power*/, true); answer = `телевизор включен`;callback(answer); 
     }
     if(cmd == `выключи телевизор`) {setState("lgtv.0.remote.power"/*Remote key power*/, true); answer = `телевизор выключен`;callback(answer);
     }
      if(cmd == `выключить телевизор`) {setState("lgtv.0.remote.power"/*Remote key power*/, true); answer = `телевизор выключен`;callback(answer);
     }
        if(!answer.length){
            callback('Я не понимаю эту команду.');
            }
        }
     
    // Функция получения POST запроса
    function processPostData(request, response, callback) {
        var queryData = "";
        if(typeof callback !== 'function') return null;
     
        if(request.method == 'POST') {
            request.on('data', function(data) {
                queryData += data;
                if(queryData.length > 1e6) {
                    queryData = "";
                    response.writeHead(413, {'Content-Type': 'text/plain'}).end();
                    request.connection.destroy();
                }
            });
     
            request.on('end', function() {
                request.post = querystring.parse(queryData);
                callback();
            });
     
        } else {
            callback();
            response.writeHead(405, {'Content-Type': 'text/plain'});
            response.end();
        }
    }
    
    
    1 Antwort Letzte Antwort
    0
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen


    Support us

    ioBroker
    Community Adapters
    Donate

    784

    Online

    32.6k

    Benutzer

    82.2k

    Themen

    1.3m

    Beiträge
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
    ioBroker Community 2014-2025
    logo
    • Anmelden

    • Du hast noch kein Konto? Registrieren

    • Anmelden oder registrieren, um zu suchen
    • Erster Beitrag
      Letzter Beitrag
    0
    • Home
    • Aktuell
    • Tags
    • Ungelesen 0
    • Kategorien
    • Unreplied
    • Beliebt
    • GitHub
    • Docu
    • Hilfe