Servicemeldungen *allinclusive* Script
Moderator: Co-Administratoren
Re: Servicemeldungen *allinclusive* Script
Sorry fürs Spammen ...
Also nach dem Anlegen eines Gerätes mit ID28 kommt zum Beispiel die Servicemeldung "Sabotage" eines Fensterkontakts rein. Sieht also erstmal gut aus.
Sollte auch ein Email rausgehen, wenn die Sabotage zu ende ist also der Deckel wieder drauf gemacht wird?
Danke und Gruß
Juergen
Also nach dem Anlegen eines Gerätes mit ID28 kommt zum Beispiel die Servicemeldung "Sabotage" eines Fensterkontakts rein. Sieht also erstmal gut aus.
Sollte auch ein Email rausgehen, wenn die Sabotage zu ende ist also der Deckel wieder drauf gemacht wird?
Danke und Gruß
Juergen
Re: Servicemeldungen *allinclusive* Script
Nein, sollte m.E. nicht!
Viele Grüße "aus dem Tal"
Holger
Holger
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Servicemeldungen *allinclusive* Script
Nun die Frage dazu, hast du die Systemvariable umbenannt?gnujuba hat geschrieben: ↑28.09.2018, 11:10Hier der Output:
Code: Alles auswählen
vorhanden Gateway-SysSrvDP
Und die die Systemvariable "Alarmmeldungen" gleich noch mit in Gateway-SysAlDP?
Das gepostete Bild der Systemvariablen stammt von wo?
Und was gibt das folgende Script aus, wenn du ein anstehende oder auch mal 2 anstehende Servicemeldungen anstehen hast.
Code: Alles auswählen
if ( (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(41) ) {
WriteLine("vorhanden");
WriteLine(dom.GetObject(ID_SYSTEM_VARIABLES).Get(41).Name());
WriteLine(dom.GetObject(ID_SYSTEM_VARIABLES).Get(41).Value());
}else{WriteLine("Variable nicht da");}
Wenn du im Script jedes Vorkommen der 41 durch 40 ersetzt, wird dasselbe ausgegeben nur eben für Alarmmeldungen.
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.
-
- Beiträge: 15
- Registriert: 11.02.2018, 16:13
Re: Servicemeldungen *allinclusive* Script
Hallo zusammen!
Ich bekomme es nach mehreren Abenden/Nächten immer noch nicht auf die Reihe - Hat jemand eine Idee woran es hängt?
Ich habe alles nach Anleitung ausgeführt, jedoch kommen keinerlei Pushnachrichten via Pushover.
- Die Test-Nachrichten von der Pushover-Website kommen an
- Nachrichten über dieses Script kommen an:
- im CUxD zeigt es beim ausführen des *allinclusive* Script im Log jedes mal
an
Ich nutze Pivccu - Verhält es sich da was CuxD/Curl angeht irgendwie anders?
Schönen Samstag!
Grüße
Andy
Update:
Hat sich dank..
Grüße
Andy
Ich bekomme es nach mehreren Abenden/Nächten immer noch nicht auf die Reihe - Hat jemand eine Idee woran es hängt?
Ich habe alles nach Anleitung ausgeführt, jedoch kommen keinerlei Pushnachrichten via Pushover.
- Die Test-Nachrichten von der Pushover-Website kommen an
- Nachrichten über dieses Script kommen an:
Code: Alles auswählen
string nachricht = "Test123";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -d token=xxxx -d user=xyz -d message='"#nachricht#"' -d sound=bike http://api.pushover.net/1/messages.json");
Code: Alles auswählen
Sep 29 11:49:40 homematic-ccu2 user.debug script: [ALCHY ALLINScript START]
Sep 29 11:49:40 homematic-ccu2 user.debug script: [ALCHY ALLINScript ENDE]
Ich nutze Pivccu - Verhält es sich da was CuxD/Curl angeht irgendwie anders?
Schönen Samstag!
Grüße
Andy
Update:
Hat sich dank..
..erledigt!alchy hat geschrieben: ↑10.04.2018, 18:46
Du kannst in der Zeile
if ( dom.GetObject(41).Value() > dom.GetObject(41).LastValue() )
ändern auf >=
das ist aber keine allgemein gültige Lösung und wird daher von mir hier nicht integriert.
Ich hatte immer noch die Hoffnung, das das komische Verhalten mancher Geräte von EQ3 gefixt wird, dies scheint jedoch nicht zu passieren.
Alchy
Grüße
Andy
Raspberry mit PiVccu
Thermostate HmIP-eTRV-2
Sensoren HmIP-STHD + HmIP-STHO
HMIP-SWDO,HmIP-SRH,HmIP-SMI, HmIP-ASIR
HM-OU-LED16
Thermostate HmIP-eTRV-2
Sensoren HmIP-STHD + HmIP-STHO
HMIP-SWDO,HmIP-SRH,HmIP-SMI, HmIP-ASIR
HM-OU-LED16
- onkeltommy
- Beiträge: 1386
- Registriert: 07.05.2016, 08:03
- Wohnort: Wien
- Hat sich bedankt: 28 Mal
- Danksagung erhalten: 26 Mal
Re: Servicemeldungen *allinclusive* Script
Hi
diese temporäre Lösung hat bei mir auch geholfen....
@ CCU3-> Script funktioniert auch nach Übernahme von der 2er ohne "Modikfikation"
Die "alte" CCU2 übernahm nun Sohnemann -> Werkrsreset, FW neu drauf, Mode: Jungfrau, alles neu installiert usw.
Das AllInOne Script funktioniert auf der "neuen" 2er genau 1x nach Neustart, dann nicht mehr. Also von > auf >= geändert und es geht.
Es ging Prowl und PushSafer nicht mehr, gleiches Verhalten wie oben.
Bin neugierig, warum das Pushen auf der 3er (noch) geht und auf der 2er nur nach Modi
EIne "kleeeeeine" Bitte an Alchy bei PushSafer kann man mittlerweile mehr Parameter übergeben, vielleicht hast Du mal Zeit und Laune
es geht um die beiden Variablen:
string priority = "1";
string Time2Live = "1";
-> das oben funktioniert perfekt !!!
Info vom Hersteller:
l = Time to Live Ganzzahl 0-43200: Zeit in Minuten,
nach der die Nachricht automatisch gelöscht wird.
0 oder leer = nicht automatisch löschen
pr = Priorität
-2 = niedrigste Priorität
-1 = niedrige Priorität
0 = normale Priorität
1 = hohe Priorität
2 = höchste Priorität
wäre supi wennst mal Zeit hast
vielen Dank und LG
Thomas
diese temporäre Lösung hat bei mir auch geholfen....
@ CCU3-> Script funktioniert auch nach Übernahme von der 2er ohne "Modikfikation"
Die "alte" CCU2 übernahm nun Sohnemann -> Werkrsreset, FW neu drauf, Mode: Jungfrau, alles neu installiert usw.
Das AllInOne Script funktioniert auf der "neuen" 2er genau 1x nach Neustart, dann nicht mehr. Also von > auf >= geändert und es geht.
Es ging Prowl und PushSafer nicht mehr, gleiches Verhalten wie oben.
Bin neugierig, warum das Pushen auf der 3er (noch) geht und auf der 2er nur nach Modi
EIne "kleeeeeine" Bitte an Alchy bei PushSafer kann man mittlerweile mehr Parameter übergeben, vielleicht hast Du mal Zeit und Laune
Code: Alles auswählen
string title = "TUERGLOCKE";
string message = "DING-DONG";
string sound = "17";
string icon = "144";
string vibration = "0";
string device = "*********";
string priority = "1";
string Time2Live = "1";
string privatekey = "*************************";
dom.GetObject("CUxD.CUX2801002:1.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -k -d k='"#privatekey#"' -d t='"#title#"' -d m='"#message#"' -d s='"#sound#"' -d i='"#icon#"' -d v='"#vibration#"' -d pr='"#priority#"' -d l='"#Time2Live#"' -d d='"#device#"' https://www.pushsafer.com/api");
string priority = "1";
string Time2Live = "1";
-> das oben funktioniert perfekt !!!
Info vom Hersteller:
l = Time to Live Ganzzahl 0-43200: Zeit in Minuten,
nach der die Nachricht automatisch gelöscht wird.
0 oder leer = nicht automatisch löschen
pr = Priorität
-2 = niedrigste Priorität
-1 = niedrige Priorität
0 = normale Priorität
1 = hohe Priorität
2 = höchste Priorität
wäre supi wennst mal Zeit hast
vielen Dank und LG
Thomas
lG
Thomas
--------------------------
RaspberryMatic 3.73.9.20240130 @ TinkerS (Produktivsystem) & Historian @ SynologyVM & 2x RB3+ @ Nachwuchs
Thomas
--------------------------
RaspberryMatic 3.73.9.20240130 @ TinkerS (Produktivsystem) & Historian @ SynologyVM & 2x RB3+ @ Nachwuchs
Re: Servicemeldungen *allinclusive* Script
Vielen Dank an Alchy für das Skript.
Ich hätte da noch eine Ergänzug um pocketControl Push-Mitteilungen zu nutzen.
Dazu habe ich folgende Zeilen für den Konfigurationsteil des Skriptes:
... und folgende Zeile für den Teil "Verarbeiten der Daten zum Versand":
Das habe ich dann vor die Zeile mit "if ( (USE_SYSVAR == "ja") ..." eingesetzt.
Klar, dass man in pocketControl das Senden von Push Mitteilungen aktiviert haben sollte.
Grüße, Ralf
Ich hätte da noch eine Ergänzug um pocketControl Push-Mitteilungen zu nutzen.
Dazu habe ich folgende Zeilen für den Konfigurationsteil des Skriptes:
Code: Alles auswählen
!+++++++ pocketControl PushMessage Setup ++++++
! Systemvariable vom Typ Zeichenkette muss über pocketControl in der CCU angelegt sein
var USE_PC_PUSHMESSAGE = "ja"; ! ja oder nein fuer die Verwendung pocketControl PushMessage direkt im Script
var PC_VAR_NAME = "pocketControlPushMessage"; ! hier den Namen der PushMessage Variablen eintragen
var GERAETE = "1"; ! Geraetenummer bzw. Liste der Geraetenummern an welche die Nachricht gesendet werden soll
var TON = "0"; ! Ton-Nummer, moegliche Werte von 0-4, 0 fuer Ton aus
Code: Alles auswählen
if ( (USE_PC_PUSHMESSAGE == "ja") && (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(PC_VAR_NAME) ){ (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(PC_VAR_NAME).State(slist#" to("#GERAETE#") sound("#TON#")"); }
Klar, dass man in pocketControl das Senden von Push Mitteilungen aktiviert haben sollte.
Grüße, Ralf
-
- Beiträge: 14
- Registriert: 14.07.2018, 21:10
- Hat sich bedankt: 3 Mal
Re: Servicemeldungen *allinclusive* Script
Ein wirklich tolles Skript. Angelegt habe ich es, inkl. der Systemvariablen.
Als Push wollte ich Prowl nutzen.
Habe alles eingerichtet. Von der Prowl Homepage kommen die Push Nachrichten an.
Auch wenn ich dieses Skript teste, kommt die Meldung auf mein iPhone.
Aber leider kommt KEINE Push Nachricht, wenn eine Servicemeldung anliegt.
Um zu testen hab ich die Low Bat Schwelle einfach auf 5V gestellt. Servicemeldung wird auch angezeigt, in die angelegte Variable wird auch die Servicemeldung geschrieben.
Im Script hab ich natürlich die Api Key hinterlegt. Im Systemlog ist KEIN Fehler hinterlegt.
Was könnte das "Problem" sein?
PS: Hab ne Raspmatic, Firmware auf dem aktuellsten stand
Als Push wollte ich Prowl nutzen.
Habe alles eingerichtet. Von der Prowl Homepage kommen die Push Nachrichten an.
Code: Alles auswählen
var API_KEY ="xxxxxxxxxxxxxxxxxxxxxxxx"; ! selbsterklärend
var PROWL_CUXD_ID = "CUX2801001:1"; !welches CUXD.EXEC Gerät mit Kanal soll verwendet werden ?
var ANWENDUNG = "Homematic"; !kann jeder nennen wie er will
var KATEGORIE ="Servicemeldung"; !kann jeder nennen wie er will
var prio = 1;
string slist = "Test mit Sonderzeichen ä ö ü ß Ä Ö Ü";
string url="http://prowl.weks.net/publicapi/add?apikey="#API_KEY#"&application="#ANWENDUNG#"&event="#KATEGORIE#"&priority="#prio#"\&description="#slist#"&timeout=10";
dom.GetObject("CUxD."#PROWL_CUXD_ID#".CMD_EXEC").State("wget -q -O - '"#url#"'");
Aber leider kommt KEINE Push Nachricht, wenn eine Servicemeldung anliegt.
Um zu testen hab ich die Low Bat Schwelle einfach auf 5V gestellt. Servicemeldung wird auch angezeigt, in die angelegte Variable wird auch die Servicemeldung geschrieben.
Code: Alles auswählen
Bewegungsmelder Schlafzimmer :
2x leere LR6/AA
seit: 11.10.18 15:55 (11.10.18 15:55)
Was könnte das "Problem" sein?
PS: Hab ne Raspmatic, Firmware auf dem aktuellsten stand
-
- Beiträge: 507
- Registriert: 26.10.2016, 16:08
- System: CCU
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 15 Mal
Re: Servicemeldungen *allinclusive* Script
Lies mal 3 Beiträge über deinem und teste mal mit Alchy's Tip. ( >= )
Gruß Tino
Gruß Tino
Zuletzt geändert von alchy am 12.10.2018, 19:59, insgesamt 1-mal geändert.
Grund: Link angepasst
Grund: Link angepasst
Re: Servicemeldungen *allinclusive* Script
Bei mir fehlt die Variable Systemmeldungen leider auch. Manuelle Anlage wird wohl nix bringen...konnte bei den anderen Forenteilnehmer keine Lösung entnehmen...gibt es also keine und ich kann das Skipt nicht verwenden?
Hab Raspberrymatic 3.37.8.20180929
Hab Raspberrymatic 3.37.8.20180929
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Servicemeldungen *allinclusive* Script
Wenn die Systemvariable überhaupt nicht vorhanden ist,
brauchst du sie auch nicht in der Klickibunti anzulegen. Das ist (zumindest einfach so) nicht zielführend, da bei Selbstanlage noch nicht mal die ISE_ID stimmen würde.
Alchy
Code: Alles auswählen
if ( (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(41) ) {
WriteLine("vorhanden");
WriteLine(dom.GetObject(ID_SYSTEM_VARIABLES).Get(41).Name());
WriteLine(dom.GetObject(ID_SYSTEM_VARIABLES).Get(41).Value());
}else{WriteLine("Variable nicht da");}
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.