Gerätename mit einer Variable per Email Addon senden

Kabellose und kabelgebundene Sender und Empfänger der klassischen Homematic-Serie

Moderator: Co-Administratoren

flyword
Beiträge: 54
Registriert: 16.02.2016, 13:25

Re: Gerätename mit einer Variable per Email Addon senden

Beitrag von flyword » 15.08.2016, 07:59

Hallo Alchy,
Aber das hätte man auch anders machen können.
Wie hätte man das denn anders machen können, evtl. einfacher zu handhaben für ein Newbie wie mich?

Schöne Grüsse
FlyWord

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

Re: Gerätename mit einer Variable per Email Addon senden

Beitrag von alchy » 15.08.2016, 15:04

Du schreibst ja nicht, was du wirklich schlussendlich willst.
Außerdem vermisse ich auch die Aussage "Das Script funktioniert, macht das was ich will", oder es funktioniert zwar, aber eigentlich wollte ich etwas anderes, oder es geht gar nicht, oder was auch immer nun die Essenz der Geschichte ist.
Theoretisch macht das Script halt das was du bisher geschrieben hast. Wenn du es in einem Programm einbettest,
wird zur Laufzeit eine Mail verschickt, welche die das Gewollte zuschickt.

Jetzt kommt wieder meine Glaskugel.
Nun hast du deine Übersichtsmail, wo die jeweiligen Temperatursensor Gerätenamen und Temperaturwerte drin stehen. Nun willst du aber nicht nur diese Daten, sondern noch andere Werte / Namen usw. in dieser Mail.

Was kann man anders machen?

Beispiele:
a.)
Du könntest die o.g. Werte aus dem Script in eine Systemvariable speichern statt sie gleich zu verschicken. Im TCL Reiter liest du dann den Inhalt der Systemvariablen aus und kannst diesen Inhalt in eine Mailvorlage einfügen, in der du auch noch andere Geschichten verwendest.....

oder

b.)
Du kannst die Namen und Werte auch direkt im TCL Reiter auslesen und dir dann eine oder mehrere Mailvorlagen nach deinem Befinden zusammenstellen.

oder

c.)....

Sorry, aber es ist mir zu müßig, das alles zu erfragen. Ich bin gerne bereit zu helfen, aber es macht nur Sinn, wenn der Fragende zumindest ansatzweise das schreibt, was er gerne hätte und wenn es geht auch warum und wozu.
Dazu musst Du dir natürlich vorher Gedanken machen, was Du eigentlich willst, und das so einfach wie möglich hier schreiben. Du musst dir keinen Kopf machen, ob es gehen würde, das sagen wir dir dann schon. :mrgreen:

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.

flyword
Beiträge: 54
Registriert: 16.02.2016, 13:25

Re: Gerätename mit einer Variable per Email Addon senden

Beitrag von flyword » 15.08.2016, 15:19

Hy Alchy,
c.)....

Sorry, aber es ist mir zu müßig, das alles zu erfragen. Ich bin gerne bereit zu helfen, aber es macht nur Sinn, wenn der Fragende zumindest ansatzweise das schreibt, was er gerne hätte und wenn es geht auch warum und wozu.
Dazu musst Du dir natürlich vorher Gedanken machen, was Du eigentlich willst, und das so einfach wie möglich hier schreiben. Du musst dir keinen Kopf machen, ob es gehen würde, das sagen wir dir dann schon. :mrgreen:
ich weiss nicht was so schwer daran ist mich zu verstehen, ich versuchte mich jedoch von Anfang an immer klar zu halten.

Ich möchte das mein Email so aussieht.
"Lieber Email Empfänger, die Temperatur im Raum "TIEFKÜHLER" hat den Grenzwert überschritten und ist aktuell auf "+22°C", bitte kontrolliere die Temperatur vor Ort!"

Das Programm, wann und an wenn etc. das Email versandt wird ist bereits gelöst, wie gesagt - ich muss nur noch den Namen (Gerätename) als Text in dieses Email kriegen und das wohl mit einer der simpelsten Lösungen die es gibt.

Ich möchte ja nur das ich ein Email z.b. 01 verwenden kann und nicht für jedes Gerät jeweils ein einzelnes machen muss.

Evtl. verstanden?

Gruss, FlyWord

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

Re: Gerätename mit einer Variable per Email Addon senden

Beitrag von alchy » 15.08.2016, 15:40

Poste bitte deinen TCL Reiter.

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.

flyword
Beiträge: 54
Registriert: 16.02.2016, 13:25

Re: Gerätename mit einer Variable per Email Addon senden

Beitrag von flyword » 15.08.2016, 16:01

Code: Alles auswählen

load tclrega.so

