CUxD / E-Mailversand über diverse Statis:

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

TheDorian
Beiträge: 128
Registriert: 16.02.2015, 20:01

CUxD / E-Mailversand über diverse Statis:

Beitrag von TheDorian » 23.10.2016, 15:26

Hallo zusammen,

ich möchte bei mir den E-Mail Versand über CUxD realisieren.
Hierzu würde ich gerne wissen wie ich das ganze konfigurieren muss.

Mache ich das über den Termianal oder über Geräte oder, oder, oder...

Was soll per Mail-Versendet werden?

- Welcher Key-Matic Key hat wann entriegelt oder verschlossen
- Batteriestatus KeyMatic/Key
- automatische Verriegelung ausgeführt
- automatische Entriegelung ausgeführt
- Tuerklingel wurde ausgelöst. (Uhrzeit)


Ich wäre euch dankbar, wenn Ihr mich bei der Konfig unterstützen würdet.


Vielen Dank
Dorian

Xel66
Beiträge: 14169
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 586 Mal
Danksagung erhalten: 1501 Mal

Re: CUxD / E-Mailversand über diverse Statis:

Beitrag von Xel66 » 23.10.2016, 18:31

TheDorian hat geschrieben:ich möchte bei mir den E-Mail Versand über CUxD realisieren.
Das wird Dir schwerfallen. CUxD bietet keinen Mailversand. Hierfür gibt es das Mail-Addon.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

TheDorian
Beiträge: 128
Registriert: 16.02.2015, 20:01

Re: CUxD / E-Mailversand über diverse Statis:

Beitrag von TheDorian » 23.10.2016, 19:03

Hallo Xel66,


vielen Dank, für info.
Ich war mir sicher das dies CUxD auch kann.

Das Mail-Addon habe ich bereits installiert, kannst Du mir sagen, wie ich dann entsprechende
Daten via E-Mail versenden kann?


Vielen Dank
Gruß
Dorian

Xel66
Beiträge: 14169
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 586 Mal
Danksagung erhalten: 1501 Mal

Re: CUxD / E-Mailversand über diverse Statis:

Beitrag von Xel66 » 23.10.2016, 22:59

TheDorian hat geschrieben:...kannst Du mir sagen, wie ich dann entsprechende Daten via E-Mail versenden kann?
Wei Du es machst, ist letztenendes Deine Sache. Ich schreibe mal kurz, wie ich es flexibel umgesetzt habe. Ich habe bei mir mehrer zentrale Programme, die unterschiedliche Informationswege bedienen. So lasse ich mir Alarmmails, Infomails und Pushnachrichten zukommen sowie bestimmte Informationen per Text To Speech (TTS) ansagen. Zentraler Bestandteil ist jeweils eine Systemvariable, die den Namen der Funktion trägt. Im Falle vom Mailversand ist dieses eine Stringvariable "MailText". Diese überwache ich nun auf Änderungen. Eine Änderung stößt das das nachfolgende Script (Auszug) an.

Code: Alles auswählen

! MailText-Variable auslesen und als E-Mail versenden
string nachricht = dom.GetObject("MailText").Value();
if (nachricht > "")
{
! id der E-Mail hier eintragen !!!
string mail_id = "01";
! E-Mail absenden mit CuxD
! Adresse des CUxD durch seine eigene ersetzen !!!
!-------------------------------------------------
dom.GetObject("CUxD.CUX2801999:1.CMD_EXEC").State("/etc/config/addons/email/email '" # mail_id # "'");
}
Dieses Script steht identisch sowohl in der DANN-Bedingung, als auch in der SONST-Bedingung drin. Dadurch kann ich durch manuelles Auslösen des Programms die Funktion einfacher testen. In meinem Script werden noch ein paar Zusatzprüfungen (CCU im Bootvorgang) durchgeführt und Zusatzinformationen wie die aktuelle Uhrzeit, damit ich nicht bei jedem Reboot mit unendlichen Zustandsmails zugemüllt werde oder ich weiß, wann die Mail versendet wurde. Im WWENN steht nur drin: WENN Systemvariable MailText gleich leer (da steht wirklich das Wort "leer" drin, weil ich es im Normalfall nie allein versende). Da diese Bedingung aber nie erfüllt ist, wird somit bei einer Änderung der Systemvariable immer der SONST-Pfad angesprochen, der dann die Mail versendet. Diesen "Trick" wende ich in allen zentralen Scipts an.

Im TCL-Reiter des Mailaddons wird nun der Variable "v3" der Inhalt der "MailText"-Variable mit " var v3 = dom.GetObject("MailText").Value(); " zugewiesen. Der 01er Mailreiter enthält dann natürlich die Vairable "$v3" im Body. Und so erscheint das, was irgendein Programm vorher in die Systemvaiable geschrieben hat als Mailtext. Das kann ich aus jedem Programm machen und so unterschiedlichste Informationen versenden. Zum Beispiel ist im DANN-Zweig des Programms, welches im Sommer die Markise bei Sonnenuntergang einfährt neben dem eigentlichen Befehl an den Aktor nur "Systemzustand MailText = Markise wurde automatisch eingefahren" drin. Somit erhalte ich diese Information als Mail. Der Unterschied zwischen Alarmmail und Infomail ist, dass durch meinen Mailprovider bei einem Betreff, der den Begriff "Alarm" enthält, zusätzlich noch eine SMS versendet wird. (alle Begriffe und Variablennamen natürlich immer ohne die Anführungszeichen!)

Man könnte das sicher auch etwas galanter lösen, aber es funktioniert von Anfang an bei mir problemlos, so dass ich keinen Grund sehe, etwas daran zu ändern.

Gruß Xel66
Zuletzt geändert von Xel66 am 24.10.2016, 08:45, insgesamt 1-mal geändert.
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Cash
Beiträge: 1184
Registriert: 09.01.2016, 17:42
Wohnort: Sauerland
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: CUxD / E-Mailversand über diverse Statis:

Beitrag von Cash » 24.10.2016, 08:33

Kurze Ergänzung: Bitte noch ans Ende der letzten Zeile direkt hinter dem ";" noch ein "}" einfügen. Ansonsten dürfte es zu einen Scriptfehler kommen...

Xel66
Beiträge: 14169
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 586 Mal
Danksagung erhalten: 1501 Mal

Re: CUxD / E-Mailversand über diverse Statis:

Beitrag von Xel66 » 24.10.2016, 08:48

Cash hat geschrieben:Kurze Ergänzung:
Gemacht! Danke für den Hinweis. Das kommt davon, wenn man soche Sachen per c&p übernimmt und dann noch postingfähig aufbereiten muss... In einem anderen von mir geposteten Script ist mir das schon mal passiert. Aber das kommt ja auch bei den Profis hier im Forum vor.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

TheDorian
Beiträge: 128
Registriert: 16.02.2015, 20:01

Re: CUxD / E-Mailversand über diverse Statis:

Beitrag von TheDorian » 24.10.2016, 13:44

Hallo zusammen,


vielen vielen Dank.. ich denke das hilft mir sehr weiter.. :)
Programmierung war leider noch nie meine Stärke.. :(
ich denke wohl auch das wird es niemals werden. .


Viele Grüße
Dorian

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: CUxD / E-Mailversand über diverse Statis:

Beitrag von alchy » 25.10.2016, 11:48

CUxD bietet zwar sehr wohl ein MailDevice an unter 91 - cloudmatic - >> H I E R <<

Aber das Mailaddon geht natürlich auch.

Es gibt verschiedene Möglichkeiten Mails durch das Addon mit Inhalt zu versehen, und zu versenden.
Das kommt natürlich auch auf die persönlichen Wünsche an.

Ein Möglichkeit ist den Inhalt der Mail in eine Variable zu schreiben - dessen Inhalt per TCL auszulesen und zu versenden, wie Xel66

Ähnlich bzw. erweitert kann man auch beim Versand der mail im TCL Reiter noch zusätzlich zu der Variablen alles auslesen was man so in der Mail gemeldet haben will paar alte Beispiele z.B. >> H I E R <<

Man kann direkt beim Versand den Inhalt der Mail per Argument übergeben. Was sich für den direkten Versand der Scriptausgabe anbietet.
Dazu muss nur im TCL Reiter des Addons eine set Zeile auf das Argument verweisen.

Code: Alles auswählen

set serviceliste [encoding convertfrom utf-8 [lindex $argv 1]]
in der Mailvorlage der Wahl steht einfach

Code: Alles auswählen

$serviceliste
Und schon kannst du jegliches Script dazu benutzen seine Ausgabe per Mail zu versenden.
Ob das nun nur eine einfache Statische Mitteilung ala:

Code: Alles auswählen

string slist = " Wollt mich nur mal melden";	 
if(slist!="")  { dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_EXEC").State("/etc/config/addons/email/email 01 '"#slist# "'"); }

oder eine eventuell größere Scriptausgabe, wie die letzte Ausführungszeit aller Programme:

Code: Alles auswählen

!Alle jemals schon gestarteten Programme mit letzter Startzeit per Mail versenden by Alchy
!++++++++++++ DONT TOUCH BEHIND THIS LINE ++++++++++
object sec = dom.GetObject( ID_PROGRAMS );
string i;
string slist = "";
foreach(i,sec.EnumUsedIDs()) {
    var item=dom.GetObject(i);
    string ltime = item.ProgramLastExecuteTime();
    if (ltime != "1970-01-01 01:00:00") {
    slist=slist # item.Name() #" letztmalig " #ltime #" gestartet \n";
     }
     }
if(slist!="")  { dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_EXEC").State("/etc/config/addons/email/email 01 '"#slist# "'"); }
ist, spielt keine Rolle.
Viele Beiträge zum Mail Addon findest du im Unterforum >>Addons - Sonstige << und wenn du z.B. nach

Code: Alles auswählen

load tclrega.so
array set values
mit der Suche suchst.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
uwe111
Beiträge: 4821
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: CUxD / E-Mailversand über diverse Statis:

Beitrag von uwe111 » 29.10.2016, 17:33

Hallo Alchy,
alchy hat geschrieben:CUxD bietet zwar sehr wohl ein MailDevice an unter 91 - cloudmatic - >> H I E R <<
In der Email Addon Anleitung ist in Kapitel 6.2 beschrieben, wie man darüber mittels CUxD Gerätetyp 91, Emails direkt und ohne CloudMatic und HM-Script versenden kann. Vielleicht ist das ja auch eine Option.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

TheDorian
Beiträge: 128
Registriert: 16.02.2015, 20:01

Re: CUxD / E-Mailversand über diverse Statis:

Beitrag von TheDorian » 30.10.2016, 16:24

Hallo Uwe,

Vielen Dank für den Link zu der super tollen Doku.
Hilft mir bestimmt weiter.. :)

Viele Grüße
Dorian

Antworten

Zurück zu „CUxD“