Servicemeldungen *allinclusive* Script

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

thphilipp
Beiträge: 153
Registriert: 04.12.2021, 16:25
System: CCU und Access Point
Hat sich bedankt: 12 Mal
Danksagung erhalten: 1 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von thphilipp » 27.08.2022, 14:15

Also das kam als Ausgabe beim Testen des Scripts:

slist: NEUE Servicemeldung
Thermostat Wohnzimmer oben :
hat Kommunikationsfehler
1 mal seit: 27.08.22 14:12 ( zuletzt: 27.08.22 14:12)


message: NEUE%20Servicemeldung%0D%0AThermostat%20Wohnzimmer%20oben%20%3A%20%0D%0Ahat%20Kommunikationsfehler%20%0D%0A1%20mal%20seit%3A%2027%2E08%2E22%2014%3A12%20%28%20zuletzt%3A%2027%2E08%2E22%2014%3A12%29%0D%0A%0D%0A

thphilipp
Beiträge: 153
Registriert: 04.12.2021, 16:25
System: CCU und Access Point
Hat sich bedankt: 12 Mal
Danksagung erhalten: 1 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von thphilipp » 27.08.2022, 14:16

Und das sind die Einträge in der CUX

CUX2801001 (X) HM-RC-19 CUX2801001 • KEY
CUX2801002 (X) HM-RC-19 CUX2801002 • KEY
CUX9100001 (X) email

Ich möchte in dem Script auch mehrere Sachen nutzen wie whatsapp, email und push!

Ich verstehe nicht, dass im Script bei allen immer "CUX2801001:1" steht, ist das so korrekt? Oder müssen das immer verschiedene Geräte
im CuXd sein?

thphilipp
Beiträge: 153
Registriert: 04.12.2021, 16:25
System: CCU und Access Point
Hat sich bedankt: 12 Mal
Danksagung erhalten: 1 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von thphilipp » 27.08.2022, 14:56

Hier mal mein Script. Vielleicht findet jemand den Fehler, warum nichts kommt:

! Servicemeldungen auslesen und weiter verarbeiten
! v1.996 (c) by alchy viewtopic.php?f=31&t=24618
!++++++ 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 mit Leerzeichen getrennt.

!++++++ WHATSAPP +++++++++
var USE_WHATSAPP = "ja";
var WA_PHONE = "+49*******";
var WA_CUXD_ID = "CUX2801001:1";
var WA_APIKEY = "612***";


