Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Telegram über Homematic [gelöst]

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Telegram über Homematic [gelöst]

    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      Idefix01 last edited by Idefix01

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

      1 Reply Last reply Reply Quote 0
      • wendy2702
        wendy2702 last edited by

        Das solltest du besser im Homematic Forum fragen oder es mit iobroker realisieren.

        I 1 Reply Last reply Reply Quote 0
        • I
          Idefix01 @wendy2702 last edited by

          @wendy2702
          ja, hab ich gemacht, könnte ja sein das sich hier auch jemand damit auskennt weil er Homematic nutzt

          1 Reply Last reply Reply Quote 0
          • D
            darkiop Most Active last edited by

            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

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate
            FAQ Cloud / IOT
            HowTo: Node.js-Update
            HowTo: Backup/Restore
            Downloads
            BLOG

            816
            Online

            31.9k
            Users

            80.3k
            Topics

            1.3m
            Posts

            telegram
            3
            4
            599
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo