Alarmmeldungen auslesen =>Mail versenden.

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

ThomasVIE
Beiträge: 7
Registriert: 17.03.2016, 09:57

Re: Alarmmeldungen auslesen =>Mail versenden.

Beitrag von ThomasVIE » 18.03.2016, 11:33

alchy hat geschrieben:Darf ich fragen, was du bitte genau erreichen willst?
Augenscheinlich möchtest du:
eine Mail erhalten, wenn eine Alarmvariable wahr wird?

Was soll in der Mail alles drin stehen?

Alchy
Ich will wissen, welches Device den Alarm ausgelöst hat und wann. Das sollte ja mit dem oberen Script gehen, aber ich erhalte leider immer leere eMails.

Noch besser wäre, wenn neben dem Device Namen auch noch Seriennummer und Modelnummer drinnen stehen würde, aber wenn das nicht geht wärs nicht ganz so schlimm.

Für Servicemeldungen habe ich ein Script welches funktioniert (auch hier vom Forum), aber das liest leider keine Alarmmeldungen ein.

Thomas

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

Re: Alarmmeldungen auslesen =>Mail versenden.

Beitrag von alchy » 18.03.2016, 22:40

Hab schnell was eigenes geschrieben, schau mal ob es funktioniert.


02.08.2022 Neue Versiona da Bug mit leerer Alarmbeschreibung

29.05.2022 Neue Version: Ich habe kurzer Hand die Versandoptionen so integriert wie im Servicemeldungen *allinclusive* Script...



Code: Alles auswählen

! Alarmvariablen auslesen und speichern oder senden per mail oder Telegram WhatsApp usw 
! v 0.93 (c) by Alchy
! https://homematic-forum.de/forum/viewtopic.php?f=26&t=10233&start=10#p274091
! Setup durchführen wie aus dem Allinc Script 
!++++++ PUSHBULLET +++++++++
var USE_PUSHBULLET = "nein"; ! ja oder nein fuer die Verwendung PUSHBULLET direkt im Script;
var USER ="++++++++++++++++++++"; ! selbsterklaerend
var DEVICE_IDEN = "+++++++++++++++++++";
var PUSHBULLET_CUXD_ID = "CUX2801001:4"; !welches CUXD.EXEC Geraet mit Kanal soll verwendet werden ?
var TITEL = "Homematic"; !kann jeder nennen wie er will

!++++++ TELEGRAM +++++++++
var USE_TELEGRAM = "nein"; ! ja oder nein fuer die Verwendung TELEGRAM direkt im Script;
string CHATID = "+++++++";
string BOTAPI = "++++++++++++++++++++++++";
var TELEGRAM_CUXD_ID = "CUX2801001:2"; !welches CUXD.EXEC Geraet mit Kanal soll verwendet werden ?

