Seite 9 von 15

Re: Alarmmeldungen auslesen =>Mail versenden.

Verfasst: 08.07.2021, 12:44
von uwe_f
Hallo alchy,
super Arbeit klappt alles soweit gut, könntest du noch bitte das Skript soweit erweitern das es auch mit whats app geht. :P

Re: Alarmmeldungen auslesen =>Mail versenden.

Verfasst: 08.07.2021, 13:21
von cmjay
Mithilfe der nachfolgenden Skript-Beispiele könntest du die Integration des Callme-Bots auch mal selbst versuchen.
viewtopic.php?f=31&t=24618
viewtopic.php?f=19&t=61847&p=612321

Re: Alarmmeldungen auslesen =>Mail versenden.

Verfasst: 02.11.2021, 12:07
von Blupper
Hallo Zusammen,

ich beschäftige mich derzeit fleißig mit der CCU3 und würde gerne eine E-Mail erhalten wenn ein Gerät auf Störung geht. Ich habe mir das E-Mail Addon installiert und kann über Variablen Mails verschicken. Allerdings habe ich das Problem wenn ich das Script von Alchy ausführe das ich immer die Meldung erhalte "Keine aktiven Alarme da". Die WebUI sagt allerdings 2x Servicemeldungen mit "Gerätekommunikation gestört" und "Gerätekommunikation war gestört".

Im CUx-Daemon Full Syslog steht nur folgende Fehlermeldungen, vermutlich bin ich im falschen Log :?

Code: Alles auswählen

---
Nov  2 12:04:57 HomematicCCU3 local0.info ReGaHss: Info: start web processing, worker thread #0 {"HTTP-Listener"} [spawnNewProcess():httpListener.cpp:208]
Nov  2 12:04:57 HomematicCCU3 local0.info ReGaHss: Info: recvd 790 bytes by web server #1 [ThreadFunction():httpServer.cpp:771]
Nov  2 12:04:57 HomematicCCU3 local0.info ReGaHss: Info: IseSession GetSessionId from URL: /esp/system.htm?sid=@yTF0d27ygT@&action=UpdateUI [GetSessionId():iseSession.cpp:185]
Nov  2 12:04:57 HomematicCCU3 local0.info ReGaHss: Info: http id #1 sends parsed file [ParseFileAndSendWebResponse():httpServer.cpp:2035]
--
Script von alchy: viewtopic.php?f=26&t=10233&start=10#p274091

Falls jemand ne Idee hat was ich falsch mache bzw. wie ich den Fehler eingrenzen kann wäre mein Tag gerettet :D

Lieben Dank!

Re: Alarmmeldungen auslesen =>Mail versenden.

Verfasst: 02.11.2021, 12:32
von Roland M.
Hallo und willkommen im Forum!
Blupper hat geschrieben:
02.11.2021, 12:07
Allerdings habe ich das Problem wenn ich das Script von Alchy ausführe das ich immer die Meldung erhalte "Keine aktiven Alarme da". Die WebUI sagt allerdings 2x Servicemeldungen mit "Gerätekommunikation gestört" und "Gerätekommunikation war gestört".
Alarmmeldungen und Servicemeldungen sind zwei verschiedene Paar Schuhe! ;)

Roland

Re: Alarmmeldungen auslesen =>Mail versenden.

Verfasst: 02.11.2021, 13:51
von Blupper
Hi Roland,

schlüssiges Argument 8) Ich dank dir!

Ein sehr schönes Script gibt es auch von DiigiDad, falls jmd noch auf der Suche ist :?:

https://digitaldad.de/2021/02/18/servic ... versenden/

Re: Alarmmeldungen auslesen =>Mail versenden.

Verfasst: 02.11.2021, 16:02
von mskrause
Blupper hat geschrieben:
02.11.2021, 13:51
Ein sehr schönes Script gibt es auch von DiigiDad, falls jmd noch auf der Suche ist :?:
https://digitaldad.de/2021/02/18/servic ... versenden/
Das dort verwendete Skript ist übrigens auch von alchy und wird hier gepflegt.

VG, Marco

Re: Alarmmeldungen auslesen =>Mail versenden.

