Grafisch Script/Program erstellen für CCU.IO

WebUIs (DashUI, yahui, ...), Adapter (Hue, IRTrans, Sonos, ...), Logging, Scripting

Moderator: Co-Administratoren

Steffen81
Beiträge: 401
Registriert: 03.02.2013, 23:34

Re: Grafisch Script/Program erstellen für CCU.IO

Beitrag von Steffen81 » 11.01.2014, 19:23

Ups hatte das Edit übersehen

Benutzeravatar
searchforerrors
Beiträge: 35
Registriert: 25.02.2014, 13:23

Re: Grafisch Script/Program erstellen für CCU.IO

Beitrag von searchforerrors » 11.03.2014, 12:53

Hallo zusammen

Habe ein Problem mit der ScriptGUI im Zusammenhang mit EMail Versand über den CCU.io Email Adapter. Was hab ich gemacht:

1) Email Adapter konfiguriert

{
"enabled": true,
"settings": {
"transport": "SMTP",
"transportOptions": {
"service": "smtpServerName",
"auth": {
"user": "smtpAuthUser",
"pass": "smtpAuthPass"
}
},
"defaults": {
"from": "email@domain.com",
"to": "email@domain.com",
"subject": "CCU.IO"
}
}
}

2) ScritGUI
Ein neues Program in der ScritGUI erstellt (siehe ScriptGUI.jpg). Dann aus Script xx.js Datei erstellen/speichern (Compiler-> Speicher Script).
Hier das fertige TestScript (email adressen geändert):

// CCU.IO Objekte
// Trigger
codebox_1();
// Scripengine Start

//Program
function codebox_1(data){
var string_3_out= "Testemail" ;
var string_2_out= "email@domain.com" ;
var string_4_out= "Test" ;
email({to: string_2_out,subject: string_3_out,text: string_4_out});
};

3) CCU.io Log checken
Dort bekomme ich folgende Fehlermeldung, wenn das Script ausgeführt wird bzw. das Email verschickt werden soll (in meinem Testfall beim Starten der script-engine, mein testscript heißt "tuer_offen.js").

2014-03-11 12:51:51.973 info : script-engine fetched regaIndex
2014-03-11 12:51:52.010 info : script-engine fetched regaObjects
2014-03-11 12:51:52.024 info : script-engine fetched datapoints
2014-03-11 12:51:52.029 info : script-engine starting
2014-03-11 12:51:52.197 info : script-engine registered 0 subscribers and 0 schedules in /opt/ccu.io/scripts/tuer_offen.js
2014-03-11 12:51:52.231 error : script-engine email error {"code":"ECONNREFUSED","errno":"ECONNREFUSED","syscall":"connect","stage":"init"}
Error: connect ETIMEDOUT

Wo könnte der Fehler liegen? (Fehlerhafte email adapter konfig? scriptfehler? sonst was?)
Dateianhänge
scriptGUI.jpg
ScriptGUI Program

Arminhh
Beiträge: 284
Registriert: 09.05.2011, 09:18

Re: Grafisch Script/Program erstellen für CCU.IO

Beitrag von Arminhh » 11.03.2014, 19:03

Hallo Searchforerrors,
du musst auch "service": "smtpServerName", konfigurieren. z.B mail.gmx.de
auch user,pass, from und to.

zu Script GUI,
wenn ich den Trigger richtig verstanden habe wird dein Script nur ein mal beim Start von der Scriptengine ausgeführt. Also einen anderen Trigger verwenden!

mfg
Arminhh

Benutzeravatar
searchforerrors
Beiträge: 35
Registriert: 25.02.2014, 13:23

Re: Grafisch Script/Program erstellen für CCU.IO

Beitrag von searchforerrors » 12.03.2014, 06:47

Hallo Arminhh

Danke für die Info. Ja, diese Werte hätte ich schon richtig gesetzt, hier im Posting habe ich diese durch Aliase ersetzt.

smtpServerName = smtp server des Mailaccounts, z.b.: mail.gmx.at
User = Username der Mailadresse (für die SMTP Authenifizierung)
Pass = Password der Mailadresse (die SMTP Authenifizierung)
From/To= eine funktionierte mailadresse

Ok, werde einen anderen Trigger verwenden. Hätte mir gedacht, dass zum Testen ein Scriptengine Start Trigger funktionieren sollte?
Gibts sonst noch was, was im in diesem Zusammenhang überprüfen sollte?

lg,

raetsch
Beiträge: 312
Registriert: 15.03.2012, 08:36

Re: Grafisch Script/Program erstellen für CCU.IO

Beitrag von raetsch » 12.03.2014, 08:07

mit dem trigger kannst du eine email erzeugen, wenn du in ccu.io die scriptengine neu startest. da das aber nur ein test ist, macht das auch nichts, hat jedenfalls nichts mit dem fehler zu tun.


ich denke mal, du hast irgendwo einen schreibfehler, mailadresse oder passwort

Benutzeravatar
searchforerrors
Beiträge: 35
Registriert: 25.02.2014, 13:23

Re: Grafisch Script/Program erstellen für CCU.IO

Beitrag von searchforerrors » 12.03.2014, 10:03

Danke für die Info, hab jetzt auch ein gmail konto probiert, gleiche Fehlermeldung im CCU.io Log, wie oben beschrieben
Der raspberry, wo die CCU.io (Version 1.0.26) läuft, kann ins Internet (keine Portbeschränkung) und die Namensauflösung funktioniert.... :(

Kann es sein, dass eventuelle Sonderzeichen im User/Passwort escaped werden müssen?
Was und wo/wie könnte ich noch nachsehen/mitloggen bzw. hab ich noch eine Einstellung übersehen?
Funktioniert der SMTP nur auf Port 25, geht auch 465 SSL, da alle Provider auf Secure SMTP umstellen?

Danke!
lg,

Benutzeravatar
searchforerrors
Beiträge: 35
Registriert: 25.02.2014, 13:23

Re: Grafisch Script/Program erstellen für CCU.IO

Beitrag von searchforerrors » 12.03.2014, 15:10

Hallo

so jetzt hab ich den Fehler nach längerem hin und her gefunden.

Also dieser email Adapter benutzt im Hintergrund den "nodemailer" zum Versenden von emails, welcher als JSON Object übertragen wird.
Das Ganze ist ja supa, wenn man einen "service" (z.b.: Gmail, Hotmail), welcher unterstützt bzw. im Hintergrund vorkonfiguriert ist, verwendet.

Auszug aus der readme (opt/ccu.io/node_modules/nodemailer/README.md)

### Well known services for SMTP

If you want to use a well known service as the SMTP host, you do not need
to enter the hostname or port number, just use the `service` parameter

Currently supported services are:

* **DynectEmail**
* **Gmail**
* **hot.ee**
* **Hotmail**
* **iCloud**
* **mail.ee**
* **Mail.Ru**
* **Mailgun**
* **Mailjet**
* **Mandrill**
* **Postmark**
* **QQ**
* **QQex** (Tencent Business Email)
* **SendGrid**
* **SES**
* **Yahoo**
* **yandex**
* **Zoho**

Predefined service data covers `host`, `port` and secure connection settings,
any other parameters (ie. `auth`) need to be set separately. Service names are
case insensitive, so using "gmail" instead of "Gmail" is totally fine.

Auszug end

Als "service" (setting im email adapter) sind nur vordefinierte Werte zulässig, schreibt man bei Service zum Beispiel seinen SMTP server rein, crashed das Ganze und schreibt, eine Fehlermeldung (wie oben angegeben) ins CCU.io log.

Ich habe auch versucht den Nodemailer meinen eigenen, nicht vorkonfigurierten SMTP Server beizubringen, was aber nicht geklappt hat, da der email adapter dieses veränderte JSON Object (=email einstellungen adapter) vermutlich nicht zulässt....

Folgende Änderung/Parameter Erweiterung im Email Adapter wäre sinnvoll:

host: "smtp.gmail.com", // hostname
secureConnection: true, // use SSL
port: 465, // port for secure SMTP

Diese Parameter werden seitens des nodemailer unterstützt, soweit wäre nur eine JSON Object Erweiterung im email adapter notwendig.
So wie ich das halt als Leihe beurteilen kann........

lg,

tschombe
Beiträge: 270
Registriert: 18.04.2013, 12:00

Re: Grafisch Script/Program erstellen für CCU.IO

Beitrag von tschombe » 12.05.2014, 14:07

Hab das heute auch ausprobiert,

die Einstellung host, secureConnection und port werden unterstützt...

So sieht zum beispiele eine T-Online Config aus:

Code: Alles auswählen

{
    "enabled": true,
    "settings": {
        "transport": "SMTP",
        "transportOptions": {
           "host": "securesmtp.t-online.de", 
           "secureConnection": "true", 
           "port": "465", 
            "auth": {
                "user": "****************@t-online.de",
                "pass": "******************************"
            }
        },
        "defaults": {
            "from": "MyHome <ccuio@t-online.de>",
            "to": "reciepient@someaddress.de",
            "subject": "CCU.IO"
        }
    }
}

Saranger85
Beiträge: 586
Registriert: 15.12.2013, 13:11
Danksagung erhalten: 2 Mal

Re: Grafisch Script/Program erstellen für CCU.IO

Beitrag von Saranger85 » 28.12.2015, 21:53

Hallo Leute,

ich brauch mal eure Hilfe, leider komme ich bei dem Script GUI nicht weiter.

Ich habe jetzt schon verschiedene Scripte erstellt und es passiert einfach nicht.

Code: Alles auswählen

// Force Variablen

// Timeout Variablen

// CCU.IO Objekte
// Trigger
subscribe({
  id: 1083
}, function(data) {
  codebox_2(data);
});
subscribe({
  id: 31156
}, function(data) {
  codebox_2(data);
}); //Program_2
function codebox_2(data) {
  var input_7_out = getState(2347);
  var not_8_out = !input_7_out;
  setState(2347, not_8_out);
};
Das Script habe ich dann über Compiler speichern gespeichert und dann Script Engine neugestartet. Dann die Virtuelle Taste betätigt und es passiert nichts. Was mir aufgefallen ist, wenn ich eine Systemvariable als Trigger nehme geht es anscheind sporradisch. Langsam verzweifle ich.

Rantanplan
Beiträge: 451
Registriert: 16.11.2013, 13:43
Wohnort: NRW

Re: Grafisch Script/Program erstellen für CCU.IO

Beitrag von Rantanplan » 28.12.2015, 23:04

Hallo Saranger85

Setze doch bitte ein Screenshot von dem Programm rein.

Grüße
Rantanplan
CCU2 (2.29.18) * ioBroker * Vis

Antworten

Zurück zu „CCU.IO“