FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: schlauby am 06 Oktober 2013, 22:02:13

Titel: Alarm wenn Sensor nicht mehr sendet
Beitrag von: schlauby am 06 Oktober 2013, 22:02:13
Hallo zusammen,

Hat jemand eine Idee, wie ich überprüfen kann, ob mein Temperatur Sensor oder Wassermelder noch sendet.
Eine Batterie Überwachung hab ich schon eingefügt.

Der Sensor schreibt einen timestamp in sein Log, aber wie kann ich darauf zugreifen?

Vielen Dank für eure Tips!

HMS100TF und HMS100W
Titel: Aw: Alarm wenn Sensor nicht mehr sendet
Beitrag von: betateilchen am 07 Oktober 2013, 10:42:47
ReadingTimestamp()
Titel: Aw: Alarm wenn Sensor nicht mehr sendet
Beitrag von: UliM am 07 Oktober 2013, 12:30:03
Hi,
in HM gibt's doch die alive-Prüfung - ich weiss, dass mein batterieloser TC als "dead" angezeigt wird.
Ich wiss aber nicht, wie man diese Funktionalität beeinflusst oder (de)aktiviert.
Soll ich den Fred mal in die HomeMatic-Gruppe verschieben?

Wenn's in HM nix gibt, ist watchdog für sowas da, siehe commandref.

=8-)
Titel: Aw: Alarm wenn Sensor nicht mehr sendet
Beitrag von: schlauby am 07 Oktober 2013, 12:58:35
Vielen Dank für die Tips.

Da ich FS20 einsetzen, bringen mir leider Homematic Tips nicht viel.
Mit der Funktion ReadingsTimestamp() komm ich schon näher an mein Ziel.

Ich verwende ein Notify um mich per email zu informieren.

Auszug auf meinem Code:
define testNotify notify ReadingsTimestamp("HMS100TF_9661", "temperature",0)
{
   if("%" eq "2013-10-*")
   {
       DebianMail(......)
   }
}

Kann mir jemand sagen, was ich verkehrt mache? DebianMail funktioniert. Demnach sollte ich jetzt ganz viele emails bekommen. Aber es passiert nix :-(
Titel: Aw: Alarm wenn Sensor nicht mehr sendet
Beitrag von: UliM am 07 Oktober 2013, 13:10:14
Hi,
siehe Einteiger-pdf: Der Operator eq kann keine Mustersuche, sondern prüft auf exakte Gleichheit.
Du musst =~ m// verwenden

define testNotify notify HMS100TF_9661.* { if( ReadingsTimestamp("HMS100TF_9661", "temperature",0) =~ m/2013-10-*/)
  { DebianMail(......) }
}
(ungetestet)

Und nochmals der Hinweis auf watchdog - der ist für genau sowas da.  Im o.g. code prüfst Du auf "2013-10-.*" - das zu verallgemeinern wird ggf krampfig. Bei watchdog kannst Du einfach die 10 Minuten Delay angeben.

=8-)
Titel: Aw: Alarm wenn Sensor nicht mehr sendet
Beitrag von: betateilchen am 07 Oktober 2013, 13:52:35
vor allem frage ich mich, wie die Abfrage funktionieren soll? Einen Timestamp wird es immer geben. Du musst aber prüfen, wie alt der ist, um festzustellen, ob der Sensor noch lebt.
Titel: Aw: Alarm wenn Sensor nicht mehr sendet
Beitrag von: schlauby am 07 Oktober 2013, 14:51:48
@UliM: Vielen Dank. Hat funktionert!!!!
Dann werde ich mich jetzt mal mit "watchdog" beschäftigen...
Titel: Aw: Alarm wenn Sensor nicht mehr sendet
Beitrag von: betateilchen am 07 Oktober 2013, 15:02:33
und was machst Du im November? Jeden Monat das notify umschreiben?
Titel: Aw: Alarm wenn Sensor nicht mehr sendet
Beitrag von: Ralph am 07 Oktober 2013, 17:34:56
Zitat von: schlauby schrieb am So, 06 Oktober 2013 22:02... überprüfen kann, ob mein Temperatur Sensor oder Wassermelder noch sendet.

