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

Gerätename mit einer Variable per Email Addon senden

Beitrag von flyword » 10.08.2016, 08:06

Hallo zusammen,

ich habe gelesen das es ein Script für Rauchmelder gibt bei dem der Gerätename des einzelnen Rauchmelder via Email mit einer Variable zugesandt wird, ist dies auch mit dem Temperatur Sensor HM-WDS40-TH-I-2 möglich?

Ich möchte das jeder Gerätename mit einer Variable von meinen 12 Temperatur Sensoren in einem Email genannt werden.
Kann mir jemand helfen dies mit dem Email Addon Version 1.6.6 umzusetzen?

Besten Dank und schöne Grüsse
FlyWord

fischmir
Beiträge: 972
Registriert: 03.02.2014, 18:04
Wohnort: Münsterland
Hat sich bedankt: 27 Mal
Danksagung erhalten: 8 Mal

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

Beitrag von fischmir » 10.08.2016, 10:04

Ich bin da auch kein Experte, aber mir ist weder wirklich klar, was du vorhast noch was du schon selber gemacht hast...wenn es nur um den Namen geht gibt es die Methode .Name().

Hast du dir die Anleitung schonmal durchgelesen?

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

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

Beitrag von flyword » 10.08.2016, 10:10

Hallo Fischmir,

danke für deine Antwort, kein Problem wenn es dir nicht ganz klar ist.

Jedes Gerät, bei mir der Temperatur Sensor hat ja seinen Namen - genau dieser Name soll im Email erscheinen, sprich:

"Hallo Email Empfänger, der aktuelle Wert beim Temperatur Sensor "$GERÄTENAME" ist aktuell $v1 °C."
"Hallo Email Empfänger, der aktuelle Wert beim Temperatur Sensor WOHNZIMMER ist aktuell 22°C."

Ich hoffe du verstehst mich nun genauer was ich möchte?

Schöne Grüsse
FlyWord

fischmir
Beiträge: 972
Registriert: 03.02.2014, 18:04
Wohnort: Münsterland
Hat sich bedankt: 27 Mal
Danksagung erhalten: 8 Mal

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

Beitrag von fischmir » 10.08.2016, 10:15

Ja, verstanden. Weiß auch nicht exakt wie es geht. Aber warum du hier auf die "Rauchmelder-Lösung" verweist ist mir schleierhaft.

Such mal nach E-MailAddon und dann nach TCL, dann solltest du langsam weiterkommen.

//Edit:
http://homematic-forum.de/forum/viewtop ... =19&t=8831
--> PS: 2. Treffer mit der Suche "Mail Gerätenamen"
Dort wird auch auf die Rauchmelder-Lösung verweisen...scheint also was dran zu sein
Viel Erfolg

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

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

Beitrag von flyword » 10.08.2016, 10:29

ok, dann nehme ich folgenden Code welcher in dem Post geschrieben ist und ändere diesen ab, aber wie genau, kannst du mir dabei auch noch helfen?

Code: Alles auswählen

var sec=dom.GetObject("Fenster");
string i;
string list;
list="";
foreach(i,sec.EnumUsedIDs())
{
  var item=dom.GetObject(i);
  if(item.IsTypeOf(OT_CHANNEL))
  {
    var dev=dom.GetObject(item.Device());
    if((dev.HssType()=="HM-Sec-SC") || (dev.HssType()=="HM-Sec-RHS"))
    {
       var state=item.DPByHssDP("STATE");
       if(state.Value())
       {
          list=list+dev.Name();
       }
    }
  }
}
if(list!="")
{
  string stdout;
  string stderr;
  system.Exec("/etc/config/addons/email/email 01 '"+list+"'",&stdout,&stderr);
}
Bild

fischmir
Beiträge: 972
Registriert: 03.02.2014, 18:04
Wohnort: Münsterland
Hat sich bedankt: 27 Mal
Danksagung erhalten: 8 Mal

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

Beitrag von fischmir » 10.08.2016, 10:31

Ne, leider nicht.

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

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

Beitrag von flyword » 11.08.2016, 07:53

Hallo fischmir,

schade aber trotzdem danke dir für deine Unterstützung, vielleicht kann mir sonst noch jemand helfen?

Schöne Grüsse
FlyWord

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

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

Beitrag von alchy » 11.08.2016, 15:18

Den Namen einiger Wettersensoren und deren Temperatur und Feuchtewert nach deinen Vorgaben,
kannst du dir mit diesem Script per Mail schicken:

Code: Alles auswählen