!+++++++ Setup Mail verschicken mit CUXD und Emailaddon ++++++
! 1. CUXD incl. exec Geraet sind installiert ( http://homematic-forum.de/forum/viewtop ... 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 = "ja"; ! ja / nein schicken einer Mail direkt ueber das Script
var MAIL_ID = "03"; ! 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 = "Systemmeldungen speichern"; ! hier den Namen dieser Variablen eintragen
Zuletzt geändert von thphilipp am 27.08.2022, 15:06, insgesamt 1-mal geändert.

Benutzeravatar
shartelt
Beiträge: 7421
Registriert: 14.01.2015, 14:59
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 524 Mal
Danksagung erhalten: 753 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von shartelt » 27.08.2022, 15:05

code tags…
und Du solltest Deine Mobilfunknummer zensieren…

thphilipp
Beiträge: 153
Registriert: 04.12.2021, 16:25
System: CCU und Access Point
Hat sich bedankt: 12 Mal
Danksagung erhalten: 1 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von thphilipp » 27.08.2022, 15:06

Habe doch 3 Sternchen eingefügt??

thphilipp
Beiträge: 153
Registriert: 04.12.2021, 16:25
System: CCU und Access Point
Hat sich bedankt: 12 Mal
Danksagung erhalten: 1 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von thphilipp » 27.08.2022, 15:21

Hmmm, komisch, jetzt nhat es geklappt, nachdem ich es als richtiges Programm gespeichert und dann gestartet habe. Im
Script testen geht es also nicht......

Es laufen nun Whatsapp und email. Nun versuche ich mal den Push Service einzubauen vonpushover oder pushbullet

Benutzeravatar
shartelt
Beiträge: 7421
Registriert: 14.01.2015, 14:59
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 524 Mal
Danksagung erhalten: 753 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von shartelt » 27.08.2022, 15:32

joa code tags und so:
ACB24656-B74C-48FC-9881-2DF3F276CE9D.jpeg
sieht dann so aus (ohne sternchen)

[code*] ich bin ein code und mache alles kaputt wenn ich nicht in den Tags gefangen bin [*/code]

digitiert zu:

Code: Alles auswählen

 ich bin ein code und mache alles kaputt wenn ich nicht in den Tags gefangen bin 

thphilipp
Beiträge: 153
Registriert: 04.12.2021, 16:25
System: CCU und Access Point
Hat sich bedankt: 12 Mal
Danksagung erhalten: 1 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von thphilipp » 27.08.2022, 15:42

Danke. Soweit läuft ja nun alles. Kann mir nun jemand erklären, wie ich pushbullet einbinde? Angemeldet bin ich dort bereits. Weiß aber nicht wo ich den API Token einsetze usw.

Thorsten1982
Beiträge: 49
Registriert: 01.11.2020, 21:29
System: CCU
Hat sich bedankt: 4 Mal
Danksagung erhalten: 2 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von Thorsten1982 » 31.08.2022, 08:05

Hallo, leider bekomme ich das Programm auf zwei CCU2 nicht ans laufen. Bei meinen Eltern und bei mir.

ich möchte mich erstmal um die CCU2 meiner Eltern kümmern, da hier auch gerade eine Servicemeldung anliegt.

Problem:
  • Meldung wird nicht in der Systemvariable gespeichert (???)
  • Whatsapp Nachricht wird nicht gesendet
Ich wüsste gerade nicht was falsch sein sollte. Ich weiß das ich auch ein Problem mit der Systemvariable Servicemeldungen hatte, da mir am Anfang auch nicht ganz klar war das man diese nicht verändern darf und diese automatisch generiert wird. Sollte aber nun wieder richtig vorhanden sein.

Systemvariablen sind wieder vorhanden:
Ausgabe Test script Systemvariablen.png
Systemvariable eingerichtet
Systemvariable.png
Status der Systemvariable wird auch nicht aktualisert wenn das Programm ausgeführt wird:
Status Systemvariable.png
Cuxd Excec ist vorhanden:
Cuxd exec.png
Ausgabe wenn ich das Programm über Testen ausführe:
Ausgabe Script Testen.png
Programm eingerichtet das es automatisch startet:
Programm eingerichtet.png
Und hier noch der Code:

Code: Alles auswählen

! Servicemeldungen auslesen und weiter verarbeiten
! v1.996 (c) by alchy https://homematic-forum.de/forum/viewtopic.php?f=31&t=24618
!++++++ SETUP ++++++
! Bitte in Ruhe die naechsten Zeilen durcharbeiten
var WITHTIME = "Nein"; ! Wenn ja, wird die Alarmzeit Zeit mitgesendet
! +++++ Servicemeldungen "Kommunikation war gestoert" bestaetigen? ++++++
var ACCK = "nein"; ! 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  mit Leerzeichen getrennt.

!++++++ 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 ="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 = "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: Servicemeldung";
string PUSHSAVER_CUXD_ID = "CUX2801001:14";
string MELODIE = "6";
string ICON = "10";
string VIBRATION = "1";
string DEVICE = "++++++++";
string PRIVATEKEY = "+++++++++++++++++";

!++++++ WHATSAPP +++++++++
var USE_WHATSAPP = "Ja"; 
var WA_PHONE = "+49151***"; 
var WA_CUXD_ID = "CUX2801001:1"; 
var WA_APIKEY = "564228";


!+++++++ 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 = "Systemmeldungen speichern"; ! hier den Namen dieser Variablen eintragen

!+++++++ Eigentlich schon fertig mit dem Setup +++++++++++
! Rest entfernt

Log Datei:
homematic-ccu2-2022-08-31.log
(219.92 KiB) 23-mal heruntergeladen
Log Cuxd

Code: Alles auswählen

Aug 31 05:42:26 ccu2 user.err rfd: XmlRpcClient error calling event({[methodName:"event",params:{"57576","OEQ2278009:1","TEMPERATURE",22.800000}],[methodName:"event",params:{"57576","OEQ2278009:1","HUMIDITY",53}],[methodName:"event",params:{"57576","OEQ2633789:4","CONTROL_MODE",1}],[methodName:"event",params:{"57576","OEQ2633789:4","FAULT_REPORTING",0}],[methodName:"event",params:{"57576","OEQ2633789:4","BATTERY_STATE",3.100000}],[methodName:"event",params:{"57576","OEQ2633789:4","VALVE_STATE",0}],[method
ame:"event",params:{"57576","OEQ2633789:4","BOOST_STATE",0}],[methodName:"event",params:{"57576","OEQ2633789:4","ACTUAL_TEMPERATURE",22.300000}],[methodName:"event",params:{"57576","OEQ2633789:4","SET_TEMPERATURE",20.000000}],[methodName:"event",params:{"57576","OEQ2633789:4","PARTY_TEMPERATURE",5.000000}],[methodName:"event",params:{"57576","OEQ2633789:4","PARTY_START_TIME",0}],[methodName:"event",params:{"57576","OEQ2633789:4","PARTY_START_DAY",1}],[methodName:"event",params:{"57576","OEQ2633789:4","PAR
Y_START_MON
Aug 31 05:42:26 ccu2 user.err rfd: XmlRpc transport error
Aug 31 05:42:46 ccu2 user.err rfd: XmlRpcClient error calling event({[methodName:"event",params:{"57576","QEQ1962814:4","CONTROL_MODE",0}],[methodName:"event",params:{"57576","QEQ1962814:4","FAULT_REPORTING",0}],[methodName:"event",params:{"57576","QEQ1962814:4","BATTERY_STATE",2.400000}],[methodName:"event",params:{"57576","QEQ1962814:4","VALVE_STATE",0}],[methodName:"event",params:{"57576","QEQ1962814:4","BOOST_STATE",0}],[methodName:"event",params:{"57576","QEQ1962814:4","ACTUAL_TEMPERATURE",22.300000}
,[methodName:"event",params:{"57576","QEQ1962814:4","SET_TEMPERATURE",14.000000}],[methodName:"event",params:{"57576","QEQ1962814:4","PARTY_TEMPERATURE",5.000000}],[methodName:"event",params:{"57576","QEQ1962814:4","PARTY_START_TIME",0}],[methodName:"event",params:{"57576","QEQ1962814:4","PARTY_START_DAY",1}],[methodName:"event",params:{"57576","QEQ1962814:4","PARTY_START_MONTH",1}],[methodName:"event",params:{"57576","QEQ1962814:4","PARTY_START_YEAR",0}],[methodName:"event",params:{"57576","QEQ1962814:4"
"PARTY_STOP
Aug 31 05:42:46 ccu2 user.err rfd: XmlRpc transport error
Aug 31 05:43:06 ccu2 user.err rfd: XmlRpcClient error calling event({[methodName:"event",params:{"57576","MEQ0479621:2","ACTUAL_TEMPERATURE",22.100000}],[methodName:"event",params:{"57576","MEQ0479621:2","ACTUAL_HUMIDITY",66.000000}],[methodName:"event",params:{"57576","MEQ0479621:2","SET_TEMPERATURE",14.000000}],[methodName:"event",params:{"57576","REQ0510021:4","CONTROL_MODE",0}],[methodName:"event",params:{"57576","REQ0510021:4","FAULT_REPORTING",0}],[methodName:"event",params:{"57576","REQ0510021:4","
ATTERY_STATE",2.300000}],[methodName:"event",params:{"57576","REQ0510021:4","VALVE_STATE",0}],[methodName:"event",params:{"57576","REQ0510021:4","BOOST_STATE",0}],[methodName:"event",params:{"57576","REQ0510021:4","ACTUAL_TEMPERATURE",22.800000}],[methodName:"event",params:{"57576","REQ0510021:4","SET_TEMPERATURE",14.000000}],[methodName:"event",params:{"57576","REQ0510021:4","PARTY_TEMPERATURE",5.000000}],[methodName:"event",params:{"57576","REQ0510021:4","PARTY_START_TIME",0}],[methodName:"event",params
{"57576","R
Aug 31 05:43:06 ccu2 user.err rfd: XmlRpc transport error
Aug 31 05:43:06 ccu2 daemon.warn openvpn[678]: WARNING: --ns-cert-type is DEPRECATED.  Use --remote-cert-tls instead.
Aug 31 05:43:12 ccu2 daemon.warn openvpn[678]: ERROR: Linux route add command failed: external program exited with error status: 2
Aug 31 06:00:00 ccu2 cron.info crond[169]: USER root pid 7201 cmd /bin/sh /usr/local/etc/config/addons/mh/cloudmaticcheck.sh >> /dev/null
Aug 31 06:07:00 ccu2 cron.info crond[169]: USER root pid 8348 cmd /bin/sh /usr/local/etc/config/addons/mh/loopupd.sh >> /dev/null
Aug 31 06:27:27 ccu2 user.debug script: [ALCHY ALLINScript START]
Aug 31 06:27:27 ccu2 user.debug script: [ALCHY ALLINScript ENDE]
Aug 31 06:30:36 ccu2 user.debug script: [ALCHY ALLINScript START]
Aug 31 06:30:36 ccu2 user.debug script: [ALCHY ALLINScript ENDE]
Aug 31 06:32:46 ccu2 user.debug script: [ALCHY ALLINScript START]
Aug 31 06:32:46 ccu2 user.debug script: [ALCHY ALLINScript ENDE]
Aug 31 06:38:01 ccu2 daemon.warn cuxd[435]: CUX2801504:1 [0] - pid(13335) already running -> new pid!
Aug 31 07:50:03 ccu2 local0.err ReGaHss: ERROR: SyntaxError: Error 1 at row 1 col 18 near ^(dom.GetObject(41).Name()); WriteLine(dom.GetObject(40).Name()); WriteLine(dom.G^M  [SyntaxError():iseESP.cpp:1127]
Aug 31 07:50:03 ccu2 local0.err ReGaHss: ERROR: SyntaxError: (dom.GetObject(41).Name()); WriteLine(dom.GetObject(40).Name()); WriteLine(dom.GetObject(950).Name()); [ParseProgram():iseESP.c
pp:377]
Zuletzt geändert von alchy am 31.08.2022, 20:12, insgesamt 1-mal geändert.
Grund: Code in Codetags posten & Script entfernt

emil70
Beiträge: 288
Registriert: 02.12.2017, 13:47
System: CCU
Hat sich bedankt: 33 Mal
Danksagung erhalten: 8 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von emil70 » 31.08.2022, 10:03

Mach mal aus

Code: Alles auswählen

Systemmeldungen speichern
ein

Code: Alles auswählen

Systemmeldungen-speichern
oder lass das speichern weg.
Ändern dann auch die Systemvariable ab

Ein Leerzeichen sollte da nicht zwischen sein bei Linux

bei mir sieht das so aus

Code: Alles auswählen

var SYSVAR_NAME = "ProgServicemeldungen"; ! hier den Namen dieser Variablen eintragen
gruß emil70

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“