Auszug aus meiner 99_myUtils.pm# Abgaegige Devices checken
# define Chk at +00:00:05 {dev2chk}
sub dev2chk {
  Log 3, "\n";
  foreach my $dev (devspec2array("room=Check")) {
    my $tlast = ReadingsTimestamp($dev, "state", "-");
    if ($tlast eq "-") {
      $tlast = ReadingsTimestamp($dev, "Window", "1970-01-01 01:00:01");
    }
    my $slast = time_str2num($tlast);
    Log 3, $dev . " " . $tlast . " " . $slast . " " . time();
    if (time() - $slast > 3600) {
      Log 3, "^ " . $dev . " letzte Meldung am " . $tlast;
      if ( Value("A_AlarmMail") ne "AUS") { FB_mail('empfänger@mail.com',"^ " . $dev . " abgaengig","Letzte Meldung am " . $tlast); }
      if ( Value("A_AlarmGong") ne "AUS") { fhem "set GONGen off"; }
    }
  }
  Log 3, "\n";
  fhem "setstate CheckAlive off";
}


Ergebnis:
2013.10.07 10:00:00 3:

2013.10.07 10:00:00 3: Badfenster 2013-10-07 09:56:12 1381132572 1381132800
2013.10.07 10:00:00 3: Buerofenster 2013-10-07 09:57:01 1381132621 1381132800
2013.10.07 10:00:00 3: Flurfenster 2013-10-07 09:57:46 1381132666 1381132800
2013.10.07 10:00:00 3: Hz_Kueche 2013-10-07 09:43:02 1381131782 1381132800
2013.10.07 10:00:00 3: Hz_WoZi 2013-10-07 09:48:06 1381132086 1381132800
2013.10.07 10:00:00 3: Kuechenfenster 2013-10-07 09:57:22 1381132642 1381132800
2013.10.07 10:00:00 3: Kuechentuer 2013-10-07 09:58:23 1381132703 1381132800
2013.10.07 10:00:00 3: TH_Aussen 2013-10-07 09:59:45 1381132785 1381132800
2013.10.07 10:00:00 3: TH_KG_Flur 2013-10-07 09:58:00 1381132680 1381132800
2013.10.07 10:00:00 3: TH_OG_Buero 2013-10-07 09:58:44 1381132724 1381132800
2013.10.07 10:00:00 3: TH_OG_SchlaZi 2013-10-07 09:58:30 1381132710 1381132800
2013.10.07 10:00:00 3: TH_Z_Kuehl 2013-10-07 09:57:46 1381132666 1381132800
2013.10.07 10:00:00 3: Water2beOpen 2013-10-07 09:57:18 1381132638 1381132800
2013.10.07 10:00:00 3:
Titel: Aw: Alarm wenn Sensor nicht mehr sendet
Beitrag von: UliM am 08 Oktober 2013, 08:42:44
Hi,
hier das entspr. Beispiel aus der commandref:

# Shout once if the HMS100-FIT is not alive
define w watchdog HMS100-FIT 01:00:00 SAME "alarm-fit.sh"

statt "alarm-fit.sh aufzurufen, kannst Du zB mit setstate nen Status auf einem Dummy setzen.
=8-)
Titel: Aw: Alarm wenn Sensor nicht mehr sendet
Beitrag von: schlauby am 08 Oktober 2013, 09:10:14
Vielen Dank für die Tips!!!
Prüfe jetzt jeden Tag ob der letzte Timestamp das gleiche Datum hat, wie die Systemzeit.
Und das ganze einmal am Tag :-)
Die Idee von Ralph muss ich noch umsetzten, dann werden nämlich alle devices geprüft -> super Idee

Im Fehlerfall wird jetzt eine mail erzeugt. Die Idee mit dem Dummy gefällt mir auch auch sehr gut!
Da kann man beim Mailversenden sicherstellen, dass es nur eine email gibt.