array set values [rega_script {
    var v1 = dom.GetObject("BidCos-RF.MEQ0667679:1.TEMPERATURE").Value().ToString(1);
    var v2 = dom.GetObject("BidCos-RF.MEQ0832542:1.TEMPERATURE").Value().ToString(1);
    var v3 = dom.GetObject("BidCos-RF.LEQ1258534:1.TEMPERATURE").Value().ToString(1);
    var v4 = dom.GetObject("BidCos-RF.LEQ1257869:1.TEMPERATURE").Value().ToString(1);
    var v5 = dom.GetObject("BidCos-RF.LEQ1258046:1.TEMPERATURE").Value().ToString(1);
    var v6 = dom.GetObject("BidCos-RF.LEQ1257962:1.TEMPERATURE").Value().ToString(1);
    var v7 = dom.GetObject("BidCos-RF.LEQ1257908:1.TEMPERATURE").Value().ToString(1);
    var v8 = dom.GetObject("BidCos-RF.LEQ1257962:1.TEMPERATURE").Value().ToString(1);
    var v9 = dom.GetObject("BidCos-RF.NEQ0124865:1.TEMPERATURE").Value().ToString(1);



  } ]

set v1 $values(v1)
set v2 $values(v2)
set v3 $values(v3)
set v4 $values(v4)
set v5 $values(v5)
set v6 $values(v6)
set v7 $values(v7)
set v8 $values(v8)
set v9 $values(v9)

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

Re: Gerätename mit einer Variable per Email Addon senden

Beitrag von alchy » 15.08.2016, 18:02

Code: Alles auswählen

load tclrega.so
array set values [rega_script {
var v1 = dom.GetObject("BidCos-RF.MEQ0667679:1.TEMPERATURE");
 var v1n = (dom.GetObject((dom.GetObject((dom.GetObject(v1)).Channel())).Device())).Name();
 var v1w = v1.Value().ToString(1);
var v2 = dom.GetObject("BidCos-RF.MEQ0832542:1.TEMPERATURE");
 var v2n = (dom.GetObject((dom.GetObject((dom.GetObject(v2)).Channel())).Device())).Name();
 var v2w = v2.Value().ToString(1);
var v3 = dom.GetObject("BidCos-RF.LEQ1258534:1.TEMPERATURE");
 var v3n = (dom.GetObject((dom.GetObject((dom.GetObject(v3)).Channel())).Device())).Name();
 var v3w = v3.Value().ToString(1);
var v4 = dom.GetObject("BidCos-RF.LEQ1257869:1.TEMPERATURE");
 var v4n = (dom.GetObject((dom.GetObject((dom.GetObject(v4)).Channel())).Device())).Name();
 var v4w = v4.Value().ToString(1);
var v5 = dom.GetObject("BidCos-RF.LEQ1258046:1.TEMPERATURE");
 var v5n = (dom.GetObject((dom.GetObject((dom.GetObject(v5)).Channel())).Device())).Name();
 var v5w = v5.Value().ToString(1);
var v6 = dom.GetObject("BidCos-RF.LEQ1257962:1.TEMPERATURE");
 var v6n = (dom.GetObject((dom.GetObject((dom.GetObject(v6)).Channel())).Device())).Name();
 var v6w = v6.Value().ToString(1);
var v7 = dom.GetObject("BidCos-RF.LEQ1257908:1.TEMPERATURE");
 var v7n = (dom.GetObject((dom.GetObject((dom.GetObject(v7)).Channel())).Device())).Name();
 var v7w = v7.Value().ToString(1);
var v8 = dom.GetObject("BidCos-RF.LEQ1257962:1.TEMPERATURE");
 var v8n = (dom.GetObject((dom.GetObject((dom.GetObject(v8)).Channel())).Device())).Name();
 var v8w = v8.Value().ToString(1);
var v9 = dom.GetObject("BidCos-RF.NEQ0124865:1.TEMPERATURE");
 var v9n = (dom.GetObject((dom.GetObject((dom.GetObject(v9)).Channel())).Device())).Name();
 var v9w = v9.Value().ToString(1);

  } ]

set v1n $values(v1n)
set v1w $values(v1w)
set v2n $values(v2n)
set v2w $values(v2w)
set v3n $values(v3n)
set v3w $values(v3w)
set v4n $values(v4n)
set v4w $values(v4w)
set v5n $values(v5n)
set v5w $values(v5w)
set v6n $values(v6n)
set v6w $values(v6w)
set v7n $values(v7n)
set v7w $values(v7w)
set v8n $values(v8n)
set v8w $values(v8w)
set v9n $values(v9n)
set v9w $values(v9w)
In den Vorlagen kannst du vxn für den Namen und vxw für den Wert verwenden. Wobei x natürlich die zahl 1-9 bedeutet.
Sollte funktionieren, falls ich mich nicht vercopypastelt und die Klammern richtig gezählt habe.
Extra ausgeschrieben ohne Schleife usw.

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.

