Your comments
Hello.
Example of sending from iridium via external SMTP.
var smtp_driver = IR.CreateDevice(IR.DEVICE_CUSTOM_TCP, "SMTP", {
Host: "smtp.gmail.com",
Port: 465,
SSL: true,
SendMode: IR.ALWAYS_CONNECTED,
ScriptMode: IR.SCRIPT_ONLY
});
function send_email (name_from, email_from, password, email_to, header, message)
{
IR.AddListener(IR.EVENT_RECEIVE_TEXT, smtp_driver, sender);
send("hello");
send("auth");
function send(command)
{
switch (command)
{
case "hello":
smtp_driver.Send(["EHLO smtp.gmail.com\r\n"]);
break;
case "auth":
smtp_driver.Send(["AUTH LOGIN\r\n"]);
break;
case "login":
smtp_driver.Send([IR.Base64Encode(email_from) + "\r\n"]);
break;
case "password":
smtp_driver.Send([IR.Base64Encode(password) + "\r\n"]);
break;
case "from":
smtp_driver.Send(["MAIL FROM:<"+email_from+">\r\n"]);
break;
case "to":
smtp_driver.Send(["RCPT TO:<"+email_to+">\r\n"]);
break;
case "data":
smtp_driver.Send(["DATA\r\n"]);
break;
case "string":
smtp_driver.Send(["From: "+name_from+" <"+email_from+">\r\nTo:<"+email_to+">\r\nSubject: "+header+"\r\nContent-Type: text/plain\r\n\r\n"+message+"\r\n.\r\n"]);
break;
case "quit":
smtp_driver.Send(["QUIT\r\n"]);
break;
}
}
function sender(text)
{
if(text.indexOf("334 VXN", 0) + 1)
{
send("login");
send("password");
}
if(text.indexOf("Accepted", 0) + 1)
{
send("from");
send("to");
send("data");
send("string");
IR.SetTimeout(200, function () {
send("quit"); IR.RemoveListener(IR.EVENT_RECEIVE_TEXT, smtp_driver, sender);
IR.Log("message sent");
});
}
}
}
Happy to help.
Hello.
You can remove i3 pro from your device, power off your device and power on again. Then install i3 pro.
Hello.
Do you want to implement it yourself or requiest us to do it?
Hello.
There is no sound card in UMC. You can connect an external sound card via USB, but we do not guarantee that it will work. The presence of sound was not planned in the UMC and the device drivers do not contain.
Hello.
Francesco Zangara right. His proposal deserves attention.
Multiple feedbacks per graphic element are not forbidden to drag, but the reaction will be to change any feedback, the values of the others are ignored.
Hello.
There is a simple way and a complex way.
Simple: use Level.
Create a Item, select the Level type. Upload your image to OBJECT PROPERTIES (States tab). In Properties, you can select a color that matches the background for one of the States. Then drag the channel and the feedback for your curtain onto this Item.
Complex: use Javascript.
You need to calculate the coordinates of the movement, and then transfer them to the channel. From the feedback to take the values and in accordance with them to position the image. However, it will take more time to implement it.
Не то же самое. Здесь в Execute() нужно передать строку запроса. Формировать её нужно не внутри метода, а до его использования.
var mybase = new SQL();
IR.AddListener(IR.EVENT_START,0,function()
{
mybase.Open('KNX.db'); //открыть БД, если ее нет, то создать
mybase.Execute("BEGIN"); //начать работу с БД
mybase.Execute('CREATE TABLE KNX_Data(Name TEXT, Value TEXT)');
IR.Log("Тут создалась БД");
mybase.Execute("COMMIT"); //закончить работу с БД
mybase.Close();
});
IR.SetGlobalListener(IR.EVENT_GLOBAL_TAG_CHANGE, function(name, value)
{
var name_1 = name.split('.');
var s_name = '"'+name_1[3]+'"'; //строку нужно отдать запросу в кавычках
IR.Log("Change: " + name + " = " + value);
mybase.Open('KNX.db');
mybase.Execute('BEGIN');
mybase.Execute('INSERT INTO KNX_Data(Name, Value) VALUES('+s_name+','+value+')');
mybase.Execute('COMMIT');
mybase.Close();
});
// Блок подписи на необходимые теги
IR.SubscribeTagChange("Server.Tags.KNX-1.пом_2 - темп тек");
Customer support service by UserEcho
Hi.
Voeg een script toe aan het project:
function modify_receive (in_Type, in_Name, in_Value)
{
in_Value *= 0.1;
return in_Value;
}
Selecteer vervolgens de gewenste feedback en selecteer modify_receive in de "Script Modifier" veld.