if(dummy != true && timestampZuAlt)
{
   dann email erzeugen
   dummy = true
}

Also vielen vielen Dank an ALLE!!!!
Titel: Aw: Alarm wenn Sensor nicht mehr sendet
Beitrag von: stromer-12 am 08 Oktober 2013, 18:29:07
Was ist mit dem Modul "DeviceMonitor", das liefert dir ein entsprechendes Event wenn dein Sender nach einer definierten Zeit nichts von sich gibt.
Titel: Aw: Alarm wenn Sensor nicht mehr sendet
Beitrag von: schlauby am 08 Oktober 2013, 18:36:01
Danke für den Tip. Werde es mal testen.
Scheint die Lösung meiner Probleme zu sein :-) ohne Programmieraufwand.
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Gerhard am 15 Oktober 2013, 18:37:37
DeviceMonitor wird hier erwähnt, wo findet man es???

Gerhard
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: justme1968 am 15 Oktober 2013, 18:54:35
findest du in contrib/DeviceMonitor.

gruss
  andre
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Gerhard am 15 Oktober 2013, 20:27:47
danke justme1968,

- nach FHEM copiert, chmod 777
- fhem.cfg: define myDevMod DeviceMonitor

ERROR: Cannot load module DeviceMonitor  ???

was muß ich machen?

Gerhard
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Gerhard am 15 Oktober 2013, 20:41:28
sorry, Inhalt des Moduls war nicht korrekt!!, jetzt gehts.

wie benutze ich myDevMon weiter, finde keine Doku oder Einleitung?

Gruß, Gerhard
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: justme1968 am 15 Oktober 2013, 21:45:42
du setzt bei jedem device das du überwachen willst das attribut device_timeout. wenn sich ein device länger als diesen timeout nicht gemeldet hat erscheint es als dead. da kannst du dann ein notify dran hängen.

das modul kann noch ein paar sachen mehr. dafür musst du aber in den quelltext schauen. ich glaube es gibt hier auch irgendwo einen thread dazu.

gruss
  andre
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Gerhard am 15 Oktober 2013, 21:53:52
danke, genau das habe ich gemacht, in source nachgeschaut und bereits meine ersten 6 sensoren werden überwacht.

ich finde das Modul hat Potenzial.

Gruß, Gerhard
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Frank S. am 17 Oktober 2013, 17:43:47
Moin.

Danke für die vielen Infos. Wo kann man die Datei aber finden? Ich würde es gerne nutzen, habe bisher die Datei (Modul) in der FHEM-Installation nichts gefunden.

Schöne Grüße
Frank S.
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: justme1968 am 17 Oktober 2013, 17:58:29
6 beiträge oben drüber: http://forum.fhem.de/index.php/topic,15173.msg100107.html#msg100107 (http://forum.fhem.de/index.php/topic,15173.msg100107.html#msg100107)

gruss
  andre
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Gerhard am 17 Oktober 2013, 18:00:59
und konkret hier

http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/DeviceMonitor/

Gerhard
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Frank S. am 17 Oktober 2013, 20:07:57
Moin.

Danke für den Hinweis. Bei Sourceforge hätte ich nun nicht gesucht.

Ich habe nun ein Problem.

Bei einer Funksteckdose (HM-LC-SW1-PL) und einem Bewegungsmelder (HM-SEN-MDIR-SM) funktioniert es ohne Fehlermeldung. Bei meinen Temperatursensor(HM-WDS10-TH-O) und Wetterstation (HM-WDS100-C6-O) bekomme ich eine Fehlermeldung "Temperatursender: unknown attribute device_timeout"

Das Attribut habe ich wie folgt definiert:

attr Temperatursender device_timeout 10

Gibt es bei den beiden letzten Sendoren etwas zu beachten?

Schöne Grüße
Frank
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: cerberus am 22 August 2014, 17:47:29
Hallo, ich habe nach einer Möglichkeit gesucht für FS20 und ASH Komponenten eine Art action detector (wie bei HM) zu definieren um so Devices zu überwachen die keinen Batteriestatus übertragen. Ich bin dann hier im Forum auf den DeviceMonitor gestoßen. Leider findet man nur wenig Dokumentation zu diesem Modul, da es wohl aktuell nicht weiter entwickelt wird, was ich schade finde. Ich konnte auch schon des Monitor definieren und ein Device damit überwachen. Frage ist wie ich den Status des Monitors anzeigen lassen kann, aktuell sehe ich noch folgendes (siehe Bild) obwohl der Status des device ENABLED ist

Gruß
cerberus



Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: justme1968 am 22 August 2014, 18:12:17
da steht das es zur zeit kein device gibt das sich nicht meldet. also alles ok.

gruss
  andre
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: cerberus am 22 August 2014, 20:15:20
Danke justme1968, aber wie bekomme ich den Status angezeigt. Mit devStateIcon bekomme ich es nicht hin.
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: justme1968 am 22 August 2014, 20:27:23
der text ist der status. devStateIcon oder ähnliches geht nicht out of the box wenn ich mich richtig erinnere.
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: cerberus am 22 August 2014, 21:52:22
Danke justme1968 für die Info. Weißt du ob noch jemand das Modul weiter entwickelt? Könnte mir vorstellen das als Status so etwas wie beim action detector ausgegeben wird (alive:6 dead:0 unkn:0 off:0).

Gruß
cerberus
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: justme1968 am 22 August 2014, 22:23:10
ich kann gerade nicht nachschauen. wenn es readings in dieser art gibt kannst du eventuell stateFormat dazu verwenden.

ich wollte eigentlich schon vor einer weile einen patch dafür bauen.

gruss
  andre
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: justme1968 am 23 August 2014, 14:45:03
noch eine idee:

wenn dir icons reichen nimm eine reading group und lass dort über valueFormat und valueIcon für alle readings mit dem wert alive nichts anzeigen und für alle anderen ein fehler icon.

gruss
  andre
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Klinki am 06 Dezember 2014, 17:32:32
Hi,

Ich versuche gerade das Modul zu installieren:
- Heruntergeladen

wget https://raw.githubusercontent.com/mhop/fhem-mirror/master/fhem/contrib/DeviceMonitor/98_DeviceMonitor.pm

- Device in fhem.cfg eingerichtet. Nach dem Neustart kann ich auch drauf zugreifen
- Dann den zu überwachenden Geräten das Attribut zugeordnet

attr FHT_2814 device_timeout 1


bekomme aber immer die Fehlermeldung

FHT_2814: unknown attribute device_timeout.


was mache ich denn da falsch??

VG & schönes Wochenende
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: claas am 16 Dezember 2014, 17:54:18
Hallo zusammen,

ich glaube ich bin zu blöd.
Ich habe das "Device" "myDevMon" eingerichtet.
Das hat ein Reading "Temperatur.Wohnzimmer" "dead"

Wie muss nun das notify aussehen?

myDevMon:Temperatur.Wohnzimmer:dead "/usr/local/sendemail/sendemail.sh" versendet kein Mail.

Wenn ich das Skript per Terminal aufrufe kommt ein Mail. Das Skript geht also.
Daher muss es wohl daran liegen, dass ich die notify-Syntax nicht kapiere.

Ich bin für jeden Hinweis dankbar.

Viele Grüsse

Claas
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Klinki am 19 Dezember 2014, 07:39:29
Hi Claas,

Blödheit ist immer relativ  ;)
Ich hatte/habe auch manchmal echte Probleme mit notify.
Aktuell nutze ich für den DeviceMonitor ein:

define monitor notify .*health_state:.*dead.* { { DebianMail('MEINE@@ADRESSE.DE','FHEM Geraet tot','@ %') ;; DebianMail('MEINEADRESSE@@api.pushover.net','Geraet tot','@ %') ;; } }


Es schickt mir eine "normale" und eine Pushover-Nachricht, wenn ein Gerät gestorben ist.
Radikal, einfach, nervig und für die erste Testphase genau das Richtige  8)

Dennis hatte auch noch ein paar Tipps. Les Dir mal:
https://groups.google.com/forum/#!topic/fhem-users/A4dgFwZdtOs (https://groups.google.com/forum/#!topic/fhem-users/A4dgFwZdtOs) durch.

viel erfolg

PS: Das DebianMail setze ich auf einem Raspi ein. Bei Dir heißt der Mailer möglicherweise anders. Je nach Plattform...
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Klinki am 19 Dezember 2014, 08:37:40
die genannte Lösung wird problematisch, da mein nur einen Status-Update bekommt, wenn ein dead-Event eintritt. Zusätzlich zu dem Event, lasse ich mir jetzt täglich um 12:01 einen Überblick über alle toten Geräte schicken. Aber nur, wenn es auch Tote gibt.


## Alle Geraete Monitor
define monitor notify .*health_state:.*dead.* { { DebianMail('ICH@@MEINEDOMAIN.DE','FHEM Geraet tot','@ %') ;; DebianMail('ICH@@api.pushover.net','Geraet tot', fhem("get MyDeviceMonitor dead_text",1) ) ;; } }

define CheckDevices2 at *12:01:00 { if (fhem("get MyDeviceMonitor dead_count",1) > 0) { DebianMail('ICH@MEINEDOMAIN.DE','FHEM Geraet tot','@ %') ;; DebianMail('ICH@api.pushover.net','Geraet tot', fhem("get MyDeviceMonitor dead_text",1) ) ;; } }


Als Vorlage diente auch hier der Beitrag von Dennis.
Man beachte hier die unterschiedliche Anzahl der @-Zeichen

Viel Spaß!
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: claas am 19 Dezember 2014, 19:15:52
Hallo Klinki,

vielen Dank :-)

Wenn ich HEALTH_STATE anstatt health_state schreibe klappt's.

Sieht bei mir jetzt so aus


define WZtot notify .*HEALTH_STATE:.*dead.*  "/usr/local/sendemail/sendemail.sh"


FHEM läuft auf einer Synology NAS. Das Mail-Skript ist Perl.
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Von-XS1-Nach-FHEM am 13 Februar 2015, 21:19:21
Hallo ich habe das gleiche problem als "klinki"

:

ZitatAntw:Alarm wenn Sensor nicht mehr sendet
« Antwort #30 am: 06 Dezember 2014, 17:32:32 »
Zitat
Hi,

Ich versuche gerade das Modul zu installieren:
- Heruntergeladen
Code: [Auswählen]
wget https://raw.githubusercontent.com/mhop/fhem-mirror/master/fhem/contrib/DeviceMonitor/98_DeviceMonitor.pm
- Device in fhem.cfg eingerichtet. Nach dem Neustart kann ich auch drauf zugreifen
- Dann den zu überwachenden Geräten das Attribut zugeordnet
Code: [Auswählen]
attr FHT_2814 device_timeout 1

bekomme aber immer die Fehlermeldung
Code: [Auswählen]
FHT_2814: unknown attribute device_timeout.

Da ich leider die lösung nicht finde die gleiche Frage, was mache ich denn da falsch??
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Noname am 14 Februar 2015, 17:52:44
Hallo,

ich überwache auch meine Sensoren. Die Beispiele waren mir alle zu aufwendig.

Ich hab in 99_myUtiils.pm folgende Funktion erstellt:
Einfach reinkopieren:

# Device Timeoutueberwachung ################################################
sub myTimeout($$$$) {
my ($Tdevice, $Twarning, $Terror, $Tdummy) = @_;
my $Tdev1 =  (time - time_str2num(ReadingsTimestamp($Tdevice,"state",0))) / 60;
my $Tdev2 =  Value($Tdummy);

if ($Tdev1 < $Twarning && $Tdev2 ne "ok") {fhem "set ".$Tdummy." ok"};
if ($Tdev1 >= $Twarning && $Tdev1 < $Terror && $Tdev2 ne "timeout") {fhem "set ".$Tdummy." timeout"};
if ($Tdev1 >= $Terror && $Tdev2 ne "error") {fhem "set ".$Tdummy." error"};
}


In der fhem.cfg dann die zu überwachenden Sensoren eintragen.
Alle Sensoren werden alle 60 Sekunden überprüft ob diese noch senden.
Bei mir wird nach 16 Minuten der dementsprechende Dummy auf warning
gesetzt und nach 180 Minuten auf error. Im Floorplan blinkt die Meldung
bei warning orange und bei error rot. (hab dazu einfach gifs erstellt.)

So siehts bei mir aus:

#Timeoutueberwachung
define DevTimeout at +*00:01:00 {\
myTimeout("FS20_Meldung_UV", 16, 180, "FS20_Meldung_UV_Timeout");;\
myTimeout("FS20_Meldung_DP", 16, 180, "FS20_Meldung_DP_Timeout");;\
myTimeout("KS300_Wetter", 16, 180, "KS300_Timeout");;\
myTimeout("RE_Niv", 16, 180, "RE_Timeout");;\
myTimeout("Temp_Wohnen", 16, 180, "Temp_Wohnen_Timeout");;\
myTimeout("Temp_Buero", 16, 180, "Temp_Buero_Timeout");;\
myTimeout("Temp_Schlafen", 16, 180, "Temp_Schlafen_Timeout");;\
myTimeout("Temp_Dachboden", 16, 180, "Temp_Dachboden_Timeout");;\
myTimeout("Temp_Gefrierschrank", 16, 180, "Temp_Gefrierschrank_Timeout");;\
myTimeout("Temp_Keller", 16, 180, "Temp_Keller_Timeout");;\
myTimeout("Temp_Treppenhaus", 16, 180, "Temp_Treppenhaus_Timeout");;\
myTimeout("Temp_Trockenraum", 16, 180, "Temp_Trockenraum_Timeout");;\
myTimeout("Wasser_Waschraum", 65, 180, "Wasser_Waschraum_Timeout");;\
myTimeout("Wasser_Kueche", 65, 180, "Wasser_Kueche_Timeout");;\
}
attr DevTimeout room Alarm


Beispiel für ein HMS100TF, wichtig ist hier nur der Dummy --> Temp_Wohnen_Timeout :

# HMS100TF Wohnen ##############################################################
define Temp_Wohnen HMS f66d
attr Temp_Wohnen IODev CUL
attr Temp_Wohnen fp_01_Wohnen 314,494,4,,
attr Temp_Wohnen room Wohnen

define FileLog_Temp_Wohnen FileLog ./log/Temp_Wohnen_%Y.log Temp_Wohnen:T:.*
attr FileLog_Temp_Wohnen logtype HMS100TF:Plot,text
attr FileLog_Temp_Wohnen room Wohnen

define Plot_Temp_Wohnen SVG FileLog_Temp_Wohnen:HMS100TF:CURRENT
attr Plot_Temp_Wohnen fp_Plot_Wohnen 40,190,0,
attr Plot_Temp_Wohnen label "Wohnen  - Min $data{min1} (°C) - Max $data{max1} (°C) - Max $data{max2} (%)"
attr Plot_Temp_Wohnen room Wohnen

# Kommunikationsüberwachung HMS100T Wohnen
define Temp_Wohnen_Timeout dummy
attr Temp_Wohnen_Timeout fp_01_Wohnen 304,476,0,Wohnen,
attr Temp_Wohnen_Timeout room Wohnen

#Kommunikationsueberwachung
define Temp_Wohnen_Timeout_N notify Temp_Wohnen_Timeout {\
Alarm("Temp_Wohnen_Timeout", 'timeout', 0, 0, "", "");;\
Alarm("Temp_Wohnen_Timeout", 'error', 19, 1, "Alarme_State", "Alarm_History");;\
}
attr Temp_Wohnen_Timeout_N room Wohnen

##############################################################################
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Von-XS1-Nach-FHEM am 14 Februar 2015, 19:29:51
Wow das hast du super gemacht, ich denke da werden Sich einige freuen wenn die das auch lesen.

Danke das du das mit uns geteilt hast@!