flyword
Beiträge: 54
Registriert: 16.02.2016, 13:25

Re: Gerätename mit einer Variable per Email Addon senden

Beitrag von flyword » 16.08.2016, 07:47

Hallo Alchy,

das funktioniert für ein gesamtes Email einwandfrei aber wie kriege ich es noch hin das nur die Werte von dem Gerät im Email erscheint welcher den Alarm ausgelöst hat? Weil jetzt erscheinen bei einem Alarm alle Namen und Werte.
Ach das wird langsam kompliziert, einerseits um es zu erklären (ich bin wohl nicht der Hirsch darin) und einerseits die Programierung, falls du noch ein Idee hast bin ich dir sehr dankbar und falls nicht danke ich dir für deine bereits geleistete Hilfe - ich würde es dann halt mit einzelnen Emails pro Programm machen.

Ein Beispielprogramm von mir, hier wird der Status erst auf TRUE gesetzt wenn die Temperatur über -10°C und das 5h lang, danach ein zweites Programm welches den Email Alarm auslöst wenn der Status TRUE erscheint.
Bild

Schöne Grüsse
FlyWord

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

Re: Gerätename mit einer Variable per Email Addon senden

Beitrag von alchy » 16.08.2016, 15:14

flyword hat geschrieben: Ach das wird langsam kompliziert, einerseits um es zu erklären (ich bin wohl nicht der Hirsch darin)
geb ich dir hiermit schriftlich :mrgreen:
flyword hat geschrieben: und einerseits die Programierung,
Na das lass ruhig meine Sorge sein.
flyword hat geschrieben: Ein Beispielprogramm von mir, hier wird der Status erst auf TRUE gesetzt wenn die Temperatur über -10°C und das 5h lang, danach ein zweites Programm welches den Email Alarm auslöst wenn der Status TRUE erscheint.
Abgesehen davon, das ich lieber eine richtige Bildschirmcopy vom Programm gesehen hätte, ist das nun
wieder eine neue Variante deines Begehrens.
Mag sein, das du schon immer das haben wolltest und auch geschrieben hast, aber ich habe es jedenfalls nie so verstanden. Daher ja mein Hinweis oben.
O.k.
Auch das ist lösbar, und das relativ problemlos. Aber vorerst muss ich da noch mal nachhaken.
In deinem WENN Teil des Programmes gibt es nur einen Auslöser und das ist der Tiefkühlersensor?
Du hast nicht zufällig das Begehren:

Code: Alles auswählen

 
Wenn 
Tiefkühlersensor 1 > -10
ODER
Tiefkühlersensor 2 > -10
ODER
Tiefkühlersensor 3 > -10

dann 
verzögert um 5 Stunden MAIL
und in der Mail steht dann der Sensor der das Programm ausgelöst hat.


[EDIT]
und wenn ich mich auf den gewünschten Inhalt der Mail:
"Lieber Email Empfänger, die Temperatur im Raum "TIEFKÜHLER" hat den Grenzwert überschritten und ist aktuell auf "+22°C", bitte kontrolliere die Temperatur vor Ort!"
beziehe. die Temperatur im Raum??? "TIEFKÜHLER" bezieht sich wirklich auf den auszulesenden Raumnamen wo sich der Sensor befindet, oder auf den Gerätenamen des Sensors?
[/EDIT]

Alchy
Zuletzt geändert von alchy am 16.08.2016, 15:24, insgesamt 1-mal geändert.
Grund: Weitere Frage hinzugefügt

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.

flyword
Beiträge: 54
Registriert: 16.02.2016, 13:25

Re: Gerätename mit einer Variable per Email Addon senden

Beitrag von flyword » 16.08.2016, 15:25

Hi Alchy,
Danke, immerhin bestätigt mir das noch jemand schriftlich! grr
und in der Mail steht dann der Sensor der das Programm ausgelöst hat.
Genau so verstehe ich das auch. Ich habe aber nicht nur ein Programm sondern mehrere weil gewisse Sensoren andere Verzögerungen haben.

Hier noch grössere Screenshots mit Beispielprogrammen:
Beispiel 1 mit 5h Verzögerung
TK
Bild
TK2
Bild

Beispiel 2 mit 2h Verzögerung
BR1
Bild
BR2
Bild

Gruss, FlyWord

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

Re: Gerätename mit einer Variable per Email Addon senden

Beitrag von alchy » 16.08.2016, 15:35

Jetzt nähern wir uns.
Bitte Oben noch mein Edit beantworten.

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.

Antworten

Zurück zu „HomeMatic Aktoren und Sensoren (klassisch)“