!++++++ Prowl Setup fuer die Apfeljuenger +++++++++
! 1. Prowl einrichten ( http://homematic-forum.de/forum/viewtopic.php?f=19&t=7797 )
! 2. cuxd Installation erforderlich
var USE_PROWL = "nein"; ! ja oder nein fuer die Verwendung prowl direkt im Script;
var API_KEY ="DEIN API KEY"; ! selbsterklaerend
var PROWL_CUXD_ID = "CUX2801001:3"; !welches CUXD.EXEC Geraet mit Kanal soll verwendet werden ?
var ANWENDUNG = "Homematic"; !kann jeder nennen wie er will
var KATEGORIE ="Alarmmeldung"; !kann jeder nennen wie er will
var TIME_OUT = "10";

!+++++++ Pushover Setup ++++++
! 1. pushover einrichten ( http://homematic-forum.de/forum/viewtopic.php?f=31&t=11579 )
! 2. cuxd Installation erforderlich
var USE_PUSHOVER = "nein"; ! das Übliche
var PUSH_CUXD_ID = "CUX2801001:2"; !welches CUXD.EXEC Geraet mit Kanal soll verwendet werden ?
var USERKENNUNG = "+++++++++++++++++++++"; ! Your User Key
var TOKEN = "+++++++++++++++++++++++++++++++"; ! Application API Token/Key
var USERDEVICE = ""; ! welches eingerichtete Gerät soll die Meldung bekommen? leer = alle Geraete sonst Namen komma separiert
var RETRY = "30"; !wiederholungen des Alarm bei prio >1
var EXPIRE = "120"; ! wie lange bis verfaellt
var SOUND = "siren"; !Sound nach wahl siehe "https://pushover.net/api#sounds"
var HTML ="1"; ! 1 use html codes at the message
var PRIO = "1";
var PRIO_MAX = "-2"; ! siehe http://homematic-forum.de/forum/viewtopic.php?f=31&t=24618&start=530#p288205

!%u200B ++++++++ Pushsaver Setup ++++++++++++++++ 
var USE_PUSHSAVER = "nein"; ! das Übliche
string TITEL = "Betreff: Alarmmeldung";
string PUSHSAVER_CUXD_ID = "CUX2801001:14";
string MELODIE = "6";
string ICON = "10";
string VIBRATION = "1";
string DEVICE = "++++++++";
string PRIVATEKEY = "+++++++++++++++++";

!++++++ WHATSAPP +++++++++
var USE_WHATSAPP = "nein"; 
var WA_PHONE = "+49++++++"; 
var WA_CUXD_ID = "CUX2801001:1"; 
var WA_APIKEY = "+++++++";

!+++++++ Setup Mail verschicken mit CUXD und Emailaddon ++++++
! 1. CUXD incl. exec Geraet sind installiert ( http://homematic-forum.de/forum/viewtopic.php?f=37&t=15298 )
! 2. Mailaddon ist installiert eingestellt und funktioniert ( http://www.homematic-inside.de/software/email )
! 3. Im TCL Reiter im MailAddon wird als erste Zeile "set serviceliste [encoding convertfrom utf-8 [lindex $argv 1]]" ohne Anfuehrungsstriche eingegeben
! 4. in Mailvorlage Nr deiner Wahl wird "$serviceliste" ohne Anfuehrungsstriche im Mailtextfeld eingegeben (was da noch steht ist uninteressant) TCL verwenden wird angehakt
var USE_MAIL = "nein"; !   ja / nein schicken einer Mail direkt ueber das Script
var MAIL_ID = "01"; !  die VORHER praeparierte Mailvorlage 01 - 50 in der aktuellen Version des mailaddon
var MAIL_CUXD_ID = "CUX2801001:1"; !   die Serial des EXEC Geraete - wer nicht weiss was ich meine, einfach so lassen ist die Standard

!+++++++ Systemvariablen Setup ++++++
! 1. Vor Benutzung Systemvariable vom Typ Zeichenkette in CCU anlegen,
var USE_SYSVAR = "ja"; ! ja / nein Speichern der Ausgabe des Scriptes in Systemvariable
var SYSVAR_NAME = "Name deiner Speichervariable"; ! hier den Namen dieser Variablen eintragen


!++++++++++++ DONT TOUCH BEHIND THIS LINE ++++++++++
object oTmpArray = dom.GetObject(ID_SYSTEM_VARIABLES);
string sTmp;
string slist ="";
foreach(sTmp, oTmpArray.EnumIDs()) {
string sTriggerDesc = "keine Beschreibung";
string sLastTriggerOut= "unbekannt"; 
object oTmp = dom.GetObject(sTmp);
if ( oTmp.DPInfo() != "" ) { sTriggerDesc = oTmp.DPInfo();};
if ( (oTmp.ValueSubType() == istAlarm) && (oTmp.AlState() == asOncoming) ) {
object oLastTriggerDP = dom.GetObject( oTmp.LastTriggerID() );
time tFirstTimestamp = oTmp.AlOccurrenceTime();
time tLastTimestamp = oTmp.Timestamp();
integer iDiffTimestamp = tLastTimestamp.ToInteger() - tFirstTimestamp.ToInteger();
var tmpDay;var tmpStd;var tmpMin;var tmpSek; string sTime = " am "#tFirstTimestamp.Format("%d.%m.%Y %H:%M Uhr");
tmpStd = iDiffTimestamp/3600;
tmpMin = (iDiffTimestamp%3600)/60;
tmpSek = iDiffTimestamp%60;
tmpDay = iDiffTimestamp /86400;
if (iDiffTimestamp > 0){ string sTime = "für " #iDiffTimestamp#" Sekunden - das sind ca: "#tmpStd #" h und "#tmpMin #" min und "#tmpSek #" sek - von " #tFirstTimestamp.Format("%d.%m.%Y %H:%M Uhr") # " bis " #tLastTimestamp.Format("%d.%m.%Y %H:%M Uhr"); 
if (tmpDay > 0){ sTime = " seit ca. "#tmpDay #" Tage(n)";}
}
if (oLastTriggerDP) { 
string sLastTriggerChannel = dom.GetObject(oLastTriggerDP.Channel()); 
if(sLastTriggerChannel){
string sLastTriggerChHssType = dom.GetObject(sLastTriggerChannel).HssType();
object oLastTriggerDevice = dom.GetObject(sLastTriggerChannel.Device());
string sLastTriggerDeviceHssType = oLastTriggerDevice.HssType();
string sLastTriggerDeviceSerial = oLastTriggerDevice.Address(); 

sLastTriggerOut = sLastTriggerChannel.Name() #" ( Serial: "#sLastTriggerDeviceSerial #" Typ: "  #sLastTriggerDeviceHssType #" )" ;
}}
! es folgen verschiedene Ausgaben - einfach jeweils auskommentieren 
!slist = slist #oTmp.AlCounter()#" x "#oTmp.Name() #" "#oTmp.ValueName() #" letztmalig am: " #oTmp.Timestamp().ToString("%d.%m.%y %H:%M Uhr") #" von " #sLastTriggerOut #" mit "#sTriggerDesc #"\n" ;
slist = slist #oTmp.AlCounter()#" x " #oTmp.Name() #" ("#oTmp.ValueName() #") " #sTime # " letztmalig durch " #sLastTriggerOut #" mit " #sTriggerDesc #"\n";
}
}
if  (!slist == "") {
string message = slist.ToUTF8().UriEncode();
if ( (USE_MAIL == "ja")&&( (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#MAIL_CUXD_ID#".CMD_EXEC")) ) { (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#MAIL_CUXD_ID#".CMD_EXEC").State("/etc/config/addons/email/email "#MAIL_ID#" '"#slist#"'"); }
if ( (USE_PUSHOVER == "ja") &&( (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#PUSH_CUXD_ID#".CMD_EXEC")) ){ (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#PUSH_CUXD_ID#".CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/lib/ /usr/bin/curl -s -k -d token='"#TOKEN#"' -d user='"#USERKENNUNG#"' -d device='"#USERDEVICE#"' -d html='"#HTML#"' -d message='"#message#"' -d priority='"#PRIO_MAX#"' -d sound='"#SOUND#"' -d retry='"#RETRY#"' -d expire='"#EXPIRE#"' https://api.pushover.net/1/messages.json"); }
if ( (USE_PUSHBULLET == "ja") &&( (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#PUSHBULLET_CUXD_ID#".CMD_EXEC")) ){ (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#PUSHBULLET_CUXD_ID#".CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/lib/ /usr/bin/curl -u '"#USER#"' -k -d device_iden='"#DEVICE_IDEN#"' -d type=note -d title='"#TITEL#"' -d body='"#slist#"' https://api.pushbullet.com/api/pushes"); }
if ( (USE_TELEGRAM == "ja") &&( (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#TELEGRAM_CUXD_ID#".CMD_EXEC")) ){ (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#TELEGRAM_CUXD_ID#".CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/lib/ /usr/bin/curl -s -k https://api.telegram.org/bot"#BOTAPI#"/sendMessage -d text='"#message#"' -d chat_id="#CHATID); }
if ( (USE_PROWL == "ja") && ( (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#PROWL_CUXD_ID#".CMD_EXEC")) ){ string url="http://prowl.weks.net/publicapi/add?apikey="#API_KEY#"&application="#ANWENDUNG#"&event="#KATEGORIE#"&priority="#PRIO_MAX#"&description="#slist#"&timeout="#TIME_OUT#""; (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#PROWL_CUXD_ID#".CMD_EXEC").State("wget -q -O - '"#url#"'"); }
if ( (USE_PUSHSAVER == "ja") && ( (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#PUSHSAVER_CUXD_ID#".CMD_EXEC")) ){ (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#PUSHSAVER_CUXD_ID#".CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/lib/ /usr/bin/curl -s -k -d k='"#PRIVATEKEY#"' -d t='"#TITEL#"' -d m='"#message#"' -d s='"#MELODIE#"' -d i='"#ICON#"' -d v='"#VIBRATION#"' -d d='"#DEVICE#"' https://www.pushsafer.com/api");}
if ( (USE_WHATSAPP == "ja") &&( (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#WA_CUXD_ID#".CMD_EXEC")) ){ (dom.GetObject(ID_DATAPOINTS)).Get("CUxD."#WA_CUXD_ID#".CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/lib/ /usr/bin/curl -s -k 'https://api.callmebot.com/whatsapp.php?phone="#WA_PHONE#"&text="#message#"&apikey="#WA_APIKEY#"'");}
if ( (USE_SYSVAR == "ja") && (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(SYSVAR_NAME) ){ (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(SYSVAR_NAME).State(slist); }
}else{slist = "Keine aktiven Alarme da";}
! +++++++   Ausgabe auf Bildschrirm
WriteLine(slist);
! +++++++   ENDE Ausgabe Bildschirm
Zuletzt geändert von alchy am 02.08.2022, 22:23, insgesamt 9-mal geändert.
Grund: neue Version

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.

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

Re: Alarmmeldungen auslesen =>Mail versenden.

Beitrag von alchy » 19.03.2016, 20:55

hab das Script von oben noch mal angepasst.
Du hast dir ja die Ausgabe der Seriennummer und das Model gewünscht.
Das müsste dann so gehen:

Code: Alles auswählen

Scriptcopy gelöscht

falls es nicht funzt, oder du Anpassungen möchtest, melde dich einfach.

Alchy
Zuletzt geändert von alchy am 13.04.2018, 16:36, insgesamt 1-mal geändert.
Grund: Scriptcopy gelöscht

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.

ThomasVIE
Beiträge: 7
Registriert: 17.03.2016, 09:57

Re: Alarmmeldungen auslesen =>Mail versenden.

Beitrag von ThomasVIE » 21.03.2016, 19:32

Super, vielen Danke - genau das was ich gesucht habe - das Script funktioniert super :) :) :)

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

Re: Alarmmeldungen auslesen =>Mail versenden.

Beitrag von alchy » 21.03.2016, 19:50

Bitteschön, keine Ursache, freut mich geholfen zu haben und danke für die Rückmeldung.
Solltest du noch andere Infos brauchen aus den Alarmmeldungen,
dann einfach hier nachfragen.


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.

bega
Beiträge: 54
Registriert: 12.04.2015, 01:14

Re: Alarmmeldungen auslesen =>Mail versenden.

Beitrag von bega » 30.03.2016, 13:58

alchy hat geschrieben:hab das Script von oben noch mal angepasst.
Du hast dir ja die Ausgabe der Seriennummer und das Model gewünscht.
Das müsste dann so gehen:

Code: Alles auswählen

! Alarmvariablen auslesen und speichern oder senden per mail by Alchy v0.2
Scriptcopy gelöscht

falls es nicht funzt, oder du Anpassungen möchtest, melde dich einfach.

Alchy
Hi, darf ich mal ganz doof Fragen wo ich dieses Script einfügen soll?
Ich habe ein neues Programm für Alarmmeldungen erstellt, welches bei Aktualisierung der Alarmmeldungen im Wertebereich größer als 0 das Script verzögert um 1 Sekunde auslöst. Allerdings liest er nur die Alarmmeldungen aus, in denen nur steht das z.B. eine Bewegung erkannt wird, da ich für Bewegung eine Systemvariable als Alarm erstellt habe.
Aber es werden leider die entsprechenden Geräte nicht in die Alarmmeldungen geschrieben.

Hoffe ihr versteht was ich meine.
Zuletzt geändert von alchy am 20.08.2017, 19:36, insgesamt 1-mal geändert.
Grund: Scriptcopy gelöscht

disky42
Beiträge: 231
Registriert: 09.06.2014, 17:11
Hat sich bedankt: 1 Mal

Re: Alarmmeldungen auslesen =>Mail versenden.

Beitrag von disky42 » 18.08.2017, 19:56

Hallo

Meine Aufgabe Ich will _alle_ Alarme als Mail bekommen, ohne für jeden Alarm etwas zu machen (also z.B. Programm pro Alarm).

Auf Basis dieses Scriptes lasse ich mir nun beim Auftreten eines Alarmes eine Mail _aller_ gerade aktiven Alarme schicken.
Das klappt super soweit.

Nun würde ich gerne wissen, welcher der Alarm ist, der gerade erschienen ist.
Geht das?
$src$ fällt raus, da ich das Script auch über den "Systemzustand Alarmmeldungen" aufrufen lasse.

Gruss - Disky42

disky42
Beiträge: 231
Registriert: 09.06.2014, 17:11
Hat sich bedankt: 1 Mal

Re: Alarmmeldungen auslesen =>Mail versenden.

Beitrag von disky42 » 20.08.2017, 13:44

Hallo

Ich antworte mir mal selber. Es geht.
Das folgende Script schickt eine Mail, wenn ein Alarm KOMMT & dessen Beschreibung nicht mit "IGNORE" anfängt.
Flgender Alarm-Hinweis wird dabei in der Mail sein:

Code: Alles auswählen

Neuer Alarm:'Nur zum Testen ein Alarm' (20.08.17 13:30 Uhr)

Liste aktueller Alarmbeschreibungen:
'Nur zum Testen ein Alarm' (20.08.17 13:30 Uhr)
'Mehr als 65% RLF im Keller' (30.07.17 13:42 Uhr)

Code: Alles auswählen

! Alarmvariablen auslesen und speichern oder senden per mail by Disky42 derived from Alchy v0.2
!++++++++++++ DONT TOUCH BEHIND THIS LINE ++++++++++
object oTmpArray = dom.GetObject(ID_SYSTEM_VARIABLES);
string sTmp;
string sListDescription ="";
integer ignoredAlarms = 0; 
time latestAlarmTime = @1970-01-01 00:00:01@;
string latestAlarmText = "";

foreach(sTmp, oTmpArray.EnumIDs()) 
{
  object oTmp = dom.GetObject(sTmp);
  if ( (oTmp.ValueSubType() == istAlarm) && (oTmp.AlState() == asOncoming) ) 
  {
    if(oTmp.DPInfo().Substr(0,6) != "IGNORE") {
      sListDescription = sListDescription # "'"#oTmp.DPInfo() # "' (" # oTmp.Timestamp().ToString("%d.%m.%y %H:%M Uhr") # ")\n"; 
      if(oTmp.Timestamp() > latestAlarmTime) {
        latestAlarmTime = oTmp.Timestamp(); 
        latestAlarmText = "'"#oTmp.DPInfo() # "' (" # oTmp.Timestamp().ToString("%d.%m.%y %H:%M Uhr")#")";
      }
    }
    else 
    {
      Write("found one to ignore");
      ignoredAlarms = ignoredAlarms+1; 
    }
  }
}

var alteAnzahl = dom.GetObject("AlarmmeldungenAktuell"); 
var neueAnzahl = dom.GetObject("Alarmmeldungen");
real neueAnzahlAbzglIgnore = neueAnzahl.Value() - ignoredAlarms; 
if  (!sListDescription == "") {
  ! +++++++   Speichern in Systemvariable
  if (alteAnzahl.Variable() < neueAnzahlAbzglIgnore  ) 
  {  
    string mailText = "Neuer Alarm:" # latestAlarmText # "\n\nListe aktueller Alarmbeschreibungen:\n"# sListDescription;
    ! # "\n\n DebugInfos: slist ist: " # slist; 
    ! #"\n\nDebugInfos: bisherige,gemerkte Alarmanzahl:"#alteAnzahl.Variable()#"\nkleinerAls\n neue  Alarmanzahl:"#neueAnzahl.Variable() # "\n und zu ignorieren befundene Alarme:"#ignoredAlarms # "\n dabei ist neueAnzahlAbzglIgnore:" # neueAnzahlAbzglIgnore ;
    dom.GetObject("LoggerMail").State(mailText);
  }
}
dom.GetObject("allAlarmText").State(sListDescription);
dom.GetObject("AlarmmeldungenAktuell").State(neueAnzahlAbzglIgnore);
Hinweise:
- Die SysVariable "LoggerMail" als Text wird durch ein weiteres Programm per Mail verschickt
- Die SysVariable "AlarmmeldungenAktuell" als Zahl wird als Zwischenspeicher verwendet um zu erkennen, ob ein hinzugekommener Alarm gemeldet werden muss.

mbhomie007
Beiträge: 347
Registriert: 13.02.2018, 19:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 127 Mal
Danksagung erhalten: 20 Mal

Re: Alarmmeldungen auslesen =>Mail versenden.

Beitrag von mbhomie007 » 13.04.2018, 19:31

Hallo,

vielen Dank für das abändern zum versenden mit Telegram-

Das Skript läuft soweit: Eine Mail kommt an, jedoch wird aber keine Telegram Nachricht versendet...
Wie kann man beim Telegram Abschnitt einen eigenen Text noch hinzufügen?
Wie wird der Text Ablage in die Systemvariable zurückgesetzt?
Wenn ich jetzt in der WebUI bin, wird nun keine Grüne oder Gelbe Signalleuchte mehr angezeigt, sie ist nur noch grau!?
Raspberry Pi 3 Model B Plus Rev 1.3 mit RPI-RF-MOD Funkmodul

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

Re: Alarmmeldungen auslesen =>Mail versenden.

Beitrag von alchy » 13.04.2018, 20:43

Das Script liest zu seiner Laufzeit die Alarme aus und macht eben das beschriebene.
Wenn das nicht funktioniert, bitte >> Fehlerprotokoll << posten.
Aber wahrscheinlich ist es nur wieder ma die Codierung, da du Sonderzeichen verwendest. Neue Version.

Eine String variable überschreiben könntest du mit einem zusammengeklicktem Programm.
Wenn irgendwas dann Systemzustand -> Variable auswählen = Im Feld eingeben was du reinschreiben willst

Oder mit einem Script

Code: Alles auswählen

object sysvar = (dom.GetObject(ID_SYSTEM_VARIABLES)).Get("SYSvar Name vom TYP Zeichenkette"); 
if(sysvar){sysvar.State("leer");}
oder....


mbhomie007 hat geschrieben:Wenn ich jetzt in der WebUI bin, wird nun keine Grüne oder Gelbe Signalleuchte mehr angezeigt, sie ist nur noch grau!?
Dann kannst du ja mal >> H I E R <<lesen.

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 Zentrale (CCU / CCU2 / CCU3 / Charly)“