Ich verstehe noch nicht alles wie das schritt für schritt geht wenn ich eine Aktor überprüfen woll.

Aber werde das nochmal gut bestudieren und wenn ich nicht weiter komme dich nochmal Fragen hier im Beitrag.

Die .gif Dateien sind auch Super!

Danke Danke! :) :) :) :)

Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Von-XS1-Nach-FHEM am 16 Februar 2015, 18:31:03
Also das Hat geklappt wirklich einte Tolle Sache! Habe jetzt auch ein 3D Floorplan und das Sieht einfach toll aus!

:) :) :) :) :) :) :) :)

Als nochmals herzlichen dank!
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Noname am 16 Februar 2015, 19:12:38
schön das es bei dir auch geklappt hat,
dann noch viel Spaß damit.

Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Von-XS1-Nach-FHEM am 17 Februar 2015, 19:18:45
Nochmal eben eine Frage wegen denn Programm.

Im Log Datei sehe ich von jeder Sensor ab und an folgende Meldung:

Undefined subroutine &main::Alarm called at (eval 782) line 2

Was konnte das sein?
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Noname am 17 Februar 2015, 20:01:34
Hallo,
das Alarmmodul dient bei mir als Emailversand und Alarmarchivierung,
das Modul darfst du bei dir "nicht" aufrufen! (siehe unten ist durchgestrichen)


Beispiel für ein HMS100TF, wichtig ist hier nur der Dummy --> Temp_Wohnen_Timeout :

# HMS100TF Wohnen ##############################################################
define Temp_Wohnen HMS f66d
attr Temp_Wohnen IODev CUL
attr Temp_Wohnen fp_01_Wohnen 314,494,4,,
attr Temp_Wohnen room Wohnen

define FileLog_Temp_Wohnen FileLog ./log/Temp_Wohnen_%Y.log Temp_Wohnen:T:.*
attr FileLog_Temp_Wohnen logtype HMS100TF:Plot,text
attr FileLog_Temp_Wohnen room Wohnen

define Plot_Temp_Wohnen SVG FileLog_Temp_Wohnen:HMS100TF:CURRENT
attr Plot_Temp_Wohnen fp_Plot_Wohnen 40,190,0,
attr Plot_Temp_Wohnen label "Wohnen  - Min $data{min1} (°C) - Max $data{max1} (°C) - Max $data{max2} (%)"
attr Plot_Temp_Wohnen room Wohnen

# Kommunikationsüberwachung HMS100T Wohnen
define Temp_Wohnen_Timeout dummy
attr Temp_Wohnen_Timeout fp_01_Wohnen 304,476,0,Wohnen,
attr Temp_Wohnen_Timeout room Wohnen

#Kommunikationsueberwachung
define Temp_Wohnen_Timeout_N notify Temp_Wohnen_Timeout {\
Alarm("Temp_Wohnen_Timeout", 'timeout', 0, 0, "", "");;\
Alarm("Temp_Wohnen_Timeout", 'error', 19, 1, "Alarme_State", "Alarm_History");;\
}
attr Temp_Wohnen_Timeout_N room Wohnen

##############################################################################

Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Von-XS1-Nach-FHEM am 17 Februar 2015, 20:30:46
OK danke habe die Code noch nicht so gut überprüft und verstanden aber jetzt sehe ich es@!

Und welche Code brauche ich noch dazu damit ich auch eine Email und ein Alarmarchivierung bekomme??

Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Noname am 19 Februar 2015, 18:18:41
Hi Wouter-h,
der Code für die Alarmfunktionen funktioniert nur für die Fritzbox (7490)
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: flurin am 21 Februar 2015, 17:45:11
Hallo

Gute Idee mit der myTimeout Funktion!

Als Alternative hier eine Lösung mit DOIF:

define di_garden_door_alive DOIF ([garden_door] or [global:?INITIALIZED])\
({log_alive("garden_door")}, trigger garden_door failure)
attr di_garden_door_alive do resetwait
attr di_garden_door_alive group DOIF
attr di_garden_door_alive wait 180


Der Code:
{log_alive("garden_door")}