! Gerätenamen und Temperaturwerte von Wettersensoren per mail 
! v0.6 (c) by Alchy https://homematic-forum.de/forum/viewtopic.php?f=27&t=32120#p300121
string itemId;
string slist = "Hallo Email Empfänger \n";
foreach(itemId, dom.GetObject(ID_CHANNELS).EnumUsedNames()) {
object item = dom.GetObject(itemId);
if (item.HssType()=="WEATHER") { slist = slist # "Die aktuelle Temperatur von: " #(dom.GetObject(item.Device())).Name() #" ist: "#item.DPByHssDP("TEMPERATURE").Value().ToString(1) #" °C "; if (item.DPByHssDP("HUMIDITY").Value() ) { slist = slist # "bei " #item.DPByHssDP("HUMIDITY").Value() #" % Feuchte" #"\n"; } else { slist = slist #" bei unbekannter Feuchte\n";} }
if (item.HssType()== "WEATHER_TRANSMIT") { slist = slist # "Die aktuelle Temperatur von: " #(dom.GetObject(item.Device())).Name() #" ist: "#item.DPByHssDP("TEMPERATURE").Value().ToString(1) #" °C  "; if (item.DPByHssDP("HUMIDITY").Value() ) { slist = slist # "bei " #item.DPByHssDP("HUMIDITY").Value() #" % Feuchte" #"\n"; } else { slist = slist #" bei unbekannter Feuchte\n";} }
if (item.HssType()== "HEATING_CLIMATECONTROL_TRANSCEIVER") { slist = slist # "Die aktuelle Temperatur von: " #(dom.GetObject(item.Device())).Name() #" ist: "#item.DPByHssDP("ACTUAL_TEMPERATURE").Value().ToString(1) #" °C "; if (item.DPByHssDP("HUMIDITY").Value() ) { slist = slist # "bei " #item.DPByHssDP("HUMIDITY").Value() #" % Feuchte" #"\n"; } else { slist = slist #" bei unbekannter Feuchte\n";} }
if (item.HssType()== "CLIMATE_TRANSCEIVER") { slist = slist # "Die aktuelle Temperatur von: " #(dom.GetObject(item.Device())).Name() #" ist: "#item.DPByHssDP("ACTUAL_TEMPERATURE").Value().ToString(1) #" °C  "; if (item.DPByHssDP("HUMIDITY").Value() ) { slist = slist # "bei " #item.DPByHssDP("HUMIDITY").Value() #" % Feuchte" #"\n"; } else { slist = slist #" bei unbekannter Feuchte \n";} }
}
! Mail verschicken? > naechste Zeile Ausrufezeichen entfernen
!dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/etc/config/addons/email/email 01"#" '"#slist.ToUTF8()#"'"); 
WriteLine(slist);

Voraussetzungen dafür:
  • CUXD.EXEC installiert und funktioniert (Ansionsten Mail über system.exec verschicken.)
  • Mailaddon installiert und funktioniert
  • in der Mailvorlage 01 steht so was wie:

    Code: Alles auswählen

    $serviceliste
    tcl ist angehakt und im TCL Reiter steht ungefähr so was

    Code: Alles auswählen

    set serviceliste [encoding convertfrom utf-8 [lindex $argv 1]]
ABER

Das ist nur ein Weg der deiner Beschreibung entspricht.
Mangels Infos, was du eigentlich erreichen willst, belasse ich es vorerst dabei.
Wenn du mal > in dem Forum < bissel liest oder die Suche benutzt z.B. nach "load tclrega.so" wirst du auch die Möglichkeit finden, deine Wünsche ohne ein externes Script, sondern direkt in TCL des Mailaddons abzuarbeiten. Allerdings ist das natürlich mit Arbeit für dich verbunden. :shock:

Alchy
PS: Du hast dein Gerät wie den Kanal benannt (zumindest dein geposteter Sensor "Küche Molke")
Das bringt dir irgendwann Probleme bei der Verwendung von Scripten. Merke: Kein Objektname sollte sich doppeln.
Auch ob die Verwendung von Sonderzeichen im Objektnamen sinnvoll ist, rate ich dir ebenfalls zu überdenken. Aber Doppelnamen sind definitiv irgendwann eine Fehler, den Du bereust. :wink:
Zuletzt geändert von alchy am 16.11.2023, 18:19, insgesamt 4-mal geändert.

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 » 12.08.2016, 10:01

Hallo zusammen,

danke für eure Hilfe, echt super. DANKE! Ich werde eure Vorschläge heute versuchen und mich rantasten.

Die Idee hinter der Variable ist, dass ich nur ein Email gestalten muss und die Werte wie "Gerätename" und "Temperatur Wert" jeweils im Email eingetragen werden und wenn der Sensor von "Küche Molke" in den "Küche Keller" verschoben wir das ich nur den Name beim Gerät ändern muss.
Ist das realisierbar?

Liebe Grüsse
FlyWord

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

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

Beitrag von alchy » 12.08.2016, 12:50

flyword hat geschrieben: danke für eure Hilfe, echt super. DANKE! Ich werde eure Vorschläge heute versuchen und mich rantasten.
Wieviele Vorschläge musst du denn testen? :mrgreen:
flyword hat geschrieben: Die Idee hinter der Variable ist, dass ich nur ein Email gestalten muss und die Werte wie "Gerätename" und "Temperatur Wert" jeweils im Email eingetragen werden und wenn der Sensor von "Küche Molke" in den "Küche Keller" verschoben wir das ich nur den Name beim Gerät ändern muss.
Ist das realisierbar?
Ich habs ja geahnt, das es wieder vertane Liebesmüh ist. :cry:
Warum wird nicht einfach gefragt, was man erreichen will :?:
Ja mein gepostetes Script macht das, was ich dazu auch geschrieben habe.
Wenn du ein Gerät umbenennst wird dessen neuer Name zur Laufzeit des Scriptes ausgelesen und mit den Temperaturwerten per Mail verschickt.
Aber das hätte man auch anders machen können.
Na, mal sehen was kommt, wenn du dich rangetastet hast.

Alchy

[EDIT]
Einen Teil des Threads habe ich >> H I E R << hin ausgelagert, da das nichst mit der Frage des TE zu tun hatte.
[/EDIT]
Zuletzt geändert von alchy am 12.08.2016, 23:12, insgesamt 2-mal geändert.
Grund: Editiert wegen Trennung der Threads

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)“