Seite 127 von 190

Re: Servicemeldungen *allinclusive* Script

Verfasst: 28.09.2018, 13:41
von gnujuba
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

Re: Servicemeldungen *allinclusive* Script

Verfasst: 28.09.2018, 17:53
von HMatton
gnujuba hat geschrieben:
28.09.2018, 13:41

Sollte auch ein Email rausgehen, wenn die Sabotage zu ende ist also der Deckel wieder drauf gemacht wird?
Nein, sollte m.E. nicht!

Re: Servicemeldungen *allinclusive* Script

Verfasst: 28.09.2018, 20:21
von alchy
gnujuba hat geschrieben:
28.09.2018, 11:10
Hier der Output:

Code: Alles auswählen

vorhanden
Gateway-SysSrvDP
Nun die Frage dazu, hast du die Systemvariable umbenannt?
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");}
Normalerweise sollte die Anzahl der anstehenden Servicmeldungen ausgegeben werden.
Wenn du im Script jedes Vorkommen der 41 durch 40 ersetzt, wird dasselbe ausgegeben nur eben für Alarmmeldungen.

Alchy

Re: Servicemeldungen *allinclusive* Script

Verfasst: 29.09.2018, 12:00
von deine_schuld
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:

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");
- im CUxD zeigt es beim ausführen des *allinclusive* Script im Log jedes mal

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]
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..
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
..erledigt!

Grüße
Andy

Re: Servicemeldungen *allinclusive* Script

Verfasst: 07.10.2018, 12:13
von onkeltommy
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 :o bei PushSafer kann man mittlerweile mehr Parameter übergeben, vielleicht hast Du mal Zeit und Laune 8) 8)

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");
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

Re: Servicemeldungen *allinclusive* Script

Verfasst: 08.10.2018, 00:14
von GandRalf
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:

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
... und folgende Zeile für den Teil "Verarbeiten der Daten zum Versand":

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#")"); }
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

Re: Servicemeldungen *allinclusive* Script

Verfasst: 11.10.2018, 15:35
von outsider2017
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.

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#"'");
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.

Code: Alles auswählen

Bewegungsmelder Schlafzimmer : 
2x leere LR6/AA 
seit: 11.10.18 15:55 (11.10.18 15:55)
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

Re: Servicemeldungen *allinclusive* Script

Verfasst: 12.10.2018, 13:42
von Tibin
Lies mal 3 Beiträge über deinem und teste mal mit Alchy's Tip. ( >= )
Gruß Tino

Re: Servicemeldungen *allinclusive* Script

Verfasst: 12.10.2018, 18:04
von mafa
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

Re: Servicemeldungen *allinclusive* Script

Verfasst: 12.10.2018, 20:08
von alchy
Wenn die Systemvariable überhaupt nicht vorhanden ist,

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");}
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