kann mit einem beliebigen Befehl ersetzt werden.

Der Graph (Plot) zu "garden_door" sieht dann so aus:

(http://forum.fhem.de/index.php?action=dlattach;topic=15173.0;attach=28028;image)

Die dazugehörige Plot-Datei:

# Created by FHEM/98_SVG.pm, 2015-02-21 16:58:54
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<TL>'
set ytics ("open" 1, "closed" 0.2, failure -0.1)
set y2tics ("open" 1, "closed" 0.2, failure -0.1)
set grid y2tics
set ylabel ""
set y2label "Status"
set yrange [-0.2:1.2]
set y2range [-0.2:1.2]

#FileLog_garden_door 3:garden_door.*:0:$fld[2]=~"open"?1:$fld[2]=~"closed"?0.2:-0.1

plot "<IN>" using 1:2 axes x1y2 notitle ls l0 lw 1 with steps


Gruss
flurin
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Tom111 am 19 Juli 2015, 14:38:03
Hallo,

ich wollte mich hiermit bei Noname bedanken, mit seinem Beispiel habe ich mir endlich eine Überwachung für meine FHT-. und HMS-Geräte
fertigstellen können. Noname hat zwar nicht viel geschrieben, nur ein vollständiges Code-Beispiel, aber das ist auch in 90% der Fälle vollkommen ausreichend.

35 Antworten, haben nichts gebracht, nur noch mehr Unverständnis.  :o

Es wird immer wieder darauf hingewiesen, dass einfach nur Beispiele fehlen, auch in der commandref die für Anfänger wohl der reinste Horror ist
fehlen zum größten Teil einfach nur Beispielscripte wie es z.B. in der fhem.cfg auszusehen hat.

Jeder könnte sich sehr viel Zeit sparen wenn er einfach nur mal copy and paste verwenden würde!

Nicht umsonst heißt es ,,Ein Bild sagt mehr als tausend Worte" !!  ;)

Danke nochmal an Noname!

Gruß
Tom
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Noname am 23 Juli 2015, 20:34:38
Hi Tom111,

nichts zu Danken freut mich das ich dir
und vielleicht auch andere ein wenig helfen konnte.
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: brusca am 29 März 2017, 11:28:19
Zitat von: flurin am 21 Februar 2015, 17:45:11

Als Alternative hier eine Lösung mit DOIF:

define di_garden_door_alive DOIF ([garden_door] or [global:?INITIALIZED])\
({log_alive("garden_door")}, trigger garden_door failure)
attr di_garden_door_alive do resetwait
attr di_garden_door_alive group DOIF
attr di_garden_door_alive wait 180


Der Code:
{log_alive("garden_door")}

kann mit einem beliebigen Befehl ersetzt werden.


vielen Dank super
ich habe noch folgendes eingefügt:
({ system ("curl -X POST -H 'Authorization: Bearer xxxxxxxxxxxxxxxxxx' -F 'message=Sensor 1 failed' https://notify-api.line.me/api/notify")}, trigger AliveSt1Mod1 failure)
das sendet mir "Sensor 1 failed" an Line (Android App) auf das Handy.
Nun möchte ich, dass diese Meldung noch 3 mal gesendet wird jede Minute.
Kann mir da einer weiter helfen?
Titel: Antw:Alarm wenn Sensor nicht mehr sendet
Beitrag von: Damian am 29 März 2017, 16:16:38
Zitat von: brusca am 29 März 2017, 11:28:19
vielen Dank super
ich habe noch folgendes eingefügt:
({ system ("curl -X POST -H 'Authorization: Bearer xxxxxxxxxxxxxxxxxx' -F 'message=Sensor 1 failed' https://notify-api.line.me/api/notify")}, trigger AliveSt1Mod1 failure)
das sendet mir "Sensor 1 failed" an Line (Android App) auf das Handy.
Nun möchte ich, dass diese Meldung noch 3 mal gesendet wird jede Minute.
Kann mir da einer weiter helfen?
https://fhem.de/commandref_DE.html#DOIF_repeatcmd