NEWS
Telegram über Homematic [gelöst]
-
Hallöchen, ich habe hier ein Skript um mir die Servicemeldungen von HM an mein Tablet bzw. Handy schicken zu können.
Leider funktioniert nur der Versand an mein Tablet per Pushover, aber per Telegram geht leider nicht.Hier das Skript
! Servicemeldungen auslesen und weiter verarbeiten ! v1.991 (c) by alchy !++++++ SETUP ++++++ ! Bitte in Ruhe die naechsten Zeilen durcharbeiten var WITHTIME = "ja"; ! Wenn ja, wird die Alarmzeit Zeit mitgesendet ! +++++ Servicemeldungen "Kommunikation war gestoert" bestaetigen? ++++++ var ACCK = "ja"; ! ja oder nein, um anstehende "war Kommunikationsstoerungen" zu bestaetigen var CR = "ja"; !0 Zeilenvorschub zwischen einzelne Servicemeldungen ! HM Geraet, wessen Systemmeldungen nicht verschickt werden sollen var BLOCK = ""; ! Seriennummern von Geraeten, welche durch das Script ignoriert werden sollen !++++++ 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 = "ja"; ! ja oder nein fuer die Verwendung TELEGRAM direkt im Script; var CHATID = "XXXXXXXXXX"; ! selbsterklärend var BOTAPI = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; ! dito 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 ="Servicemeldung"; !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 = "ja"; ! das Übliche var PUSH_CUXD_ID = "CUX2801001:1"; !welches CUXD.EXEC Geraet mit Kanal soll verwendet werden ? var USERKENNUNG = "XXXXXXXXXXXXXXXXXXXXXX"; var TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXXXX"; 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: Servicemeldung"; string PUSHSAVER_CUXD_ID = "CUX2801001:14"; string MELODIE = "6"; string ICON = "10"; string VIBRATION = "1"; string DEVICE = "++++++++"; string PRIVATEKEY = "+++++++++++++++++"; !+++++++ 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 = "Telegram"; ! hier den Namen dieser Variablen eintragen !+++++++ Eigentlich schon fertig mit dem Setup +++++++++++ !+++++ Batteriezuweisungen inklusive Anzahl !Bitte helfen und fehlende Geraete posten ++++++++++++++++ !+++++ noch nicht integrierte Geraete werden mit unbekannt ausgegeben ++++++++++++++++ string cr2016 = "HM-RC-4\tHM-RC-4-B\tHM-RC-Key3\tHM-RC-Key3-B\tHM-RC-P1\tHM-RC-Sec3\tHM-RC-Sec3-B\tZEL STG RM HS 4"; string cr2032 = "HM-PB-2-WM\tHM-PB-4-WM\tHM-PBI-4-FM\tHM-SCI-3-FM\tHM-Sec-TiS\tHM-SwI-3-FM\tHmIP-FCI1"; string lr14x2 = "HM-Sec-Sir-WM\tHM-OU-CFM-TW"; string lr14x3 = "HmIP-MP3P"; string lr44x2 = "HM-Sec-SC\tHM-Sec-SC2\tHM-Sec-SC-2\tHM-Sec-RHS"; string lr6x2 = "HmIP-eTRV-C\tHM-CC-VD\tHM-CC-RT-DN\tHM-Sec-WDS\tHM-Sec-WDS-2\tHM-CC-TC\tHM-Dis-TD-T\tHB-UW-Sen-THPL-I\tHM-WDS40-TH-I\tHM-WDS40-TH-I-2\tHM-WDS10-TH-O\tHmIP-SMI\tHMIP-eTRV\tHM-WDS30-OT2-SM-2\tHmIP-SMO\tHmIP-SMO-A\tHmIP-SPI\tHmIP-eTRV-2\tHmIP-SPDR\tHmIP-SWD"; string lr6x3 = "HmIP-SWO-PL\tHM-Sec-MDIR\tHM-Sec-MDIR-2\tHM-Sec-SD\tHM-Sec-Key\tHM-Sec-Key-S\tHM-Sec-Key-O\tHM-Sen-Wa-Od\tHM-Sen-MDIR\tHM-Sen-MDIR-O\tHM-Sen-MDIR-O-2\tHM-WDS100-C6-O\tHM-WDS100-C6-O-2\tHmIP-ASIR\tHmIP-SWO-B"; string lr6x4 = "HM-CCU-1\tHM-ES-TX-WM\tHM-WDC7000"; string lr3x1 = "HM-RC-4-2\tHM-RC-4-3\tHM-RC-Key4-2\tHM-RC-Key4-3\tHM-RC-Sec4-2\tHM-RC-Sec4-3\tHM-Sec-RHS-2\tHM-Sec-SCo\tHmIP-KRC4\tHmIP-KRCA\tHmIP-RC8\tHmIP-SRH\tHMIP-SWDO"; string lr3x2 = "HmIP-STHO\tHmIP-STHO-A\tHM-TC-IT-WM-W-EU\tHM-Dis-WM55\tHM-Dis-EP-WM55\tHM-PB-2-WM55\tHM-PB-2-WM55-2\tHM-PB-6-WM55\tHM-PBI-2-FM\tHM-RC-8\tHM-Sen-DB-PCB\tHM-Sen-EP\tHM-Sen-MDIR-SM\tHM-Sen-MDIR-WM55\tHM-WDS30-T-O\tHM-WDS30-OT2-SM\tHmIP-STH\tHmIP-STHD\tHMIP-WRC2\tHMIP-WRC6\tHMIP-WTH\tHmIP-WTH-2\tHmIP-SAM\tHmIP-SLO\tHMIP-SWDO-I\tHmIP-FCI6"; string lr3x3 = "HM-PB-4Dis-WM\tHM-PB-4Dis-WM-2\tHM-RC-Dis-H-x-EU\tHM-Sen-LI-O"; string lr3x3a = "HM-RC-19\tHM-RC-19-B\tHM-RC-12\tHM-RC-12-B\tHM-RC-12-W"; string block9 = "HM-LC-Sw1-Ba-PCB\tHM-LC-Sw4-PCB\tHM-MOD-EM-8\tHM-MOD-Re-8\tHM-Sen-RD-O\tHM-OU-CM-PCB\tHM-LC-Sw4-WM"; string fixed = "HM-Sec-SD-2\tHMIP-SWSD"; string recharge = "HM-Sec-Win\tHM-Sec-SFA-SM"; !+++++++++ Setup nun aber wirklich zu Ende - ab hier Finger weg ;-) ++++++++++++++++++ if ( (dom.GetObject(ID_DATAPOINTS)).Get("CUxD.CUX2801001:1.CMD_EXEC")) { (dom.GetObject(ID_DATAPOINTS)).Get("CUxD.CUX2801001:1.CMD_EXEC").State("logger -t script -p user.debug [ALCHY ALLINScript START]"); } else {string stdout;string stderr; system.Exec("logger -t script -p user.debug [ALCHY ALLINScript se START]", &stdout, &stderr);} if ( dom.GetObject(41).Value() >= dom.GetObject(41).LastValue() ) { boolean GO = true; string slist = "NEUE Servicemeldung" ;if (CR == "ja"){ slist = slist #"\r\n";}} else { string slist = "ALTE Servicemeldung";if (CR == "ja"){ slist = slist #"\r\n\r\n";} boolean GO = false; } object oTmpArray = dom.GetObject(ID_SERVICES); if(oTmpArray) { string sTmp; string sdesc; string stest; foreach(sTmp, oTmpArray.EnumIDs()) { object oTmp = dom.GetObject(sTmp); if (oTmp) { if(oTmp.IsTypeOf(OT_ALARMDP) && (oTmp.AlState() == asOncoming)) { boolean collect = true; object trigDP = dom.GetObject(oTmp.AlTriggerDP()); object och = dom.GetObject((trigDP.Channel())); object odev = dom.GetObject((och.Device())); var ival = trigDP.Value(); time sftime = oTmp.AlOccurrenceTime(); ! erste Meldezeit time sltime = oTmp.LastTriggerTime();!letze Meldezeit var sdesc = trigDP.HssType(); var sserial = odev.Address(); if ((sdesc == "STICKY_UNREACH") && (ACCK == "ja")) { oTmp.AlReceipt(); collect = false;} if ( (BLOCK.Find(sserial)<0) && (collect) ) { ! Uebersetzen der Fehlermeldungen if (sdesc == "CONFIG_PENDING") {sdesc = "Konfigurationsdaten stehen zum Transfer an"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if ( (sdesc == "LOWBAT") || (sdesc == "LOW_BAT") ) {sdesc = "Batteriestand niedrig"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (sdesc == "STICKY_UNREACH") {sdesc = "hatte Kommunikationsfehler"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (sdesc == "UNREACH") {sdesc = "hat Kommunikationsfehler"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (sdesc == "DEVICE_IN_BOOTLOADER"){sdesc = "Device startet neu"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (sdesc == "UPDATE_PENDING") {sdesc = "Update verfuegbar"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (sdesc == "U_SOURCE_FAIL") {sdesc = "Netzteil ausgefallen"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (sdesc == "USBH_POWERFAIL") {sdesc = "USB-Host deaktiviert"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if ( (sdesc == "ERROR_SABOTAGE") || (sdesc == "SABOTAGE") ) {sdesc = "Sabotage"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (sdesc == "STICKY_SABOTAGE") {sdesc = "hatte Sabotagemeldung"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (sdesc == "ERROR_REDUCED"){sdesc = "Temperatur kritisch (Lastabsenkung)."; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (sdesc == "ERROR_NON_FLAT_POSITIONING"){sdesc = "Fehler Lageerkennung"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (sdesc == "ERROR_OVERLOAD"){sdesc = "Aktor überlastet."; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} ! Sonderfehler if (sdesc == "ERROR") { if((odev.HssType()=="HM-Sec-RHS") || (odev.HssType()=="HM-Sec-SC") || (odev.HssType()=="HM-Sec-SC-2") || (odev.HssType()=="HM-Sec-SCo") || (odev.HssType()=="HM-Sec-MD") || (odev.HssType()=="HM-Sec-MDIR") || (odev.HssType()=="HM-Sec-MDIR-2") || (odev.HssType()=="HM-Sec-Sir-WM")) { if (ival == 7){sdesc = "Sabotage"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} } if ((odev.HssType()=="HM-Sec-Key") || (odev.HssType()=="HM-Sec-Key-S") || (odev.HssType()=="HM-Sec-Key-O")) { if (ival == 1){sdesc = "Einkuppeln fehlgeschlagen"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (ival == 2){sdesc = "Motorlauf abgebrochen"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} } if (odev.HssType()=="HM-CC-VD") { if (ival == 1){sdesc = "Ventil Antrieb blockiert"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (ival == 2){sdesc = "Ventil nicht montiert"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (ival == 3){sdesc = "Stellbereich zu klein"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (ival == 4){sdesc = "Batteriestand niedrig"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} } } if (sdesc == "FAULT_REPORTING") { if (odev.HssType()=="HM-CC-RT-DN") { if (ival == 1) {sdesc = "Ventil blockiert."; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (ival == 2) {sdesc = "Einstellbereich Ventil zu gross"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (ival == 3) {sdesc = "Einstellbereich Ventil zu klein"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (ival == 4) {sdesc = "Kommunikationsfehler"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (ival == 6) {sdesc = "Batteriestand niedrig"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} if (ival == 7) {sdesc = "Fehlstellung Ventil"; PRIO = 1; if (PRIO >= PRIO_MAX){PRIO_MAX = PRIO;}} } } if (sdesc == "Batteriestand niedrig") { string batlink = "unbekannt"; string index; foreach (index, cr2016) {if (index == odev.HssType()) {batlink = "1x leere CR2016";}} foreach (index, cr2032) {if (index == odev.HssType()) {batlink = "1x leere CR2032";}} foreach (index, lr14x2) {if (index == odev.HssType()) {batlink = "2x leere LR14";}} foreach (index, lr14x3) {if (index == odev.HssType()) {batlink = "3x leere LR14";}} foreach (index, lr44x2) {if (index == odev.HssType()) {batlink = "2x leere LR44/AG13";}} foreach (index, lr6x2) {if (index == odev.HssType()) {batlink = "2x leere LR6/AA";}} foreach (index, lr6x3) {if (index == odev.HssType()) {batlink = "3x leere LR6/AA";}} foreach (index, lr6x4) {if (index == odev.HssType()) {batlink = "4x leere LR6/AA";}} foreach (index, lr3x1) {if (index == odev.HssType()) {batlink = "1x leere LR3/AAA";}} foreach (index, lr3x2) {if (index == odev.HssType()) {batlink = "2x leere LR3/AAA";}} foreach (index, lr3x3) {if (index == odev.HssType()) {batlink = "3x leere LR3/AAA";}} foreach (index, lr3x3a) {if (index == odev.HssType()) {batlink = "3x leere AAA Akkus - bitte laden";}} foreach (index, block9) {if (index == odev.HssType()) {batlink = "9Volt Block leer oder unbestimmt";}} foreach (index, fixed) {if (index == odev.HssType()) {batlink = "Festbatterie leer";}} foreach (index, recharge) {if (index == odev.HssType()) {batlink = "Akku entladen - bitte aufladen";}} slist = slist #odev.Name() # " : "; if (CR == "ja"){ slist = slist #"\r\n";} slist = slist #batlink#" "; if ( WITHTIME == "ja") { if (CR == "ja"){ slist = slist #"\r\n";} slist = slist #"seit: "#sftime.Format("%d.%m.%y %H:%M") #" ("#sltime.Format("%d.%m.%y %H:%M")#")";} } else { slist = slist #odev.Name() # " : " ; if (CR == "ja"){ slist = slist #"\r\n";} slist = slist #sdesc#" "; if ( WITHTIME == "ja") { if (CR == "ja"){ slist = slist #"\r\n";} slist = slist #"seit: "#sftime.Format("%d.%m.%y %H:%M") #" ("#sltime.Format("%d.%m.%y %H:%M")#")" ;} } if (CR == "ja"){ slist = slist #"\r\n\r\n";} } } } } if ( (slist.Length() == 19) || (slist.Length() == 21) ){ if ( (USE_SYSVAR == "ja") && (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(SYSVAR_NAME) ){ (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(SYSVAR_NAME).State(""); } if ( (dom.GetObject(ID_DATAPOINTS)).Get("CUxD.CUX2801001:1.CMD_EXEC")) { (dom.GetObject(ID_DATAPOINTS)).Get("CUxD.CUX2801001:1.CMD_EXEC").State("logger -t script -p user.debug [ALCHY ALLINScript Abbruch BLOCK]"); } else {string stdout;string stderr; system.Exec("logger -t script -p user.debug [ALCHY ALLINScript se Abbruch BLOCK]", &stdout, &stderr);} quit;} ! 04.04.2017 ! alte langsame Uebersetzung entfernt Leerzeichen kein Problem mehr bei Mail/Pushover/Telegram/ aber bei Pushbullet & Prowl? ! Sonderzeichen u.U. problematisch bei Pushover & Telegram daher Texte umgestellt ! 02.05.2017 neue Uebersetzung hinzugefügt string Ersetzen = " ;ü;ä;ö;Ü;Ä;Ö;ß"; string ErsetzenDurch = "%20;%C3%BC;%C3%A4;%C3%B6;%C3%9C;%C3%84;%C3%96;%C3%9F"; string message = slist;integer Pos = 0;integer Index = 0;string Split = "";boolean Loop = true; foreach (Split, Ersetzen.Split(";")) { Loop = true; while (Loop) { Pos = message.Find(Split); if (Pos == -1) { Loop = false; }else{message = message.Substr(0,Pos) # ErsetzenDurch.StrValueByIndex(";",Index) # message.Substr(Pos + Split.Length() , ((message.Length() - Pos) - Split.Length()) ); }} Index = Index + 1; } ! Verarbeiten der Daten zum Versand if (GO) { 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 ( (dom.GetObject(ID_DATAPOINTS)).Get("CUxD.CUX2801001:1.CMD_EXEC")) { (dom.GetObject(ID_DATAPOINTS)).Get("CUxD.CUX2801001:1.CMD_EXEC").State("logger -t script -p user.debug [ALCHY ALLINScript Mails raus]"); } else {string stdout;string stderr; system.Exec("logger -t script -p user.debug [ALCHY ALLINScript se Mail raus]", &stdout, &stderr);} } 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_SYSVAR == "ja") && (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(SYSVAR_NAME) ){ (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(SYSVAR_NAME).State(slist); } } else { if ( (USE_SYSVAR == "ja") && (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(SYSVAR_NAME) ){ (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(SYSVAR_NAME).State(slist); }} if ( (dom.GetObject(ID_DATAPOINTS)).Get("CUxD.CUX2801001:1.CMD_EXEC")) { (dom.GetObject(ID_DATAPOINTS)).Get("CUxD.CUX2801001:1.CMD_EXEC").State("logger -t script -p user.debug [ALCHY ALLINScript ENDE]"); } else {string stdout;string stderr; system.Exec("logger -t script -p user.debug [ALCHY ALLINScript se ENDE]", &stdout, &stderr);} }
Hat jemand eine Idee woran es liegen kann? Chat-ID und Token sind natürlich korrekt eingetragen (hier XXXXX).
-
Das solltest du besser im Homematic Forum fragen oder es mit iobroker realisieren.
-
@wendy2702
ja, hab ich gemacht, könnte ja sein das sich hier auch jemand damit auskennt weil er Homematic nutzt -
Wenn du es doch mit ioBroker machen möchtest, schau mal hier rein:
https://github.com/Baenker/Servicemeldungen-Homematic/blob/master/Servicemeldungen.js
Und der Thread dazu:
https://forum.iobroker.net/topic/19436/servicemeldungen-all-inclusive-für-homematic