Verfasst: 28.12.2021, 11:24
von joni-blue
Hi, darf ich fragen welches die aktuellste version ist?
und ich würde gerne wissen ob man auch die erste Auslösung mit auswerten kann.
und eventuell in Minuten wie lange der alarm besteht (von der ersten bis zur letzten Auslösung)
lg
alchy hat geschrieben:
18.03.2016, 22:40
Hab schnell was eigenes geschrieben, schau mal ob es funktioniert.
......

Code: Alles auswählen

! Alarmvariablen auslesen und speichern oder senden per mail oder Telegram 
! v 0.8 (c) by Alchy8
!https://homematic-forum.de/forum/viewtopic.php?f=26&t=10233&start=10#p274091


Re: Alarmmeldungen auslesen =>Mail versenden.

Verfasst: 28.12.2021, 18:42
von alchy
joni-blue hat geschrieben:
28.12.2021, 11:24
Hi, darf ich fragen welches die aktuellste version ist?
Zumindest ist es die letzte Version, welche von mir veröffentlicht wurden ist.
Da ich den Pfad auch im Script angegeben habe, würdest du an der Stelle auch eine neue Version finden.
joni-blue hat geschrieben:
28.12.2021, 11:24
und ich würde gerne wissen ob man auch die erste Auslösung mit auswerten kann.
und eventuell in Minuten wie lange der alarm besteht (von der ersten bis zur letzten Auslösung)
Natürlich geht das. So ziemlich alles ist möglich.
Nur stellt sich die Frage, was du alles ausgegeben haben willst. :oops:
Zeitstempel erstmalig & letztmalig und die verstrichene Zeit dazwischen
oder etwas ganz anderes.....

Alchy

Re: Alarmmeldungen auslesen =>Mail versenden.

Verfasst: 28.12.2021, 18:58
von joni-blue
hi, danke erstmal für deine Antwort!
versuche grade erstmal selber umzubauen. alles nicht so leicht aber ohne fleiß kein preis.
wenn ich probleme habe melde ich mich nochmal.

Re: Alarmmeldungen auslesen =>Mail versenden.

Verfasst: 28.12.2021, 20:44
von joni-blue
alchy hat geschrieben:
28.12.2021, 18:42

Natürlich geht das. So ziemlich alles ist möglich.
Nur stellt sich die Frage, was du alles ausgegeben haben willst. :oops:
Zeitstempel erstmalig & letztmalig und die verstrichene Zeit dazwischen
oder etwas ganz anderes.....

Alchy
hi, kannst du mir eventuell jetzt noch einmal helfen?

ich habe mir jetzt aus deinem euren Skripten was für mich zusammen gestellt!
leider bekomme ich nicht den Device Namen sondern den Kanal Namen.

kannst du das eventuell umstellen?
ich habe es nicht hinbekommen.

Joni-Blue

Code: Alles auswählen

string Alarmmeldung = "Alarm Aussenhaut";
object state = dom.GetObject(Alarmmeldung).AlState();
string alarmnachricht = "";
WriteLine(state);

if (state == 1){

string FirstTime = dom.GetObject(Alarmmeldung).AlOccurrenceTime();
string LastTime = dom.GetObject(Alarmmeldung).LastTriggerTime();

integer LastTriggerID = dom.GetObject(Alarmmeldung).LastTriggerID();
object oLastTrigger = dom.GetObject( LastTriggerID );
object Counter = dom.GetObject(Alarmmeldung).AlCounter();
object Status = dom.GetObject(Alarmmeldung).ValueName();



  integer now = FirstTime.ToInteger();
  integer last = LastTime.ToInteger();
  integer diff = (last - now);

string ChannelName = "";

if( LastTriggerID == ID_ERROR )
{
    LastTriggerID = dom.GetObject(Alarmmeldung).AlTriggerDP();
}


if( oLastTrigger )
{
  object oLastTriggerChannel = dom.GetObject( oLastTrigger.Channel() );
  if( oLastTriggerChannel )
  {
    ChannelName = oLastTriggerChannel.Name();
   
    if (diff < 60){diff = diff # " sek.";}
    else {if(diff > 60){diff = (diff /60) # " min.";}}
    
    alarmnachricht = Alarmmeldung # " " # Counter # "x, für "#diff# " "# Status # " am " # FirstTime.ToString("%d.%m. um %H:%M:%S Uhr") # " bis " # LastTime.ToString("%H:%M:%S Uhr") # " zuletzt durch "#ChannelName;
    
    WriteLine (alarmnachricht);
    
    
  }

}
}else{WriteLine("Keine aktiven Alarme da");}