Howto: Mit FHEM Push-Nachrichten aufs iPhone schicken (Update)

Loxone im Einsatz? Dann schau dir unseren LoxKurs an und profitiere von unserem Wissen!

Vor einigen Tagen hatte ich in diesem Post ein Howto ver√∂ffentlicht, das zeigt, wie man per FHEM und Prowl-App Pushnachrichten auf das iPhone schickt. Einen noch einfacheren und meiner Meinung nach eleganteren Weg bietet die App Pushover, welche nicht nur f√ľr iOS-, sondern auch f√ľr Android-Endger√§te verf√ľgbar ist. Einfacher deswegen, weil keinerlei erweiterte Anpassung in der FHEM-Config notwendig ist und ausschlie√ülich die gew√ľnschten Pushbenachrichtigungen als Befehl in der fhem.cfg selbst hinterlegt werden m√ľssen. Eleganter auch deswegen, weil man durch diese M√∂glichkeit obendrein jeden gew√ľnschten Variablenwert (z.B. ausgelesene Temperatur) mit in die Pushnachricht packen kann. Wie das funktioniert, wird nachfolgend an einigen Beispielen erkl√§rt.

Trigger f√ľr die Pushmitteilung

Als Ausl√∂ser f√ľr die sp√§tere Pushmitteilung wurde ein sicherheitsorientiertes Szenario gew√§hlt, welches ich seit Kurzem selbst im Einsatz habe. Dabei √ľberwacht der FHEM-Server auf Basis eines Raspberry Pi per Bluetooth-Dongle im Rahmen einer Anwesenheitserkennung, ob sich mindestens eines im Haushalt genutzten iPhones in Reichweite befindet. √Ėffnet sich die Wohnungst√ľr, welche mit dem Sensor¬†HomeMatic HM-Sec-Sc Funk-T√ľr-/Fensterkontakt (Affiliate-Link) ausgestattet ist, und keines der definierten iPhones ist in Reichweite, sendet FHEM sofort per Pushmitteilung einen Warnhinweis, dass eine unautorisierte T√ľr√∂ffnung stattfand. Aus Komplexit√§tsgr√ľnden wird in nachfolgendem Beispiel die Erkennung von nur einem Bluetooth-Ger√§t erl√§utert.

Anwesenheitserkennung per Bluetooth einrichten

Das hier gew√§hlte Beispiel setzt einen vorkonfigurierten FHEM-Server (FHEM-Server auf dem Raspberry Pi in einer Stunde einrichten) sowie einen damit gekoppelten HMLan-Adapter (Affiliate-Link) (HMLan-Adapter am FHEM-Server einrichten) voraus. Weiterhin wird ein handels√ľblicher Bluetooth-Dongle ben√∂tigt. Ich selbst nutze den CSL – USB micro Bluetooth-Adapter V4.0 (Affiliate-Link) (Abbildung links), welcher schon seit L√§ngerem ohne Probleme seine Arbeit am RPI verrichtet. Er zeichnet sich durch eine hohe Reichweite (bis 100 Meter) aus, so dass bei mittiger Positionierung die Anwesenheitserkennung in der gesamten Wohnung auch durch W√§nde funktionieren sollte. (Anmerkung: Anscheinend hat sich das Layout des Sticks in den letzten Monaten ge√§ndert, da die aktuelle Version jetzt anders aussieht.)

Um den Bluetooth-Stick in FHEM nutzen zu k√∂nnen, m√ľssen vorab einige Treiber per Terminalbefehl installiert werden (die IP muss nat√ľrlich jeder selbst anpassen):

ssh pi@192.168.177.56

Ist man eingeloggt, werden mit nachfolgendem Befehl die relevanten Treiber heruntergeladen und installiert:

sudo apt-get update && sudo apt-get upgrade && sudo apt-get install bluetooth bluez-utils blueman -y && sudo reboot

B00DOQJTF4
Nachdem der RPI die Paketquellen aktualisiert, Updates eingespielt, die Treiber installiert und schließlich neugestartet hat, ist der per USB angeschlossene Bluetooth-Stick betriebsbereit (weitere Informationen zum Test des Sticks gibt es z.B. unter modmypi.com).

Die fhem.cfg kann nun mit den Befehlen best√ľckt werden, welche die Anwesenheitserkennung √ľber das PRESENCE-Modul erm√∂glichen (weitere Informationen zur Anwesenheitserkennung gibt es im FHEMWiki).

Das Zeichen # am Zeilenanfang bedeutet √ľbrigens, dass diese Zeile auskommentiert ist und damit von FHEM ignoriert wird.

#Bluetooth-Anwesenheit
define HA.JayBluetooth PRESENCE local-bluetooth 28:E1:4C:91:AA:D5 10 60

Die individuelle Bluetooth-Adresse des jeweiligen Smartphones (im obigen Beispiel 28:E1:4C:91:AA:D5) findet sich in den Geräteeinstellungen. Beim iPhone ist die Bluetooth-Seriennummer unter Einstellungen -> Allgemein -> Info -> Bluetooth zu finden (siehe Bild links). Damit die Anwensenheitserkennung ordnungsgemäß auch dann funktioniert, wenn sich das iPhone im Standby befindet, muss das iPhone selbst mit mindestens einem Bluetooth-Gerät gekoppelt worden sein. Sofern noch nicht geschehen, das iPhone einfach per Bluetooth z.B. mit einem MacBook koppeln, damit mindestens ein Eintrag am iPhone unter Einstellungen -> Bluetooth -> Geräte zu finden ist. Dann bleibt die Bluetooth-Funktion am iPhone auch im Standby permanent aktiviert, was den Akku nicht merkbar belastet. Ob ein entsprechendes Koppeln auch bei Android-Devices notwendig ist, kann ich leider nicht sagen. Schaden kann es jedenfalls nichts.

Nach der Seriennummer werden beim PRESENCE-Befehl noch zwei Zahlen (oben 10 60) eingetragen. Die erste Zahl (10) bedeutet, dass alle 10 Sekunden nach dem Ger√§t gesucht wird (ein Pingtest durchgef√ľhrt wird), sofern es abwesend ist. Die zweite Zahl (60) bedeutet, dass alle 60 Sekunden nach dem Ger√§t gesucht wird, sofern es anwesend ist. Hier kann man etwas mit den Werten spielen, obige Einstellungen funktionieren jedenfalls bei mir problemlos. (Anmerkung: Bei Werten um 1 Sekunde und der Nutzung mehrerer Ger√§te kann es leicht zu Ping-Problemen kommen und der Akku des angepingten Ger√§tes wird nat√ľrlich auch st√§rker belastet.)

Kommt das iPhone in Reichweite, bekommt das Device HA.JayBluetooth in FHEM den Status „present“, ist es nicht mehr in Reichweite, bekommt es den Status „absent“ zugewiesen. Damit die Erkennung valide bleibt, sobald einmal ein Ping-Versuch fehlschl√§gt, obwohl das Ger√§t eigentlich noch anwesend ist, wird noch ein Dummy und ein watchdog verwendet:

#HA.Jay definieren
define HA.Jay dummy
attr HA.Jay eventMap 1
attr HA.Jay room Haus
define FileLog_HA.Jay FileLog ./log/HA.Jay-%Y-%m.log HA.Jay
attr FileLog_HA.Jay logtype text

#HA.Jay auf on setzen bei Anwesenheit
define HAJayOn notify HA.JayBluetooth:present { fhem („set HA.Jay on setstate¬†watchdogHAJayBluetoothAbwesend defined“) if (Value(„HA.Jay“) ne „on“) }

#HA.Jay auf off setzen nach 3 Min Abwesenheit
define watchdogHAJayBluetoothAbwesend watchdog HA.JayBluetooth:absent 00:03 HA.JayBluetooth:present set HA.Jay off
attr watchdogHAJayBluetoothAbwesend regexp1WontReactivate 1
attr watchdogHAJayBluetoothAbwesend room Haus

Damit wird sichergestellt, dass der Dummy HA.Jay erst nach 3 Minuten auf „off“ gesetzt wird, sofern bis dahin kein Lebenszeichen mehr vom Bluetooth-Ger√§t ankommt. Die Anwesenheitserkennung sollte nach dem Abspeichern durch „Save fhem.cfg“ bereits funktionieren.

Push-Service (Pushover) einrichten

Auf der Seite von Pushover kann ein neuer Account erstellt werden. Neben der Angabe der eigenen Email-Adresse wird noch ein Passwort ben√∂tigt. Daraufhin erh√§lt man einen Best√§tigungslink per Email gesendet, mit welchem man seine Daten verifiziert. Im Browser sieht man nun unter „Your User Key“ den pers√∂nlichen Schl√ľssel, welcher sp√§ter ben√∂tigt wird. Unter Your Applications kann nur mit Create eine neue „Anwendung“ erstellt werden. Wichtig ist nur Name (hier: Wuerzburgbude), Type (z.B. Plugin) und evtl. noch ein Icon, welches sp√§ter auch in der App angezeigt wird. Nach einem Klick auf „Create Application“ kann der „API Token/Key“ der eben erstellten Anwendung eingesehen werden (Bild links). Dieser wird sp√§ter ebenfalls ben√∂tigt.

Jetzt ben√∂tigt man noch die kostenpflichtige Pushover-App f√ľr iPhone bzw. die Pushover-App f√ľr Android.

[app 506088175]

Ist diese installiert und hat man sich in der App eingeloggt, kann es in FHEM weitergehen.

FHEM-Config mit Push-Benachrichtigungen f√ľttern

Die Push-Benachrichtigung wird durch die Status√§nderung des Dummies FL.UnautorisierteTueroeffnung getriggert, welche dann die entsprechende Nachricht ausl√∂st. Die Status√§nderung des Dummies selbst wird durch den HomeMatic HM-Sec-Sc Funk-T√ľr-/Fensterkontakt (Affiliate-Link) namens FL.Tuerkontakt eingeleitet.

#FL.UnautorisierteTueroeffnung definieren
define FL.UnautorisierteTueroeffnung dummy
attr FL.UnautorisierteTueroeffnung room Haus

#FL.UnautorisierteTueroeffnung definieren
define FLUnautorisierteTueroeffnungAn notify FL.Tuerkontakt:open.* { fhem („set FL.UnautorisierteTueroeffnung on“) if (Value(„HA.Jay“) eq „off“)}
define FLUnautorisierteTueroeffnungAus notify FL.Tuerkontakt:open.* { fhem („set¬†FL.UnautorisierteTueroeffnung off“) if (Value(„HA.Jay“) eq „on“)}

#Pushover Notification bei unautorisierter T√ľr√∂ffnung
define FLUnautorisierteTueroeffnungPushover notify FL.UnautorisierteTueroeffnung:on { system („curl -s -F ‚token=am4uA61Gx2Jw9GA24rePRyMJw8B3hz‚ -F ‚user=u4zDygNRGFbQUSmcxXj6fGsWJl9d93‚ -F ‚message=FlurnUnautorisierte T√ľr√∂ffnung‘ https://api.pushover.net/1/messages.json“)}

Token am4uA61Gx2Jw9GA24rePRyMJw8B3hz sowie User u4zDygNRGFbQUSmcxXj6fGsWJl9d93 m√ľssen nat√ľrlich noch mit den eigenen Daten, die man vorher auf der Pushover-Seite notiert hatte, ausgetauscht werden. Testen kann man die Pushover-Notification z.B. direkt im Weboberfl√§che des FHEM-Servers √ľber den Kommandozeilenbefehl:

set FL.UnautorisierteTueroeffnung on

Daraufhin sollte in sekundenschnelle die entsprechende Pushbenachrichtigung auf dem Smartphone auftauchen.

Aus meinem täglichen Leben

Der Pushover-Dienst hat mich echt √ľberzeugt und konnte Prowl als Push-App-Dienst verdr√§ngen. Pushover bietet dabei einige Vorteile, wie z.B. eine Kategorisierung der verschiedenen eigenen „Applications“ in der App, was f√ľr √úbersichtlichkeit sorgt. Auch lassen sich so – wie oben bereits erw√§hnt – ausgelesene FHEM-Werte als Variablen in die Pushmitteilungen packen.

So l√§sst sich z.B. eine LowBattery-Pushmeldung ans iPhone schicken, sobald einem batteriebetriebenen Homematic-Ger√§t die Puste ausgeht. Der folgende Code kann ohne √Ąnderungen in die fhem.cfg kopiert werden, nur Token und User m√ľssen nat√ľrlich noch angepasst werden:

#Pushover-Batteriewarnung
define BatteriewarnungNotify notify .*:[Bb]attery:.* { if(„%“ !~ m/ok/) { system („curl -s -F ‚token=am4uA61Gx2Jw9GA24rePRyMJw8B3hz‚ -F ‚user=u4zDygNRGFbQUSmcxXj6fGsWJl9d93‚ -F ‚message=Batteriewarnungn@ %‘ https://api.pushover.net/1/messages.json“)}}

Als weiteres Beispiel hier noch eine tägliche Benachrichtigung um 07:30 Uhr mit der aktuellen Temperatur und Luftfeuchtigkeit, welche aus dem Homematic Temperatur-/Feuchtesensor EQ3 76923 (Affiliate-Link) namens TE.Temperatur ausgelesen wird:

define AussentempPushover at *07:30:00 {my $TETemperatur = ReadingsVal(„TE.Temperatur“,“temperature“, „“) my $TEHumidity = ReadingsVal(„TE.Temperatur“,“humidity“, „“) system („curl -s -F ‚token=am4uA61Gx2Jw9GA24rePRyMJw8B3hz‚ -F ‚user=u4zDygNRGFbQUSmcxXj6fGsWJl9d93‚ -F ‚message=TerrassenTemperatur $TETemperatur¬įCnLuftfeuchte $TEHumidity%‘ https://api.pushover.net/1/messages.json“)}

Und hier noch ein Beispiel f√ľr eine K√§ltewarnung, sobald bestimmte Temperaturwerte unter- bzw. √ľberschritten werden:

#TE.TempIndicator definieren
define TE.TempIndicator dummy
attr TE.TempIndicator event-on-change-reading state
attr TE.TempIndicator room Terrasse

#TE.TempIndicator Wertzuweisung
define TETempIndicatorToFreezing notify TE.Temperatur:temperature.* {fhem(„set TE.TempIndicator freezing“) if (ReadingsVal(„TE.Temperatur“,“temperature“,““) < 0)}
define TETempIndicatorToCold notify TE.Temperatur:temperature.* {fhem(„set TE.TempIndicator cold“) if ((ReadingsVal(„TE.Temperatur“,“temperature“,““) < 3) && (ReadingsVal(„TE.Temperatur“,“temperature“,““) >= 0))}
define TETempIndicatorToNormal notify TE.Temperatur:temperature.* {fhem(„set TE.TempIndicator normal“) if (ReadingsVal(„TE.Temperatur“,“temperature“,““) >= 4)}

#Pushover-Notify f√ľr K√§ltewarnung durch TE.TempIndicator
define TETempIndicatorToFreezingPushover notify TE.TempIndicator:freezing { system („curl -s -F¬†‚token=am4uA61Gx2Jw9GA24rePRyMJw8B3hz‚ -F ‚user=u4zDygNRGFbQUSmcxXj6fGsWJl9d93‚ -F ‚message=TerrassenEs ist k√§lter als 0 ¬įCnAchtung erh√∂hte Gl√§ttegefahr‘ https://api.pushover.net/1/messages.json“)}
define TETempIndicatorToColdPushover notify TE.TempIndicator:cold { system („curl -s -F¬†‚token=am4uA61Gx2Jw9GA24rePRyMJw8B3hz‚ -F ‚user=u4zDygNRGFbQUSmcxXj6fGsWJl9d93‚ -F ‚message=TerrassenEs ist k√§lter als 3 ¬įCnAchtung Gl√§ttegefahr‘ https://api.pushover.net/1/messages.json“)}
define TETempIndicatorToNormalPushover notify TE.TempIndicator:normal { system („curl -s -F¬†‚token=am4uA61Gx2Jw9GA24rePRyMJw8B3hz‚ -F ‚user=u4zDygNRGFbQUSmcxXj6fGsWJl9d93‚ -F ‚message=TerrassenEs ist w√§rmer als 4 ¬įC‘ https://api.pushover.net/1/messages.json“)}

Das Ganze l√§sst sich sicherlich noch durch if-Conditions vereinfachen, daf√ľr fehlt es mir aber noch an Perl-Wissen.. Verbesserungen k√∂nnen gerne per Kommentar mitgeteilt werden.

Wer interessante Einsatzzwecke f√ľr Pushover-Notifcations mit FHEM ausgemacht hat, ist gerne eingeladen diese √ľber die Kommentarfunktion zu teilen. Als Anregung sind mal einige m√∂gliche Sensoren aufgelistet, welche als Trigger dienen k√∂nnen.

Affiliate-Links

[easyazon_image align=“none“ height=“82″ identifier=“B002BJV9GC“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/31D0PVWA6PL.SL1102.jpg“ tag=“meintechblog-131116-21″ width=“110″][easyazon_image align=“none“ height=“110″ identifier=“B008LUMEKK“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/519UFknCqeL.SL1103.jpg“ tag=“meintechblog-131116-21″ width=“110″][easyazon_image align=“none“ height=“82″ identifier=“B001PSMK9A“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/31TrsHUjb2BL.SL1101.jpg“ tag=“meintechblog-131116-21″ width=“110″][easyazon_image align=“none“ height=“83″ identifier=“B001HN7C6E“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/31EtAPbzHWL.SL1101.jpg“ tag=“meintechblog-131116-21″ width=“110″]

Loxone im Einsatz? Dann schau dir unseren LoxKurs an und profitiere von unserem Wissen!

Verpasse keine Inhalte mehr! Trage dich in den Newsletter ein und folge uns auf Facebook.

Was ist ein Affiliate-Link? Wenn du auf einen Affiliate-Link klickst und √ľber diesen Link einkaufst, bekomme ich vom betreffenden Online-Shop oder Anbieter eine Provision, was mich u.A. bei den laufenden Kosten den Blogs unterst√ľtzt. F√ľr dich ver√§ndert sich der Preis nicht.

Jörg

hat meintechblog.de ins Leben gerufen, um seine Technikbegeisterung und Erkenntnisse zu teilen. Er veröffentlicht regelmäßig Howtos in den Bereichen Smart Home und Home Entertainment. Mehr Infos

167 Gedanken zu „Howto: Mit FHEM Push-Nachrichten aufs iPhone schicken (Update)“

  1. Super :) Aber zu erw√§hnen das es ca 4‚ā¨ Kostet f√ľr Android. Nutze derzeit Andnotify wo man auch wunderbar Icons oder Einstellen kann.
    Ein Tipp w√§re nicht schlecht diesne Befehl etwas zu k√ľrzen da sma vll nur send push „MEINTEXT“ nutzen kann ohne die ganzen API Keys mit einzubauen das wird doch recht un√ľbersichtlich??

    1. Danke!
      Naja, da App-Preise auch schwanken k√∂nnen, habe ich eben nur „kostenpflichtig“ im Artikel angegeben.
      Mir ging es darum erstmal ohne viel Schnickschnack eigene Pushbenachrichtigungen NUR durch einen einfachen Befehl aus der fhem.cfg heraus verschicken zu k√∂nnen. Wenn ich eine elegantere L√∂sung habe, werde ich sie hier nat√ľrlich teilen.

    2. Update: Die Umsetzung durch einfache Befehle ist zwar in der Tat etwas umständlicher, kann aber auch vorteilhaft sein, gerade wenn man weitere Pushover-Parameter (https://pushover.net/api) in die Nachricht packt, um noch differenziertere Push-Nachrichten abzusetzen. So kann das dann z.B. aussehen, wenn man nur einem bestimmten Gerät mit einer hohen Priorität eine Nachricht schickt, die sich mit einem speziellen Ton (alarm) meldet:

      define FLUnautorisierteTueroeffnungPushover notify FL.UnautorisierteTueroeffnung:on { system („curl -s -F ‚token=am4uA61Gx2Jw9GA24rePRyMJw8B3hz‘ -F ‚user=u4zDygNRGFbQUSmcxXj6fGsWJl9d93‘ -F ‚device=Jays_iPhone‘ -F ‚priority=1′ -F ’sound=siren‘ -F ‚message=Flur\nUnautorisierte T√ľr√∂ffnung‘ https://api.pushover.net/1/messages.json„)}

  2. Hi Jörg,

    danke f√ľr die super Anleitung,
    jedoch wenn ich set FL.UnautorisierteTueroeffnung on eingebe, bekomme ich keine puover message und im Log steht leider nur FLUnautorisierteTueroeffnungPushover return value: -1.

    pushover einstellungen habe ich mit windows Powershell gestestet, so das der Token und User stimmt.
    Leider bin ich ein totaler perl Neuling.

    Danke Andreas

    1. Die Mitteilung im Log (-1) ist normal, die bekomme ich auch. Evtl. kam es ja beim Kopieren des obigen Codes nach FHEM zu Formatierungsfehlern. Bitte nochmal √ľberpr√ľfen, da es bei mir mit obigem Code (nat√ľrlich angepasst mit meinen Daten) ohne Probleme funktioniert.

  3. Hallo Jörg,

    Vielen Dank f√ľr die gut erkl√§rte Anleitung!
    Ich habe alles genau so gemacht wie in deiner Anleitung. Die Elemente die ich verwendet habe, sind genau die gleichen wie von Dir beschrieben.
    Ich habe alles soweit hinbekommen, die Anwesenheitserkenung per Bluetooth läuft super auf meinem Android 4.2.2 Smartphone. Ohne noch mit einem anderen Gerät gepairt zu sein, hält fhem zum Smartphone zuverlässig die Verbindung. Auch die Pushover-Funktionen habe ich schon erfolgreich eingebaut und diese sogar noch um ein paar erweitert. Alles funktioniert so wie von Dir beschrieben, einfach klasse.
    Der HmLan Adapter l√§sst sich ohne Probleme so einstellen, wie von dir in den anderen Artikeln beschrieben. Ich konnte auch den HomeMatic HM-Sec-Sc Funk-T√ľr-/Fensterkontakt erfolgreich mit dem HM-Adapter pairen und er zeigt soger den Status „open“ und „closed“ an, nachdem ich ihn so wie beschrieben in FL.Tuerkontakt umbenannt habe.
    Der Befehl „set FL.UnautorisierteTueroeffnung on“ l√∂st ohne Probleme √ľber die Konsole aus und gibt eine Pushover Benachrichtigung auf mein Smartphone ab.
    Da ist dann leider Schlu√ü. Ich kann sehen, dass der T√ľrkontakt beim √Ėffnen und Schlie√üen am HM-Adapter Funksignale ausl√∂st. Der LED Status schl√§gt jedes Mal aus. Leider l√∂st der T√ľrkontakt beim √Ėffnen und Schlie√üen selber keine Pushover Benachrichtigung aus.
    Mir ist noch aufgefallen, dass beim Pairen einmal der CUL_HM 225111 gefunden wird und zusätzlich noch ein ActionDetector der irgendwie dem CUL_HM zugeordnet wird.
    Wo kann das Problem liegen? Habe ich irgendetwas nicht richtig zugeordnet?

    Hier ein Ausschnitt aus meiner fhem.cfg wie sie aussieht nach dem Pairen:

    ___________________________________________________________

    define COC_RPi CUL /dev/ttyAMA0@38400 0001
    attr COC_RPi model CUL

    #HM-Lan Adapter
    define HMLAN1 HMLAN 192.168.178.40:1000
    attr HMLAN1 hmId 23A111
    attr HMLAN1 hmLanQlen 1_min

    #Bluetooth-Anwesenheit
    define HA.JayBluetooth PRESENCE local-bluetooth BA:72:B1:33:11:11 10 60

    #HA.Jay definieren
    define HA.Jay dummy
    attr HA.Jay eventMap 1
    attr HA.Jay room Homebase
    define FileLog_HA.Jay FileLog ./log/HA.Jay-%Y-%m.log HA.Jay
    attr FileLog_HA.Jay logtype text

    #HA.Jay auf on setzen bei Anwesenheit
    define HAJayOn notify HA.JayBluetooth:present { fhem („set HA.Jay on;; setstate watchdogHAJayBluetoothAbwesend defined“) if (Value(„HA.Jay“) ne „on“) }

    #HA.Jay auf off setzen nach 3 Min Abwesenheit
    define watchdogHAJayBluetoothAbwesend watchdog HA.JayBluetooth:absent 00:03 HA.JayBluetooth:present set HA.Jay off
    attr watchdogHAJayBluetoothAbwesend regexp1WontReactivate 1
    attr watchdogHAJayBluetoothAbwesend room Homebase

    #FL.UnautorisierteTueroeffnung definieren
    define FL.UnautorisierteTueroeffnung dummy
    attr FL.UnautorisierteTueroeffnung room Homebase

    #FL.UnautorisierteTueroeffnung definieren
    define FLUnautorisierteTueroeffnungAn notify FL.Tuerkontakt:open.* { fhem („set FL.UnautorisierteTueroeffnung on“) if (Value(„HA.Jay“) eq „off“)}
    define FLUnautorisierteTueroeffnungAus notify FL.Tuerkontakt:open.* { fhem („set FL.UnautorisierteTueroeffnung off“) if (Value(„HA.Jay“) eq „on“)}

    #Pushover Notification bei unautorisierter T√ľr√∂ffnung
    define FLUnautorisierteTueroeffnungPushover notify FL.UnautorisierteTueroeffnung:on { system („curl -s -F ‚token=abiRQAGwje6Ab8Y7tBeP9k3frxxxxx‘ -F ‚user=uvDhrePBLueh8hd5cNnl39kHXxxxxx‘ -F ‚message=Flur\nUnautorisierte T√ľr√∂ffnung‘ https://api.pushover.net/1/messages.json„)}

    #Pushover Notification Zuhause
    define HA.JayPushoveran notify HA.Jay:on { system („curl -s -F ‚token=amkJLkjYDtLj8ryXonct1Veznxxxxx‘ -F ‚user=uvDhrePBLueh8hd5cNnKLA9kHXxxxxx‘ -F ’sound=pushover‘ -F ‚message=Flur\nSven ist Zuhause‘ https://api.pushover.net/1/messages.json„)}

    #Pushover Notification Alarmanlage An
    define HA.JayPushoveraus notify HA.Jay:off { system („curl -s -F ‚token=aMcQNwUL9UR3pT6DNgJxS7WSLxxxxx‘ -F ‚user=uvDhrePBLueh8hd5cNnKLA9kHXxxxxx‘ -F ’sound=pushover‘ -F ‚message=Flur\nAlarmanlage scharf geschaltet !‘ https://api.pushover.net/1/messages.json„)}

    #Licht an Empfang
    define HA.Jaylichtan notify HA.Jay:on set schalter1 on

    #Licht aus Gehen
    define HA.Jaylichtaus notify HA.Jay:off set schalter1 off

    #Licht schalten Eingang
    define schalter1 IT 000000000F FF F0
    attr schalter1 model itswitch

    define ActionDetector CUL_HM 000000
    attr ActionDetector actCycle 600
    attr ActionDetector event-on-change-reading .*
    attr ActionDetector room CUL_HM
    define FileLog_ActionDetector FileLog ./log/ActionDetector-%Y.log ActionDetector
    attr FileLog_ActionDetector logtype text
    attr FileLog_ActionDetector room CUL_HM
    define CUL_HM_HM_SEC_SC_225D6E CUL_HM 225111
    attr CUL_HM_HM_SEC_SC_225D6E .devInfo 810101
    attr CUL_HM_HM_SEC_SC_225D6E .stc 80
    attr CUL_HM_HM_SEC_SC_225D6E actCycle 028:00
    attr CUL_HM_HM_SEC_SC_225D6E actStatus alive
    attr CUL_HM_HM_SEC_SC_225D6E firmware 2.1
    attr CUL_HM_HM_SEC_SC_225D6E model HM-SEC-SC
    attr CUL_HM_HM_SEC_SC_225D6E room CUL_HM
    attr CUL_HM_HM_SEC_SC_225D6E serialNr KEQ0451111
    attr CUL_HM_HM_SEC_SC_225D6E subType threeStateSensor
    define FileLog_CUL_HM_HM_SEC_SC_225D6E FileLog ./log/CUL_HM_HM_SEC_SC_225D6E-%Y.log CUL_HM_HM_SEC_SC_225D6E
    attr FileLog_CUL_HM_HM_SEC_SC_225D6E logtype text
    attr FileLog_CUL_HM_HM_SEC_SC_225D6E room CUL_HM

    __________________________________________________________

    Ich benutze fhem auf dem Raspberry Pi mit COC Erweiterung von Busware und einen HM-Lan-Adapter.

    Vielleicht hast du ja einen Tip f√ľr mich und ich √ľbersehe einfach eine Kleinigkeit.

    Danke
    Sven

    1. Hi Sven,
      ich habe mir mal vorab erlaubt die angegebenen Seriennummern aus deinem Kommentar zu anonymisieren…
      Freut mich, dass alles bis auf die eine Kleinigkeit bei dir funktioniert!
      In deinem Code ist bei dein T√ľrkontakt noch als CUL_HM_HM_SEC_SC_225D6E definiert. Der sollte doch eigentlich FL.Tuerkontakt heissen, damit er beim entsprechenden notify-Befehl auch ausl√∂sen kann. Also mal entsprechend umbenennen. Evtl. war es das auch schon.
      Auch sehe ich in deinem Code falsch formatierte Anf√ľhrungszeichen. Es m√ľssen immer “ verwendet werden, damit es klappt. In deinem Code gibt es aber auch noch ‚Äú und ‚ÄĚ, womit FHEM nicht immer klar kommt. Ich w√ľrde empfehlen den Code entweder direkt im FHEM-Editor anzupassen oder einen vern√ľnftigen Text-Editor zu nutzen. Unter OSX benutze ich TextEdit (Einstellung: Format Reiner Text), unter Windows Notepad++.
      Insgesamt w√ľrde ich dir empfehlen in der fhem.cfg alle Eintr√§ge chronologisch (schon alleine aus √úbersichtlichkeit) zu sortieren. Also z.B. erstmal alle Device- und Dummy-Definitionen (inkl. ActionDetector) und danach erst notify-Befehle. Zur Fehlersuche kann man sich auch das LogFile (im FHEM-Men√ľ in der linken Spalte relativ weit unten) ansehen. Die neuesten Log-Eintr√§ge stehen ganz unten. Hier sind dann neben den Schaltvorg√§ngen z.B. auch Syntaxfehler aufgelistet, sofern welche im Code existieren. Hoffe das hilft weiter!

    2. Hi Jörg,

      Vielen Dank !! Es funktioniert jetzt ! :-)

      Ich habe alles im Dreamweaver noch einmal editiert und es läuft nun wunderbar ! Jetzt muß ich nur noch die fhem.cfg etwas aufräumen.
      Als n√§chstes werde ich mal mich mal nach deiner Anleitung an die Anbindung von dem Funk-Thermostat „HM-CC-RT-DN“ machen.

      Vielleicht hast du ja noch einen kleinen Tip f√ľr mich.
      Ich hatte leider etwas voreilig einen Intertechno PIR-1000 Bewegungsmelder gekauft, √ľber welchen ich mein Licht im Flur schalten m√∂chte.
      Da ich mich ja nun nach deinen Artikeln f√ľr die COC Erweiterung f√ľr den Raspberry Pi von Busware entschieden habe, ist nun die Frage ob ich diesen mit dem COC, welcher sich wohl √§hnlich wie ein CUL verh√§lt, pairen bzw. √ľber fhem benutzen kann. Der PIR-1000 sendet ja im 433,92 Mhz Bereich. Ich habe schon einiges versucht, bekomme aber keine Ergebnisse…vielleicht wei√üt du ja Rat. Mir ging es Hauptsache darum das der Bewegungsmelder klein und unauff√§llig ist, da er bei mir im Eingangsbereich sitzt. Sollte es mit Intertechno nicht laufen, hast du evtl noch eine andere Alternative als Bewegungsmelder ?

      Ich finde deinen Blog und deine Artikel echt super ! Vielen Dank f√ľr die M√ľhe, welche du Dir machst. Ich konnte durch Dich sehr einfach in die Materie fhem & co einsteigen. Mache bitte weiter so ! :)
      Wenn man dich irgendwie supporten kann (facebook, internet, donation…) so lass es mich bitte wissen, da du mir so einige Stunden an Recherche im Netz erspart hast, m√∂chte ich gerne was zur√ľck geben !

      DANKE !

      Sven

    3. Hi Sven,
      super, dass es geklappt hat!

      Die Anbindung des PIR-1000 wird nicht funktionieren, auch wenn der COC auf 443 Mhz senden kann. Grund ist, dass unter FHEM keine 433 Mhz-Signale empfangen werden k√∂nnen (siehe: http://www.fhemwiki.de/wiki/SlowRF „Eine Ausnahme stellt der IT-Modus zum Betrieb von InterTechno Komponenten (sogenannte „Baumarkt Funkschalter“) dar. Da FHEM derzeit keine IT Kommandos empfangen kann, muss und kann dieser Modus nicht explizit eingestellt werden…“).

      Als Alternative kann ich HomeMatic-Ger√§te empfehlen. Das Funkprotokoll ist durch die bidirektionale Daten√ľbertragung einfach super und viele Ger√§te (wie auch die Bewebungsmelder) tauschen Daten mit der Station auch nur signiert und damit etwas sicherer aus. Wirklich kleine Bewegungsmelder gibt es von HomeMatic nocht nicht, leider. Ich selbst habe den HM-Sec-MDIR-2 (Affiliate-Link) im Einsatz. Er funktioniert in Verbindung mit einem HM-Lan-Adapter und FHEM super. Dadurch, dass jedoch eine signierte Verbindung aufgebaut werden muss, kann nur der HM-Lan und nicht der CUL/COC/CUNO verwendet werden, da dieser zwar HomeMatic unterst√ľtzt, aber eben keine Signatur.
      In deinem Fall w√ľrde ich deswegen empfehlen einen FS20 Bewegungsmelder zu kaufen und deinen COC (http://busware.de/tiki-index.php?page=COC) auf „attribute COCxxx rfmode SlowRF“ einzustellen, dann empf√§ngt dieser die Signale von FS20-Komponenten und kann aber auch gleichzeitig noch Signale f√ľr FS10 (Intertechno) aussenden.

      Es freut mich immer zu h√∂ren, wenn die hier ver√∂ffentlichten Artikel anderen Leuten helfen. Ich selbst hab mich gerade am Anfang super schwer mit der gesamten Konfiguration getan, da die Hilfestellungen im Netz oftmals falsch, veraltet oder nur bruchst√ľckweise vorhanden sind. Das koset dann echt Nerven sich da einzufuchsen. W√ľrde mich dabei nat√ľrlich freuen, wenn meine Artikel z.B. √ľber Facebook und anderen Foren weiter verbreitet werden w√ľrden. Entsprechende Facebook- und Twitter-Share-Buttons sind bspw. auch immer direkt am Artikelende eingeblendet.

      Gr√ľ√üe
      Jörg

  4. Hallo Jörg,
    super Beitrag. In den letzten Wochen ist das hier definitiv mein Lieblingsblog, ich habe mir schon einige Anregungen f√ľr meine fhem Installation holen k√∂nnen.
    Der verlinkte Bluetooth USB Stick hat eine Reichweite von 10m (nicht 100m), leider komme ich damit kaum durch die Stahlbetondecke des Kellers. Gl√ľcklicherweise habe ich noch einen zweiten RasberryPi im Wohnzimmer, zusammen mit der Erkl√§rung in dem Wiki-Artikel kann ich mir also eine L√∂sung f√ľr das Problem basteln.
    http://www.fhemwiki.de/wiki/Anwesenheitserkennung#Jeden_Raum_einzeln_ansprechen_.28presenced.29
    Gibt es auch Bluetooth USB Sticks die tatsächlich eine Reichweite von 100m haben und am RaspberryPi mit Linux laufen?

    Freue mich schon auf die nächsten tollen Artikel.
    Gr√ľ√üe
    Martin

    1. Hi Martin!
      Freut mich echt total, dass die Inhalte auf meintechlog.de anderen Usern weiterhelfen! Genau dazu sollen sie auch da sein… Das waren definitiv nicht die letzten Postings im Bereich FHEM, keine Angst. Ich habe tausend Ideen, die ich bis zum perfekten „Smart Home“ noch umsetzen – und hier teilen – m√∂chte.
      Der verlinkte Bluetooth-USB-Stick hat bei mir beinahe die Reichtweite meines WLan, so dass er auch die gesamte Wohnung abdeckt. Habe auch schon andere Bluetooth-Sticks ausprobiert, keiner ging bisher so weit. Wenn ich noch einen besseren Stick (100m) finde, folgt ein Update des Artikels.
      Die im FHEM-Wiki beschriebene L√∂sung mit einem zweiten RPI, welcher √ľber das Netzwerk mit dem presence-Modul kommuniziert, habe ich auch schon getestet. Das war mir aber noch nicht ausgereift genug, da – je nach eingetragenen Intervallen – laufend Daten zwischen den RPIs hin- und hergeschaufelt werden, auch wenn sich der Anwesenheitszustand nicht ver√§ndert. Da habe ich glaube ich eine etwas geschicktere M√∂glichkeit gefunden, die ich teilen werde, sobald sie sich im Alltagseinsatz bew√§hren konnte.

      Gr√ľ√üe
      Jörg

  5. Hallo,
    vielen Dank f√ľr die Idee. Ich haben nun ca. 14 Fensterkontakte von MAX im Einsatz und w√ľrdemich bei √Ėffnung gerne benachrichtigen lassen.
    #FL.UnautorisierteTueroeffnung definieren
    define FL.UnautorisierteTueroeffnung dummy
    attr FL.UnautorisierteTueroeffnung room Haus

    #FL.UnautorisierteTueroeffnung definieren
    define FLUnautorisierteTueroeffnungAn notify FL.Tuerkontakt:open.* { fhem („set FL.UnautorisierteTueroeffnung on“) if (Value(„Garage_Silke“) eq „opened“)}
    define FLUnautorisierteTueroeffnungAus notify FL.Tuerkontakt:open.* { fhem („set FL.UnautorisierteTueroeffnung off“) if (Value(„Garage_Silke“) eq „closed“)}

    #Pushover Notification bei unautorisierter T√ľr√∂ffnung
    define FLUnautorisierteTueroeffnungPushover notify FL.UnautorisierteTueroeffnung:on { system („curl -s -F ‚token=MEIN_TOKEN‘ -F ‚user=MEINE USER‘ -F ‚message=Licht\nLicht eingeschaltet‘ https://api.pushover.net/1/messages.json„)}

    “ if (Value(„Garage_Silke“) eq „opened“)}“ macht es schon mal nicht, obgleich die Statusmeldung opened lautet. Habt ihr vielleicht eine Idee? F√ľr Hilfe w√§re ich dankbar.

    1. Hi Mike,
      das Auslesen des Zustands per „Value“ geht wohl nur bei Dummies. Du willst den „STATE“ eines Sensors auslesen und musst die if-Abfrage deshalb mit „ReadingsVal“ umsetzen. Au√üerdem gibt es den STATE „closed“ und „open“. Der Status „opened“, wie bei dir angegeben, d√ľrfte nicht funktionieren. Hier die √úberarbeitung:

      define FLUnautorisierteTueroeffnungAn notify FL.Tuerkontakt:open.* { fhem („set FL.UnautorisierteTueroeffnung on“) if (ReadingsVal(„Garage_Silke“,“state“,““) eq „open“)}
      define FLUnautorisierteTueroeffnungAus notify FL.Tuerkontakt:open.* { fhem („set FL.UnautorisierteTueroeffnung off“) if (ReadingsVal(„Garage_Silke“,“state“,““) eq „closed“)}

      Insgesamt schon echt einige Stolpersteine, die es zu √ľberwinden gilt. Hoffe so klappt es nun auch bei dir!

      Gr√ľ√üe
      Jörg

      PS: Die Kommentarfunktion in meinem Blog formatiert die Anf√ľhrungszeichen falsch um, so dass nach einem 1:1-Kopieren die jeweiligen Anf√ľhrungszeichen nochmal manuell umformatiert werden m√ľssen.

      UPDATE vom 22.11.2013: Konnte das Problem mit den Anf√ľhrungszeichen in den Kommentaren durch die Erg√§nzung von remove_filter(‚comment_text‘, ‚wptexturize‘); in der Datei functions.php l√∂sen. Der Code-Text kann nun √ľberall vom Blog (auch aus bereits ver√∂ffentlichten Kommentaren) 1:1 kopiert werden!

  6. Hallo Jörg,

    hier der Eintrag zu einem Shutter Contact:
    DEF
    ShutterContact 0735e3
    NAME
    Bad_rechts
    NR
    43
    STATE
    opened
    TYPE
    MAX
    addr
    0735e3
    type
    ShutterContact

    Da steht, das der Status opened ist. Ob das Max spezifisch ist wei√ü ich nicht. Ich hab Deinen Code mit C&P √ľbernommen. Aber egal, welche Variante mit dem austauschen der Anf√ľhrungszeichen ich versuche. Es klappt noch nicht.
    Aber vielleicht sollte ich einfach kurz schildern, was ich vorhabe. Ich hatte das auch mal im FHEM Forum angebracht. Leider driftete da die Diskussion etwas ab.
    Ich m√∂chte mit den Kontakten zun√§chst eine Fenster√ľberwachung. Daraus folgt dann im zweiten Schritt eine Alarmanlage. Bei Alarmierung soll aber nur eine Blitzleuchte im Haus angehen. Ich denke, f√ľr eine Aktivierung der Anlage w√ľrde es reichen, das man diese per Dummy ein- bzw. ausschaltet. Vielleicht k√∂nnte man sowas ja sp√§ter mit einem Kontakt in der T√ľr verfeinern.
    Der Hintergrund ist, dass ich glaube, das ein Einbrecher vermutlich durch aufhebeln einer Terassent√ľr versuchen wird ins Haus zu kommen. Vielleicht schl√§gt er auch eine Scheibe ein. Aber auch dann wird er die T√ľr bzw. das Fenster √∂ffnen. Und jetzt stelle ich mir die Frage, was passiert, wenn beim √∂ffnen eine Blitzleuchte im Haus angeht. Ich denke, er wird den Einbruch an der Stelle abbrechen.
    Nat√ľrlich dient die Benachrichtigung per push der schnellen Signalisierung. Jetzt erstmal nur die Kontakte, sp√§ter einen push mit Alarm.
    Ich schätze sowas als eine einfache und effiziente Möglichkeit ein. Leider bin ich da programmiertechnisch am Anfang und nicht wirklich bewandert. Aber wenn das klappt hätte ich als Dankeschön noch eine rote Xenon Blitzleuchte abzugeben:-)
    Mike

    1. Hi Mike,
      bei meinem Homematic-T√ľrsensor heissen die Zust√§nde „open“ und „closed“. Echt konfus, dass die Deklaration bei MAX-Komponenten abweicht.
      Aber zu deinem Problem: Funktionieren bei dir manuell (√ľber die FHEM-Konsole) ausgef√ľhrte Push-Benachrichtigungen √ľberhaupt? Und was ist, wenn du einmal testweise die if-Confitions in den Befehlen wegl√§sst? Dann sollte ja immer bei T√ľr√∂ffnung (FL.Tuerkontakt:open.*) eine Push-Mitteilung verschickt werden. Oder heisst dein Device, was das notify ausl√∂st, einfach anders? Und was sagt die FHEM-Logdatei zu dem Ganzen? Werden hier Mitteilungen angezeigt, die das Problem eingrenzen k√∂nnten (z.B. Syntaxfehler)? Insgesamt kann die Fehlersuche oftmals etwas dauern, bei hartn√§ckigem Suchen kommt man aber in der Regel zum gew√ľnschten Ergebnis. Und vorher unbedingt ein Backup des Systems ausf√ľhren!!! Hoffe du kommst so weiter.
      Gr√ľ√üe
      Jörg

    2. Hallo Jörg,
      wenn ich den push √ľber die Konsole ausl√∂se funktiniert Deine L√∂sung hervorragend. Also scheint der Teil ok zu sein.
      Ich hab das jetzt mal so gelöst:
      define Fenster_auf notify Kontakt.* { if (Value(„Kontakt_Bad_links“) eq „closed“ && Value(„Kontakt_Badezimmer_unten“) eq „closed“ && Value(„Kontakt_Bad_rechts“) eq „closed“ && Value(„Kontakt_Schlafz_unten_gross“) eq „closed“ && Value(„Kontakt_Balkon_WZ“) eq „closed“ && Value(„Kontakt_Buero_Tuer“) eq „closed“ && Value(„Kontakt_Esszimmer“) eq „closed“ && Value(„Kontakt_Garage_Mike“) eq „closed“ && Value(„Kontakt_Garage_Silke“) eq „closed“ && Value(„Kontakt_Haustuer_oben“) eq „closed“ && Value(„Kontakt_Haustuer_unten“) eq „closed“ && Value(„Kontakt_Kueche_links“) eq „closed“ && Value(„Kontakt_Kueche_rechts“) eq „closed“ && Value(„Kontakt_Schlafz_unten_klein“) eq „closed“ && Value(„Kontakt_Schlafzimmer_oben“) eq „closed“) { fhem („set FL.UnautorisierteTueroeffnung off“) } else { fhem („set FL.UnautorisierteTueroeffnung on“) }}

      Das ist die umständliche Variante. Jetzt bekomme ich Meldung, wenn ich eine Kontakt öffne. Leider aber auch immer mal wieder, wenn ich gar nichts mache. Scheint, als wenn er Statusmeldungen als open erkennt und dann eine Meldung absetzt. Ausserdem macht er mir immer gleich drei Meldungen per push.
      DerLog sieht so aus:
      2013.11.23 10:56:02 3: FLUnautorisierteTueroeffnungPushover return value: -1
      2013.11.23 10:56:03 3: FLUnautorisierteTueroeffnungPushover return value: -1
      2013.11.23 10:56:03 3: FLUnautorisierteTueroeffnungPushover return value: -1
      2013.11.23 10:56:13 3: FLUnautorisierteTueroeffnungPushover return value: -1
      2013.11.23 10:56:14 3: FLUnautorisierteTueroeffnungPushover return value: -1
      2013.11.23 10:56:15 3: FLUnautorisierteTueroeffnungPushover return value: -1
      2013.11.23 10:59:33 3: FLUnautorisierteTueroeffnungPushover return value: -1
      2013.11.23 10:59:34 3: FLUnautorisierteTueroeffnungPushover return value: -1
      2013.11.23 10:59:35 3: FLUnautorisierteTueroeffnungPushover return value: -1

      Ich habe da aber auch immer nur einen Kontakt ge√∂ffnet. Vielleicht ist die Sache mit „pr√ľfe ob zu, ansonsten auf“ nicht der korrekte Weg.

      Hast Du irgendeine Idee?

      mfg
      Mike

    3. Hallo Mike,

      bei mir waren es 2 Fehler, als es nicht lief. Einer war der Richtige Syntax, Formatirungs und Schreibfehler im Code.
      Ein anderes Problem war, das man unbedingt dran denken muß Bluetooth im Samrtphone/Tablet auszustellen, wenn man testet, da die der Alarm ja nur auslöst, wenn du nicht zu Hause bist, also wenn dein Smartphone oder deine Bluetoothverbindung nicht an bzw anwesend sind.

      Danach lief bei mir alles mit den von Jörg gemachten Vorlagen.

    4. Hi Sven,

      die Nummer mit dem BT Stick habe ich ja noch gar nicht. Das m√∂chte ich gerne anders l√∂sen. Bluetooth frisst mir zu sehr den Akku leer. Das w√ľrde ich gerne mit einem Dummy Schalter „Alarm on/off“ realisieren.

      Push setzt ja bereits die Meldung ab. Leider immer gleich drei mal hintereinander und leider auch, wenn keiner ein Fenster √∂ffnet. Ich denke, ich bekomme hier immer wieder die Statusmeldung der Kontakte √ľbermittelt.

      Vielleicht w√ľrde hier eine „nur 1 X versenden“ verriegelung weiterhelfen.

      Wisst ihr was ich meine?

    5. Hi Mike, mit „notify Kontakt.*“ kann es auch nicht zuverl√§ssig funktionieren, da jede neue Nachricht aller Kontakte die Benachrichtigung ausl√∂st (also auch Statusmeldungen wie Battery ok). Probier es mal mit „notify Kontakt.*:open.*“, dann wird wirklich nur ein notify ausgel√∂st, wenn einer der Kontakte mindestens auch „open“ √ľbermittelt, also wenn sich ein Fenster auch tats√§chlich √∂ffnet.
      Welches Smartphone setzt du denn f√ľr die Bluetooth-Anwesenheitserkennung ein? Beim iPhone merkt man akkutechnisch keinen Unterschied.

    6. Hi Mike,
      du kannst deinen Code auch ma√ügeblich verk√ľrzen, indem du deine Kontaktsensoren strukturierst. Das sieht dann so aus (HA steht bei mir f√ľr Haus):
      define HA.Kontakte structure room Kontakt_Bad_links Kontakt_Badezimmer_unten Kontakt_Bad_rechts Kontakt_Schlafz_unten_gross
      attr HA.Kontakte room Haus

      Das Beispiel musst du nat√ľrlich noch erg√§nzen um alle deine ganzen Kontakte.
      Dann kannst du dein notify so schreiben:
      define Fenster_auf notify Kontakt.* { if (Value(„HA.Kontakte“) eq „closed“) { fhem („set FL.UnautorisierteTueroeffnung off“) } else { fhem („set FL.UnautorisierteTueroeffnung on“) }}

    7. Hallo Jörg,

      ich hab das gestern Abend nochmal umgesetzt. Nun geht es! Perfekt. Endlich mal jemand, der die Dinge auch f√ľr Anf√§nger verst√§ndlich formuliert. Auf diese Art erkennt man Zusammenh√§nge und kommt dann doch hinter die Logik von Perl. Ich werde den structure Befehl aber so nicht einsetzen. Mir fiel auf, dass ich nun Nachricht bekomme das ein Fenster ge√∂ffnet wurde. Welches geht aber nat√ľrlich nicht daraus hervor. Ich werde mal versuchen einen Block pro Kontakt zu schreiben, entsprechend mit dem Text, welches Fenster ge√∂ffnet wurde. Wenn ich das heute schaffe, werde ich das mal posten. In jedem Fall bis hier her erst einmal recht herzlichen Dank. Und mach weiter so… Das hilft Anf√§ngern echt weiter!

    8. Hi Mike,
      super, dass ich dir weiterhelfen konnte!
      Hier noch eine Anregung:
      Wenn du direkt eine Push-Mitteilung mit der Info senden willst, welches Fenster ge√∂ffnet wurde, k√∂nntest du es ja evtl. auch so machen (Hier werden im else-Pfad gleichzeitig der Dummy f√ľr die unautorisierte T√ľr√∂ffnung auf on gesetzt und die PushOver-Mitteilung gesendet):

      define Fenster_auf notify Kontakt.* { if (Value(„HA.Kontakte“) eq „closed“) { fhem („set FL.UnautorisierteTueroeffnung off“) } else { fhem („set FL.UnautorisierteTueroeffnung on“);; system („curl -s -F ‚token=MEIN_TOKEN‘ -F ‚user=MEINE USER‘ -F ‚message=Fenster√∂ffnung\nDas Fenster @ wurde ge√∂ffnet.‘ https://api.pushover.net/1/messages.json„)}}

      Relevant ist dabei das @ in der zu sendenden Nachricht. Es steht als Platzhalter f√ľr den Ger√§tenamen, welches das notify ausl√∂st. Wenn also Kontakt_Bad_rechts das notify ausl√∂st, w√ľrde obige Nachricht lauten: „Fenster√∂ffnung\nDas Fenster Kontakt_Bad_rechts wurde ge√∂ffnet.“

      Gr√ľ√üe
      Jörg

    9. Hallo Jörg.
      Also das mit dem @ geht prima. Allerdings habe ich das eq „closed“ in ne „closed“ ge√§ndert. Er hat mir Mit dem eq hat er mir immer geschlossene Fenster gemeldet. √úbrigens: Danke f√ľr den Tipp mit dem structure. Das kann ich noch prima f√ľr andere Sachen verwenden.

      Jetzt l√§uft soweit (fast) alles. Immer wenn ich einen Kontakt √∂ffne, dr√ľckt mir push gleich drei Meldungen auf mein Handy. Ich denke, das die Max Kontakte eine dreifache Meldung (open) an den FHEM senden. K√∂nnte man das auch auf eine Meldung reduzieren? Hast Du eine Idee?
      Ausserdem verstehe ich nicht, warum wir, wenn der eigentliche Befehl zum absetzen der Meldung per push in der Zeile erfolgt, noch eine FL.UnautorisierteTueroeffnung on/off brauchen. Kann man die dann nicht weglassen?
      mfg
      Mike

    10. Ich hab eine Idee, ja.
      Versuch doch mal deine ganzen Kontakte mit dem attribut event-on-change-reading auszustatten. Also z.B. f√ľr deinen Kontakt Kontakt_Bad_links:
      attr Kontakt_Bad_links event-on-change-reading state,battery
      Das bewirkt, dass das notify vom Kontakt nur noch dann getriggert werden kann, wenn sich dessen Status (bzw. Batteriezustand) tats√§chlich √§ndert. Wenn also der ausl√∂sende Kontakt drei Mal nacheinander am St√ľck open √ľbermittelt, ohne dazwischen closed zu schicken, l√∂st nur das erste open das notify aus.
      FL.UnautorisierteTueroeffnung on/off habe ich in obigem Beispiel einfach drin gelassen. In diesem Fall brauchst du es nat√ľrlich nicht. Ich l√∂se solche etwas komplexeren Sachen gerne mit zus√§tzlichen Dummies, da ich den dummy-Zustand dann manchmal noch f√ľr andere if-Schleifen nutzen kann. Das ist aber nat√ľrlich Geschmackssache. Im Grund ist ja alles Recht, was zielf√ľhrend ist. ;)

    11. Hallo Jörg,

      bin etwas krank und habe zudem ein paar andere Sachen zu erledigen. Aber ich wollte Dir kurz eine R√ľckmeldung geben. Funktioniert jetzt soweit super. Ich musste aber die define Fenster_auf notify Kontakt.* { if (Value(„HA.Kontakte“) eq „closed“) in define Fenster_auf notify Kontakt.* { if (Value(„HA.Kontakte“) ne „closed“) √§ndern.
      Jetzt funktioniert das recht gut, allerdings erhalte ich manchmal doppel push¬īs von ein und demselben Vorgang. In der Log schreibt er aber richtigerweise nur eine Open Meldung. Da muss ich mal schauen, wie ich das mache, bzw. woran das liegen kann.
      Als nächstes werde ich dann versuchen eine FS20 Steckdose mit einzubinden bei Alarm.
      Aber bis hier erstmal recht herzlichen Dank.

      Mike

    12. Hi Mike,
      dann erstmal gute Besserung!
      Versuch des doch mal etwas anders:
      define Fenster_auf notify Kontakt.*:opened { system („curl -s -F ‚token=MEIN_TOKEN‘ -F ‚user=MEINE USER‘ -F ‚message=Fenster√∂ffnung\nDas Fenster @ wurde ge√∂ffnet. %‘ https://api.pushover.net/1/messages.json„)}
      Damit sollte es eigentlich funktionieren. Das von mir testweise eingef√ľgte % am Ende der Nachricht bewirkt, dass der Zustand des ausl√∂senden Devices √ľbermittelt wird. Da sollte dann in deinem Fall „opened“ stehen. Das % kannst du dann nat√ľrlich wieder l√∂schen, wenn du es nicht brauchst.
      Gr√ľ√üe
      Jörg

    13. Hallo Jörg,

      so… nu iss besser!
      Kurze R√ľckmeldung: Jetzt geht¬īs prima. Jede √Ėffnung eines Kontaktes bewirkt nun auch ein sofortiges ausl√∂sen des push. Manchmal taucht die Meldung sofort auf, hin und wieder dauert es mal 2 Sekunden. Das liegt aber vermutlich am gateway von pushover und ist absolut akzeptabel.

      Nach langem hin und her werden wir auf die Blutooth Sache verzichten und uns ein TAB an die Wand h√§ngen. Der soll als digitaler Bilderrahmen fungieren. Die FHEM App Widgets sind dann auf dem Desktop abgebildet und zeigen die Stati der Fenster. Heute sind die Tab so g√ľnstig, dass sowas Sinn macht. Ich denke, alles was man an Statusmeldungen sehen muss, l√§sst sich prima Abbilden.

      Wir wollen einen Dummyschalter Alarmanlage EIN/AUS, der dann die Anlage nach ca. 10 Sekunden Scharf schaltet. Im Flur soll dann das Flurlicht als Best√§tigung dreimal blinken. Vielleicht macht ein weiterer Dummyschalter Sinn, der die Alarmanlage „still“ scharf schaltet. Wenn man es mal vergessen hat und dies von unterwegs aus anschaltet. Dann m√ľsste ja eigentlich das Flurlicht auch nicht blinken. Wenn es das doch macht ist das aber auch nicht wild.

      Bei Ausl√∂sung der Anlage (Irgendein Fenster wird ge√∂ffnet, sollte dann eine Schaltsteckdose f√ľr 60 Sekunden eingeschaltet werden.

      Den Dummy f√ľr die Alarmanlage habe ich schon:

      define Kontakt_ALARMANLAGE FS20 1234 99
      attr Kontakt_ALARMANLAGE dummy 1
      attr Kontakt_ALARMANLAGE room Alarmanlage

      F√§llt Dir auf, ob ich was √ľbersehen habe?

  7. Hallo,

    ich habe mich noch einmal genauer Informiert bez√ľglich des Bluetooth USB Sticks. Der verlinkte Stick ist ein Class 2 Stick.
    Class 2 Sticks haben eine geringere Sendeleistung und somit nur eine Reichweite von 10m.

    Kauft euch also einen Class 1 Stick!!!!! Der LogiLink BT0015 (Affiliate-Link) soll in Verbindung mit dem Raspberry gut funktionieren.

    Gr√ľ√üe
    Martin

  8. Hallo zusammen,

    wenn ich mir den State vom PRESENCE per Pushover senden lassen möchte, z.B. wenn sich der Status von absent auf present oder umgedreht ändert, wir muss ich das angehen. Sorry bin absolut neu und habe hierzu nichts gefunden war bei meinen Tests jetzt funktioniert hätte.
    Gruss
    Chris

    1. Hi Chris,
      versuch es doch mal hiermit:

      define HABTJayStatusPushover notify HA.BT_Jay:(absent|present) { system („curl -s -F ‚token=MEIN_TOKEN‘ -F ‚user=MEINE USER‘ -F ‚message=Anwesenheitserkennung\n@ ist %.‘ https://api.pushover.net/1/messages.json„)}

      :(absent|present) k√∂nnte man dabei auch weglassen. Es bedeutet nur, dass HA.BT_Jay nur dann den notify-Befehl triggert, wenn sich der Status entweder auf absent of present √§ndert. Das @ in der Nachricht √ľbermittelt den Namen des ausl√∂senden Elements und % dessen Status. Die Nachricht w√ľrde also z.B. lauten „Anwesenheitserkennung\nHA.BT_Jay ist absent.“.

      Gr√ľ√üe
      Jörg

  9. Moin,
    Super klasse Anleitung. Bin super mit klargekommen, nur eine Frage. Wie hast du das gemacht das du eine Push bekommst mit: Jörg ist gekommen.?
    Kannst du mir das erkl√§ren? Kann man auch ein zweites Smartphone hinzuf√ľgen?

    Gruss

    1. Per Bluetooth kannst du in FHEM nat√ľrlich auch den Anwesenheitszustand mehrerer Smartphones √ľberwachen. Im Pushover-Dienst lassen sich f√ľr jedes Smartphone dann entsprechende einzelne Devices anlegen, welche einzeln oder auch gemeinsam per Pushnachricht angesprochen werden k√∂nnen. Dazu muss der Pushover-Code bspw. mit dem Attribut ‚device=Jays_iPhone‘ erg√§nzt werden. Eine √úbersicht der m√∂glichen Zusatzattribute findest du unter: https://pushover.net/api
      Gr√ľ√üe
      Jörg

    1. Oh, da habe ich mich wohl falsch ausgedr√ľckt. Ich meine ein zweites Smartphone das sich am Pi anmeldet. Sprich mein Kind von der Schule nach Hause gekommen ist und ich dann eine Push erhalte mit: …. ist jetzt zu Hause.

    2. Naja, im Pushover Webinterface (pushover.net) kann man mehrere Ger√§te hinzuf√ľgen.
      Wenn man bei einer Nachricht kein spezielles Gerät definiert, dann wird an alle gesendet.
      Man kann allerdings auch ein Gerät angeben und dann wird nur an dieses geschickt.

      Gruß,

      Johannes

    3. Achso, und mit PRESENCE ist da nat√ľrlich auch m√∂glich mehrere Ger√§te zu definieren.
      Einfach den Define kopieren, Namen und Bluetooth Adresse austauschen und fertig…

  10. Ich poste mal meine config. Was ist denn verkehrt?
    Komm nicht weiter.

    #Bluetooth-Anwesenheit
    define HA.JayBluetooth PRESENCE local-bluetooth Xxxxxxxxxxxxx 10 60
    define HA.JayBluetooth PRESENCE local-bluetooth xxxxxxxxxxxxx 10 60

    #HA.Jay definieren
    define HA.Jay dummy
    attr HA.Jay eventMap 1
    attr HA.Jay room Wohnung
    define FileLog_HA.Jay FileLog ./log/HA.Jay-%Y-%m.log HA.Jay
    attr FileLog_HA.Jay logtype text

    #HA.Jay auf on setzen bei Anwesenheit
    define HA.JayOn notify HA.JayBluetooth:present { fhem („set HA.Jay on;; setstate watchdogHA.JayBluetoothAbwesend defined“) if (Value(„HA.Jay“) ne „on“) }

    #HA.Jay auf off setzen nach 3 Min Abwesenheit
    define watchdogHA.JayBluetoothAbwesend watchdog HA.JayBluetooth:absent 00:03 HA.JayBluetooth:present set HA.Jay off
    attr watchdogHA.JayBluetoothAbwesend regexp1WontReactivate 1
    attr watchdogHA.JayBluetoothAbwesend room Wohnung

    #HA.Jay definieren
    define HA.Jay dummy
    attr HA.Jay eventMap 1
    attr HA.Jay room Wohnung
    define FileLog_HA.Jay FileLog ./log/HA.Jay-%Y-%m.log HA.Jay
    attr FileLog_HA.Jay logtype text

    #HA.Jay auf on setzen bei Anwesenheit
    define HA.JayOn notify HA.JayBluetooth:present { fhem („set HA.Jay on;; setstate watchdogHA.JayBluetoothAbwesend defined“) if (Value(„HA.Jay“) ne „on“) }

    #HA.Jay auf off setzen nach 3 Min Abwesenheit
    define watchdogHA.JayaBluetoothAbwesend watchdog HA.JayBluetooth:absent 00:03 HA.JayBluetooth:present set HA.Jay off
    attr watchdogHA.JayBluetoothAbwesend regexp1WontReactivate 1
    attr watchdoHA.JayBluetoothAbwesend room Wohnung

    #Pushover einrichten
    define Pushover1 Pushover Token User
    attr Pushover1 icon remotecontrol/black_btn_TEXT
    attr Pushover1 room Wohnung

    #FL.UnautorisierteTueroeffnung definieren
    define FL.UnautorisierteTueroeffnung dummy
    attr FL.UnautorisierteTueroeffnung room Wohnung

    #FL.UnautorisierteTueroeffnung definieren
    define FLUnautorisierteTueroeffnungAn notify FL.Tuerkontakt:open.* { fhem („set FL.UnautorisierteTueroeffnung on“) if (Value(„HA.Jay“) eq „off“)}
    define FLUnautorisierteTueroeffnungAus notify FL.Tuerkontakt:open.* { fhem („set FL.UnautorisierteTueroeffnung off“) if (Value(„HA.Jay“) eq „on“)}

    #Pushover Notification bei unautorisierter T√ľr√∂ffnung
    define FLUnautorisierteTueroeffnungPushover notify FL.UnautorisierteTueroeffnung:on { system („curl -s -F ‚token=Xxxxxxx‘ -F ‚user=http://xxxxxxxxXxx‘ -F ‚message=Flur\nUnautorisierte T√ľr√∂ffnung‘ https://api.pushover.net/1/messages.json„)}

    define HABTJayStatusPushover notify HA.BT_Jay:(absent|present) { system („curl -s -F ‚token=’Xxxxxxccccc -F ‚user=Xxxxxxxxxxxxx‘ -F ‚message=Anwesenheitserkennung\n@ ist %.‘ https://api.pushover.net/1/messages.json„)}

    #T√ľrkontakt Wohnung Haust√ľr
    define ActionDetector CUL_HM 000000
    attr ActionDetector actCycle 600
    attr ActionDetector event-on-change-reading .*
    attr ActionDetector room Wohnung
    define FileLog_ActionDetector FileLog ./log/ActionDetector-%Y.log ActionDetector
    attr FileLog_ActionDetector logtype text
    attr FileLog_ActionDetector room Wohnung
    define FL.Tuerkontakt CUL_HM xxxxxx
    attr FL.Tuerkontakt .devInfo xxxxxxx
    attr FL.Tuerkontakt .stc 80
    attr FL.Tuerkontakt actCycle 028:00
    attr FL.Tuerkontakt actStatus unknown
    attr FL.Tuerkontakt expert 2_full
    attr FL.Tuerkontakt firmware 2.1
    attr FL.Tuerkontakt model HM-SEC-SC
    attr FL.Tuerkontakt peerIDs
    attr FL.Tuerkontakt room Wohnung
    attr FL.Tuerkontakt serialNr Xxxxxxxxx
    attr FL.Tuerkontakt subType threeStateSensor
    define FileLog_FL.Tuerkontakt FileLog ./log/FL.Tuerkontakt-%Y.log FL.Tuerkontakt
    attr FileLog_FL.Tuerkontakt logtype text
    attr FileLog_FL.Tuerkontakt room Wohnung

    1. Ich empfange keine push-Benachrichtigungen. Immer kommt der Fehler den Mike hier auch hat oder hatte.
      FLUnautorisierteTueroeffnungPushover Return value: -1
      Genau so passiert nix wenn ich set FL.UnautorisierteTueroeffnung on in die Leiste eingebe. Passiert auch nix.
      Ich hatte eigentlich anstatt HA.Jay einen Namen vergeben zB. Otto 1 und Otto 2 . Das kann man doch machen oder?

    2. Hi Jens,
      solange zwischen Otto1 und Otto2 keine Leerzeichen sind dann ja. Versuch doch mal direkt einen Pushover-Befehl in die FHEM-Kommandozeile/-leiste einzugeben und damit manuell die Pushnachricht zu verschicken:
      { system („curl -s -F ‚token=Xxxxxxx‘ -F ‚user=xxxxxxxxXxx‘ -F ‚message=Flur\nUnautorisierte T√ľr√∂ffnung‘ https://api.pushover.net/1/messages.json„)}
      Funktioniert das erstmal? Falls ja dann w√ľrde ich empfehlen Schritt f√ľr Schritt m√∂gliche weitere Fehlerquellen der Reihe nach auszuschlie√üen. Das ist zwar manchmal nervig, wenn Fehler nicht offensichtlich sind, durch hartn√§ckiges Ausprobieren kommt man aber meistens zum gew√ľnschten Ergebnis. Mit den hier vorgestellten Beispielen kannst du es sicher schaffen!
      Gr√ľ√üe
      Jörg

    3. Wenn ich diesen Befehl eingebe erhalte ich -1.
      Funktioniert nicht.
      Gebe ich allerdings:s set Pushover1 msg ‚Test‘ ‚Test‘ “ 0 “ funktioniert das.

    4. Hallo J√∂rn, kannst du evtl. Mal ein Blick auf mein Code werfen. Versuche es mit 2 iPhones hinzu bekommen. Leide bekomme ich keine Pushmeldung. Code mit einem Handy funktioniert wunderbar. Sinn macht es f√ľr mich aber erst wenn beide iPhones abwesend sind eine Pushmeldung zu bekommen.
      Ich habe die Ottovariante angewendet:
      #Abwesenheit
      #Otto1 definieren
      define Otto1 dummy
      attr Otto1 eventMap 1
      attr Otto1 room Haus
      define FileLog_Otto1 FileLog ./log/Otto1-%Y-%m.log Otto1
      attr FileLog_Otto1 logtype text

      #Otto1 auf on setzen bei Anwesenheit
      define Otto1On notify Otto1Bluetooth:present { fhem („set Otto1 on;; setstate watchdogOtto1Abwesend defined“) if (Value(„Otto1“) ne „on“) }

      #Otto1 auf off setzen nach 3 Min Abwesenheit
      define watchdogOtto1BluetoothAbwesend watchdog Otto1Bluetooth:absent 00:03 Otto1Bluetooth:present set Otto1 off
      attr watchdogOtto1BluetoothAbwesend regexp1WontReactivate 1
      attr watchdogOtto1BluetoothAbwesend room Haus

      #Otto2 definieren
      define Otto2 dummy
      attr Otto2 eventMap 1
      attr Otto2 room Haus
      define FileLog_Otto2 FileLog ./log/Otto2-%Y-%m.log Otto2
      attr FileLog_Otto2 logtype text

      #Otto2 auf on setzen bei Anwesenheit
      define Otto2On notify Otto2Bluetooth:present { fhem („set Otto2 on;; setstate watchdogOtto2BluetoothAbwesend defined“) if (Value(„Otto2“) ne „on“) }

      #Otto2 auf off setzen nach 3 Min Abwesenheit
      define watchdogOtto2BluetoothAbwesend watchdog Otto2Bluetooth:absent 00:03:10 Otto2Bluetooth:present set Otto2 off
      attr watchdogOtto2BluetoothAbwesend regexp1WontReactivate 1
      attr watchdogOtto2BluetoothAbwesend room Haus

      #FL.UnautorisierteTueroeffnung definieren
      define FL.UnautorisierteTueroeffnung dummy
      attr FL.UnautorisierteTueroeffnung room Haus

      #FL.UnautorisierteTueroeffnung definieren
      define FL.UnautorisierteTueroeffnungAn notify FL.Fensterkontakt1:open.* { fhem („set FL.UnautorisierteTueroeffnung on“) if (Value(„Otto1“) eq „off“ && Value(„Otto2“) eq „off“)}
      define FL.UnautorisierteTueroeffnungAus notify FL.Fensterkontakt1:open.* { fhem („set FL.UnautorisierteTueroeffnung off“) if (Value(„Otto1“) eq „on“ || Value(„Otto2“) eq „on“)}

      #Pushover Notification bei unautorisierter T√ľr√∂ffnung
      define Otto1BluetoothStatusPushover notify Otto1:(on|off) { system („curl -s -F ‚token=absv4aof8cq6o96uo6ytvazkvywey2‘ -F ‚user=xxxxxxxxxxxxxxxx‘ -F ‚message=Unautorisierte T√ľr√∂ffnung‘ https://api.pushover.net/1/messages.json„)}

      #Pushover Notification bei unautorisierter T√ľr√∂ffnung
      define Otto2BluetoothStatusPushover notify Otto2:(on|off) { system („curl -s -F ‚token=absv4aof8cq6o96uo6ytvazkvywey2‘ -F ‚user=xxxxxxxxxxxxxxxx‘ -F ‚message=Unautorisierte T√ľr√∂ffnung‘ https://api.pushover.net/1/messages.json„)}

    5. Hi,
      ich hänge mich als blutiger Neuanfänger mal hier dran, ist ok?
      Ich habe hier bereits das Problem, dass mein zweites iPhone (also das meiner Frau) nicht erkannt wird. Es steht nach wie vor mit Status ??? da.
      Hier meine Config:

      #Bluetooth-Anwesenheit
      define Arne_sein_iPhoneBT PRESENCE local-bluetooth D0:4F:7E:C5:FA:31 10 60
      define Sonja_ihr_iPhoneBT PRESENCE local-bluetooth F0:DB:F8:B2:A6:FB 10 60

      #Arnes iPhone definieren
      define Arne_sein_iPhone dummy
      attr Arne_sein_iPhone eventMap 1
      attr Arne_sein_iPhone room Mobile Geräte
      define FileLog_Arne_sein_iPhone FileLog ./log/Arne_sein_iPhone-%Y-%m.log Arne_sein_iPhone
      attr FileLog_Arne_sein_iPhone logtype text

      #Sonjas iPhone definieren
      define Sonja_ihr_iPhone dummy
      attr Sonja_ihr_iPhone eventMap 1
      attr Sonja_ihr_iPhone room Mobile Geräte
      define FileLog_Sonja_ihr_iPhone FileLog ./log/Sonja_ihr_iPhone-%Y-%m.log Sonja_ihr_iPhone
      attr FileLog_Sonja_ihr_iPhone logtype text

      #Arne_sein_iPhone auf on setzen bei Anwesenheit
      define Arne_sein_iPhoneOn notify Arne_sein_iPhone:present { fhem („set Arne_sein_iPhone on;; setstate watchdogArne_sein_iPhoneAbwesend defined“) if (Value(„Arne_sein_iPhone“) ne „on“) }

      #Sonja_ihr_iPhone auf on setzen bei Anwesenheit
      define Sonja_ihr_iPhoneOn notify Sonja_ihr_iPhone:present { fhem („set Sonja_ihr_iPhone on;; setstate watchdogSonja_ihr_iPhoneAbwesend defined“) if (Value(„Sonja_ihr_iPhone“) ne „on“) }

      #Arne_sein_iPhone auf off setzen nach 3 Min Abwesenheit
      define watchdogArne_sein_iPhoneAbwesend watchdog Arne_sein_iPhone:absent 00:03 Arne_sein_iPhone:present set Arne_sein_iPhone off
      attr watchdogArne_sein_iPhoneAbwesend regexp1WontReactivate 1
      attr watchdogArne_sein_iPhoneAbwesend room hidden

      #Sonja_ihr_iPhone auf off setzen nach 3 Min Abwesenheit
      define watchdogSonja_ihr_iPhoneAbwesend watchdog Sonja_ihr_iPhone:absent 00:03 Sonja_ihr_iPhone:present set Sonja_ihr_iPhone off
      attr watchdogSonja_ihr_iPhoneAbwesend regexp1WontReactivate 1
      attr watchdogSonja_ihr_iPhoneAbwesend room hidden

      Ich hab mir gedacht, ich mache es mir einfach, indem in erst mein iPhone konfiguriere (was auch anstandslos geklappt hat), mir anschließend alles in einen beliebigen Texteditor kopiere und mittels suchen&ersetzen editiere. Das vor allem auch, um Tippfehler zu vermeiden.
      Damit das iPhone meiner Frau auch immer brav BT „macht“ habe ich es zun√§chst mit meinem Mac gekoppelt, was aber irgendwie nicht so recht wollte, ich konnte anschlie√üend keine Daten per BT versenden/empfangen. Daher habe ich es dann mal mit der Freisprecheinrichtung meines Autos probiert. Das hat funktioniert. Daher vermute ich jetzt mal, dass das iPhone wie gew√ľnscht seine ID in die Welt schreit.

      Woran kann es sonst noch liegen?

      Gruß,
      Arne

  11. Tach Jörg.
    Ich habe mal deine Anwesendheitserkennung mit der Push-MSG bei Statusänderung. Antwort von dir am 25.11. funktioniert auch, nur ich bekomme alle 60sec eine Message. Wie kann ich das abstellen?
    Gruss

    1. In deinem gestern geposteten Code ein paar Kommentare weiter oben sehe ich gerade spontan schon einige Fehler. Poste doch nochmal deine aktuellen Codezeilen, die betroffen sind. Dann schau ich mir das n√§her an…

  12. Hallo und schönen 2ten Advent.
    Hier der LOG.
    Ich habe 2 Bluetooth Geräte integriert, eventuell kann man ja beide Geräte in einen Baustein zusammen fassen. Hab ich probiert aber nicht geschafft.

    #Bluetooth-Anwesenheit
    define Otto1Bluetooth PRESENCE local-bluetooth D6:XXXXXXXXXXXX 10 60
    define Otto2Bluetooth PRESENCE local-bluetooth 78:XXXXXXXXXXXX 10 60

    #Otto1 definieren
    define Otto1 dummy
    attr Otto1 eventMap 1
    attr Otto1 room Wohnung
    define FileLog_Otto1 FileLog ./log/Otto1-%Y-%m.log Otto1
    attr FileLog_Otto1 logtype text

    #Otto1 auf on setzen bei Anwesenheit
    define Otto1On notify Otto1Bluetooth:present { fhem („set Otto1 on;; setstate watchdogOtto1BluetoothAbwesend defined“) if (Value(„Otto1“) ne „on“) }

    #Otto1 auf off setzen nach 3 Min Abwesenheit
    define watchdogOtto1BluetoothAbwesend watchdog Otto1Bluetooth:absent 00:03 Otto1Bluetooth:present set Otto1 off
    attr watchdogOtto1BluetoothAbwesend regexp1WontReactivate 1
    attr watchdogOtto1BluetoothAbwesend room Wohnung

    #Otto2 definieren
    define Otto2 dummy
    attr Otto2 eventMap 1
    attr Otto2 room Wohnung
    define FileLog_Otto2 FileLog ./log/Otto2-%Y-%m.log Otto2
    attr FileLog_Otto2 logtype text

    #Otto2 auf on setzen bei Anwesenheit
    define Otto2On notify Otto2Bluetooth:present { fhem („set Otto2 on;; setstate watchdogOtto2BluetoothAbwesend defined“) if (Value(„Otto2“) ne „on“) }

    #Otto2 auf off setzen nach 3 Min Abwesenheit
    define watchdogOtto2BluetoothAbwesend watchdog Otto2Bluetooth:absent 00:03 Otto2Bluetooth:present set Otto2 off
    attr watchdogOtto2BluetoothAbwesend regexp1WontReactivate 1
    attr watchdogOtto2BluetoothAbwesend room Wohnung

    #Pushover einrichten
    define Pushover1 Pushover XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    attr Pushover1 icon remotecontrol/black_btn_TEXT
    attr Pushover1 room Wohnung

    #FL.UnautorisierteTueroeffnung definieren
    define FL.UnautorisierteTueroeffnung dummy
    attr FL.UnautorisierteTueroeffnung room Wohnung

    #FL.UnautorisierteTueroeffnung definieren
    define FLUnautorisierteTueroeffnungAn notify Wohnungstuer:open.* { fhem („set FL.UnautorisierteTueroeffnung on“) if (Value(„Otto1“) eq „off“)}
    define FLUnautorisierteTueroeffnungAus notify Wohnungstuer:open.* { fhem („set FL.UnautorisierteTueroeffnung off“) if (Value(„Otto1“) eq „on“)}

    #FL.UnautorisierteTueroeffnung definieren
    define FLUnautorisierteTueroeffnungAn notify Wohnungstuer:open.* { fhem („set FL.UnautorisierteTueroeffnung on“) if (Value(„Otto2“) eq „off“)}
    define FLUnautorisierteTueroeffnungAus notify Wohnungstuer:open.* { fhem („set FL.UnautorisierteTueroeffnung off“) if (Value(„Otto2“) eq „on“)}

    #Pushover Notification bei unautorisierter T√ľr√∂ffnung
    define FLUnautorisierteTueroeffnungPushover notify FL.UnautorisierteTueroeffnung:on { system („curl -s -F ‚token=XXXXXXXXXXXXXXXXXXXXXXX‘ -F ‚user=XXXXXXXXXXXXXXXXXXXXXXXXx‘ -F ‚message=Haust√ľr\nUnautorisierte T√ľr√∂ffnung‘ https://api.pushover.net/1/messages.json„)}

    #define Otto1BluetoothStatusPushover notify Otto1Bluetooth:(absent|present) { system („curl -s -F ‚token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX‘ -F ‚user=XXXXXXXXXXXXXXXXXXXXXXXXXXXX‘ -F ‚message=Anwesenheitserkennung\n@ ist %.‘ https://api.pushover.net/1/messages.json„)}

    1. Hi Jens,
      du hast zwei Eintr√§ge hintereinander mit „define FLUnautorisierteTueroeffnungAn“. Das kann so schon mal nicht funktionieren, da es unterschiedliche Bezeichnungen hinter define braucht. Bei der Nutzung von zwei Bluetooth-Devices machen aber zwei solcher Ausdr√ľcke, wie du sie verwendest, logisch schonmal keinen Sinn. Ersetzte diese beiden Eintr√§ge durch diesen einen (&& bedeutet in dem Beispiel UND, || bedeutet ODER):
      #FL.UnautorisierteTueroeffnung definieren
      define FLUnautorisierteTueroeffnungAn notify Wohnungstuer:open.* { fhem („set FL.UnautorisierteTueroeffnung on“) if (Value(„Otto1“) eq „off“ && Value(„Otto2“) eq „off“)}
      define FLUnautorisierteTueroeffnungAus notify Wohnungstuer:open.* { fhem („set FL.UnautorisierteTueroeffnung off“) if (Value(„Otto1“) eq „on“ || Value(„Otto2“) eq „on“)}
      Jetzt noch zu deinem Pushover-Befehl zur Übermittlung des Anwesenheitsstatus. Hier musst du als Trigger den Dummy Otto1 benutzen und nicht Otto1Bluetooth, da Otto1 immer nur bei Statusänderung einen entsprechenden Pushoverbefehl auslöst, Otto1Bluetooth dagegen kontinuierlich alle 10 bzw. 60 Sekunden. Es muss also lauten:
      define Otto1BluetoothStatusPushover notify Otto1:(off|on) { system („curl -s -F ‚token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX‘ -F ‚user=XXXXXXXXXXXXXXXXXXXXXXXXXXXX‘ -F ‚message=Anwesenheitserkennung\n@ ist %.‘ https://api.pushover.net/1/messages.json„)}
      Durch eine kleine √Ąnderung des Codes kann man auch direkt beide Dummies als Trigger nutzen und braucht damit keinen extra Code f√ľr Otto2:
      define OttoBluetoothStatusPushover notify Otto.:(off|on) { system („curl -s -F ‚token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX‘ -F ‚user=XXXXXXXXXXXXXXXXXXXXXXXXXXXX‘ -F ‚message=Anwesenheitserkennung\n@ ist %.‘ https://api.pushover.net/1/messages.json„)}
      Hoffe du verstehst die zugrundeliegende Logik jetzt langsam besser, so dass du durch Ausprobieren auch selbst zum Ziel kommst.
      Gr√ľ√üe
      Jörg

  13. Danke, jetzt wird mir einiges klar. Ich habe auch gutes Vorstellungsvermögen, doch an der Umsetzung hapert es. Die Begriffe sind mir zu neu, diese Zeichensetzung finde ich schon schwierig.
    Aber ich habe einen Fehler entdeckt und zwar bei dem Anwesenheitsstatus muss Otto1:(on|off) stehen.
    Jetzt funktioniert es tadellos.
    Danke f√ľr deine M√ľhe und Geduld.
    Super Blog, mach weiter so.
    Gruss
    Jens

    1. Bitte! Und danke f√ľr den Hinweis, habe meinen Kommentar entsprechend √ľberarbeitet, dass es Otto1:(on|off) heisst und NICHT Otto1:(absent|present). Funktioniert denn die Variante mit Otto.:(on|off) ebenfalls? Der . steht in diesem Fall als Platzhalter f√ľr exakt EIN beliebiges Zeichen, so dass Otto1 und Otto2 das notify ausl√∂sen k√∂nnen.

    2. Hallo,
      ich habe Otto.: nicht in Verwendung. Ich benutze Otto1.: .
      Wenn du willst kann ich das ja mal probieren.
      Habe mir jetzt einen Temperatursensor besorgt. M√∂chte dein Skript f√ľr die TempPush einsetzen. Mir reicht es aber wenn um 7Uhr die aktuelle Temp gepusht wir. Br√§uchte nur den Begriff f√ľr die aktuelle Temp, den Rest kann man ja fast so √ľbernehmen.
      Das Batterieskript hatte ich auch in Benutzung, doch da bekomme ich alle 60s von jedem Gerät eine Push in der steht Batteriewarnung ORT batterylevel:3.1V . Kann man das so machen das sie Warnung nur bei kritischem Stand kommt?
      Gruss

    3. Hi Jens,
      ich lasse mir einmal morgens auch um 7:30 Uhr die Temperatur sowie Luftfeuchtigkeit zuschicken. Bei mir sieht das so aus:
      define AussentempPushoverJay at *07:30:00 {my $TETemperatur = ReadingsVal(„TE.Temperatur“,“temperature“, „“);; my $TEHumidity = ReadingsVal(„TE.Temperatur“,“humidity“, „“);; system („curl -s -F “token=am4uA61Gx2Jw9GA24rePRyMJw8B3hz‘ -F ‚user=u4zDygNRGFbQUSmcxXj6fGsWJl9d93‘ -F ‚message=Terrasse\nTemperatur $TETemperatur¬įC\nLuftfeuchte $TEHumidity%‘ https://api.pushover.net/1/messages.json„)}
      Die im Artikel angegebene Batterie-Pushbenachrichtigung funktioniert bei mir zuverl√§ssig und schickt nur dann eine Pushnachricht, wenn ein Batterietausch ansteht (ich benutzte Homematic-Ger√§te). Diese senden dann z.B. „FL.Bewegungsmelder (CUL_HM) battery: ok“ an die Station, wenn alles in Ordnung ist. Hast du evtl. auch andere Ger√§te im Einsatz, die andere Werte senden? Falls ja, muss die if-Bedingung entsprechend angepasst werden.
      Gr√ľ√üe
      Jörg

    4. Ich habe fast nur HM Ger√§te. 3 funksteckdosen von intertechno. K√∂nnten wir auch per Mail schreiben? Bekomme die Batteriemeldungen auch nur von den Heizungsthermostaten („batterylevel:3.1V“).

    5. Hi Jens,
      ich hab es dir ja schon per Mail geschrieben, aber hier nochmal f√ľr alle:
      Ich habe den Programmcode f√ľr die Batteriemeldung im obigen Blogpost mit einem : erg√§nzt. Dadurch sollten die ungew√ľnschten Mitteilungen ausbleiben. Nur weiss ich nicht, ob die Heizungsthermostate neben der Mitteilung der Volt-Werte bei Unterschreitung eines gewissen Wertes zus√§tzlich eine entsprechende Nachricht √ľbermitteln, damit das notify bei einer leeren Batterie ausl√∂st. Ich werde das mal pr√ľfen und ggf. den Code entsprechend anpassen, damit auch das klappt.

    6. Hallo Jörg,
      Ich habe den Push-Dienst jetzt auch mit in FHEM aufgenommen:

      define BatteriewarnungNotify notify .*:[Bb]attery:.* { if(„%“ !~ m/ok/) { system („curl -s -F ‚token=am4uA61Gx2Jw9GA24rePRyMJw8B3hz‘ -F ‚user=u4zDygNRGFbQUSmcxXj6fGsWJl9d93‘ -F ‚message=Batteriewarnung\n@ %‘ https://api.pushover.net/1/messages.json„)}}

      Steht in der Nachricht dann eigentlich auch, welches Gerät gemeldet hat?

      Ich nutze kein HM, sondern FS20. Dort habe ich bisher so abgefragt, um eine eMail zu generieren:

      define CheckBat notify KlimaGeraet:.* {\
      if („%EVTPART1“ ne „ok“ && „%EVTPART0“ eq „battery:“) {\ …

      W√ľrde Deine L√∂sung meine ersetzen k√∂nnen? Ich durchblicke Dein notify n√§mlich nicht so ganz.

      Danke

    7. Ja, durch das @ in der Nachricht wird der Name des Ger√§tes √ľbermittelt.
      Bis auf die Tatsache, dass dein Notify nur vom Device „KlimaGeraet“ getriggert werden kann und mein Notify durch jedes Ger√§t, macht dein Notify genau das gleiche. Meine L√∂sung w√ľrde diene L√∂sung damit ersetzen k√∂nnen, ja.

    8. Hallo Jens,
      Kannst du mir mal den fertigen Code mit den zwei Handys in Abwesenheit schicken.
      Möchte das gerne realisiere, komme aber nicht weiter. Vielen Dank.

    9. Hallo Jens,
      kannst du mir vielleicht den fertigen Code senden.Habe soweit alles eingetragen und stehe gerade vor dem Problem, dass die Pushmeldung schon kommt, wenn der watchdog das dummy auf off schaltet. Bin auch noch Anfänger.
      Danke.

  14. Hi Jörg,

    welche PERL Module m√ľssen denn dazu auf meinem QNAP installiert sein, dass dieser PUSH funktioniert?
    Irgendwie macht der bei mir nämlicht genau nix.

    LG Benny

    1. Hi danke f√ľr Deine z√ľgige Antwort,
      leider hab ich CURL zumindest f√ľr PHP auf meinem QNAP schon installiert und laut der PHPinfo wird es auch unterst√ľtzt. Trotzdem kommt nix raus

    2. Merkw√ľrdig. Wenn ich den CURL-Pushnachrichten-Befehl direkt √ľber die Konsole auf meinem Raspberry Pi absetze, kommt die Pushmitteilung am iPhone an. Wenn ich die selbe Nachricht per Konsole auf meinem QNAP-NAS absetze, kommt sie nicht an, obwohl CURL bereits standardm√§√üig auf dem QNAP-NAS installiert ist. Das verstehe ich ehrlich gesagt auf Anhieb auch nicht. Wenn ich dahinter komme, werde ich mich nochmal melden…

    3. Ich hab mich da gestern doch noch einige Zeit mit besch√§ftigt, und mir ist witziger weise aufgefallen, dass wenn Du das Ganze mit „http://“ statt „https://“ raus schickst funktioniert es.

  15. Hey Jörg,

    ich bin zwar kein Perl programmierer, aber andere Sprachen programmier ich, hab mich mal kurz hingesetzt und was gebastelt, vllt hilft es dir und den anderen auch ..

    Ich hab ne kurze perl Funktion geschrieben, welche ähnlich wie die Prowl funktioniert.
    meine funktion ist in der 99_MyUtils.pm

    sub pushover
    {
    ## input your apps and user token
    my %pushoverApps = („APP1“, „jkljadkfh8787dsfa876f786asdf“,“APP2″,“dfhadfafd786afasdfasdf67asdf“);
    my $userToken =“kjklajfd897897adfadfadfdfasfdadf“;
    #######
    my $subject = $_[0];
    my $app = $pushoverApps{$_[1]};
    my $ret = „“;
    $ret .= system(„curl -s -F ‚token=$app‘ -F ‚user=$userToken‘ -F ‚message=$subject‘ https://api.pushover.net/1/messages.json„);
    $ret =~ s,[\r
    ]*,,g;
    Log 1, „pushover returned: $ret“;
    }

    und ein aufruf aus der fhem.cfg als bsp
    define Tuerentriegelt2 notify 13424_KeymaticFlur.unlocked {my $domtest=“lala234″;;pushover(„T√ľre wurde verriegelt $domtest“,“APP1″)}

    wie du hier sehen kannst ist es somit auch m√∂glich variablen zu √ľbergeben in der message…

    als hinweis in der funktion im oberen bereich deklariert man Identifikatoren(APP1,APP2) und den dazugeh√∂rigen Schl√ľssel… somit kann man unendlich viele APPs haben und die ansprechen…

    hoffe es hilft…

    Gr√ľ√üe
    Dom

    1. Hi Dom,
      das ist echt cool, danke.
      Könntest du deinen Code evtl. noch ergänzen, damit man neben mehreren APPs (APP1,APP2) auch mehrere userToken (USER1,USER2) nutzen kann? Dann wäre es genau das, was ich benötige, um flexibel an mehrere Endgeräte passgenaue Pushover-Notifications abzusetzen. :)

      Gr√ľ√üe
      Jörg

  16. Interessant wäre es sicherlich auch, eine Meldung zu bekommen wenn die Rauchmelder Alarm geschlagen haben.
    Da ich selbst noch keine Rauchmelder im System habe, kann ich hier im Moment noch keinen Code beisteuern.

  17. Mit folgendem Code wird der HA.Jay Status schöner (Haus und durchgestrichenes Haus) angezeigt:

    attr HA.Jay devStateIcon on:HOME_Status.1 off:HOME_Status.0

  18. Hi Jörg.
    Kurze Frage. Ich habe den Code hier eingef√ľgt:
    #Pushover Notification Zuhause
    define GalaxyS4Pushover notify GalaxyS4:on {system (‚Äúcurl -s -F ‚Äėtoken=aLQusgz8tj65i8XXXXGvBTewPA‚Äô -F ‚Äėuser=u2V7SwXchLeNxXXXXXXdxvJmbhtK‚Äô -F ‚Äėsound=pushover‚Äô -F ‚Äėmessage=Hallo\nDanis GalaxyS4 ist Zuhause‚Äô https://api.pushover.net/1/messages.json‚Äú)}

    Aber ich bekomme in FHEM Logfile immer ein:
    2014.02.01 18:48:39 3: GalaxyS4Pushover return value: Unrecognized character \xE2; marked by <– HERE after { system (<– HERE near column 11 at (eval 131) line 1.

    Kannst du mir sagen, wo ich da den Fehler habe? N Leerzeichen zuviel oder zu wenig? Ich komm nicht mehr weiter. Danke f√ľr deine Hilfe. PS: Super Blog. Hilft teilweise besser als das FHEM Forum ;) Gruss Danny

  19. Hi,
    ist es auch M√∂glich sich eine Ausgabe vom T√ľr/Fensterkontakt ausgeben zu lassen ?
    Ich habe es versucht irgendwie Graphen zu erstellen in der Art vom Heizungsthermostat…leider f√ľhrte das zu keinen Erfolg…

    Gruß
    Sven

    1. Hi,
      ich verstehe deine Frage nicht wirklich. Willst du dir eine grafische Auswertung (Graph) eines T√ľr-/Fensterkontakts per Pushnachricht aufs Smartphone schicken lassen? Oder willst du in der FHEM-Oberfl√§che einen Graphen erstellen, welcher die verschiedenen Zust√§nde eines T√ľr-/Fensterkontakts anzeigt?
      Gr√ľ√üe
      Jörg

    2. Hallo Jörg,
      die Pushup Nachrichten √ľber Pushover-Notification funktionieren Super. Danke f√ľr die Anleitung.
      …Ja genau, ich m√∂chte im fhem einen Graphen erstellen lassen. Wenn das Heizungsthermostat aufdreht, kann man ja auch sp√§ter auslesen, wann und wie lange das Ventil aufgedreht war um den Heizk√∂rper aufzuheizen. So etwas oder so in der Art m√∂chte ich das f√ľr die Fenster und T√ľrkontakte anzeigen lassen. Wann welches Fenster oder welche T√ľr, wie lange ge√∂ffnet war.
      Ich benutze die HomeMatic Funk-T√ľr-/ Fensterkontakte, fhem, Hmm-Lanadapter, Rasperry-Pi mit COC Erweiterung, Android, ANDfhem, Pushover-Notification…

      Danke f√ľr deine M√ľhe
      Sven

  20. Hallo J√∂rg, erstmal ein gro√ües Lob f√ľr die super Erkl√§rungen. Mittlerweile sehe ich den Wald vor lauter B√§umen nicht mehr.

    Hier mal ein Auszug aus der fhem.cfg

    define HomeStatus FS20 696c 00
    attr HomeStatus room Haus
    attr HomeStatus alias √úberwachung Ein/Aus
    attr HomeStatus webCmd on:off

    define CUL_HM_HM_SEC_SC_2_24FD67 CUL_HM 24FD67
    attr CUL_HM_HM_SEC_SC_2_24FD67 alias WZ_Schiebet√ľr
    attr CUL_HM_HM_SEC_SC_2_24FD67 room T√ľr-/Fenster

    #FL.UnautorisierteTueroeffnung definieren
    define FL.UnautorisierteTueroeffnung dummy
    attr FL.UnautorisierteTueroeffnung webCmd off
    attr FL.UnautorisierteTueroeffnung room Haus

    #FL.UnautorisierteTueroeffnung definieren
    define FLUnautorisierteTueroeffnungAn notify CUL_HM_HM_SEC_SC_2_24FD67:open.* { fhem („set FL.UnautorisierteTueroeffnung on“) if (Value(„HomeStatus“) eq „off“)}
    define FLUnautorisierteTueroeffnungAus notify CUL_HM_HM_SEC_SC_2_24FD67:open.* { fhem („set FL.UnautorisierteTueroeffnung off“) if (Value(„HomeStatus“) eq „on“)}

    #Pushover Notification bei unautorisierter T√ľr√∂ffnung
    define FLUnautorisierteTueroeffnungPushover notify FL.UnautorisierteTueroeffnung:on { system („curl -s -F ‚token=xxxxxx‘ -F ‚user=xxxxxx‘ -F ‚message=WZ\nUnautorisierte T√ľr√∂ffnung‘ https://api.pushover.net/1/messages.json„)}

    LOGFILE

    2014.02.08 18:47:40 3: FLUnautorisierteTueroeffnungPushover return value: -1
    2014.02.08 18:47:51 3: FS20 set HomeStatus on
    2014.02.08 18:47:56 3: FLUnautorisierteTueroeffnungPushover return value: -1
    2014.02.08 18:49:59 3: FS20 set HomeStatus off
    2014.02.08 18:50:27 3: FLUnautorisierteTueroeffnungPushover return value: -1

    Nachrichten senden/empfangen funktioniert.
    Bekomme es aber nicht hin diesen Vorgang in Abhängigkeit mit dem Schalter zu nutzen.
    Egal welchen Status mein Schalter hat, es wird immer eine Meldung abgesetzt.
    Schau mal bitte was da schief läuft.

    Vielen Dank
    Stephan

    1. Hi Stephan,
      danke f√ľr dein Lob!
      Dein Auszug sieht eigentlich nicht verkehrt aus… Kann mir eigentlich nur vorstellen, dass „HomeStatus“ nicht korrekt auf „on“ bzw. „off“ gesetzt wird. Kannst du das mal √ľberpr√ľfen? Du kannst den Status von „HomeStatus“ zu Testzwecken ertmal auch z.B. direkt √ľber den FHEM-Konsolenbefehl „set HomeStatus off“ manuell setzen und dann mal versuchen, ob die Pushmitteilung dann bei einer T√ľr√∂ffnung ausgef√ľhrt wird.
      Gr√ľ√üe
      Jörg

    2. Hallo Jörg,
      danke f√ľr die Antwort.

      Habe die Zeilen noch mal neu eingegeben und einen Restart gemacht.
      Warum auch immer jetzt geht es.

      Vielen Dank
      Stephan

  21. Hi,
    mal wieder eine super Anleitung. Vielen Dank. Ich mußte auf meinem PI noch Curl nachinstallieren, aber dann ging es. Hab mein FHEM in dem Raspbmc Image rein installiert, da ist anscheinend Curl standardässig nicht mit dabei.

    ciao
    Martin

    1. Hi Martin,
      danke f√ľr den Tipp! Wer also Curl nachinstallieren muss, kann das √ľber den Terminalbefehl „sudo apt-get install curl“ tun.
      Gr√ľ√üe
      Jörg

  22. Vielen Dank f√ľr die super Anleitungen.
    Ich w√ľrde gerne beim Ansprechen der Rauchmelder eine Puschover Nachricht bekommen, aber es funzt noch nicht, bin absoluter Anf√§nger…
    fhem.cfg:

    #Feueralarm definieren
    define Feueralarm dummy
    attr Feueralarm room Sicherheit

    #Feueralarm definieren
    define FeueralarmAn notify TRX_KD101_3b9100 smoke:alert.* { fhem („set Feueralarm on“) if (Value(„HA.Jay“) eq „off“)}

    #Pushover Notification bei Feueralarm
    define FeueralarmPushover notify Feueralarm:on { system („curl -s -F ‚token=xxxxxxxxxxxxxxxxxxxx‘ -F ‚user=xxxxxxxxxxxxxxxxxxxxxxxxxxxx‘ -F ‚message=Feuer\nRauchmelder angesprochen‘ https://api.pushover.net/1/messages.json„)}

    Diese angaben sind vom Rauchmelder:

    Internals
    DEF
    KD101 3b9100 smoke
    IODev
    TRX_0
    NAME
    TRX_KD101_3b9100
    NR
    24
    STATE
    alert
    TRX_SECURITY_deviceid
    3b9100
    TRX_SECURITY_devicelog
    smoke
    TRX_SECURITY_type
    KD101
    TYPE
    TRX_SECURITY
    Readings
    smoke
    alert
    2014-02-02 15:35:14
    state
    alert
    2014-02-24 18:12:50

  23. Hallo Jörg

    Deine Seite ist toll! Anregungen gibt es so viele.
    Pushover klasse umgesetzt und erläutert!

    Was mir jetzt auff√§llt, die Batteriestatusmeldung k√∂nnte man doch einfach auf die HM Rauchmelder √ľbertragen, oder?
    Stelle mir das so vor:
    define FeuermelderNotify notify Rauch.*:state:.* { if(„%“ !~ m/off/) { system („curl -s -F ‚token=zyx‘ -F ‚user=xuy‘ -F ‚message=Feuermelder\n@ %‘ https://api.pushover.net/1/messages.json„)}}
    Die Melder habe ich nach dem Schema „Rauch.Zimmer“ benannt und liefern im Normalfall „state=off“ zur√ľck.
    Was meinst Du, stimmt die if-Bedingung so?

    Gruß,
    Andreas

    1. Hi Andreas,
      weiss leider nicht genau, welchen Status die Rauchmelder haben, sofern sie ausl√∂sen. Denke so k√∂nnte es klappen, sofern sich der Status bei Erkennung von Rauch auf „alert“ √§ndert:
      define FeuermelderNotify notify Rauch.*:alert.* { system („curl -s -F ‚token=zyx‘ -F ‚user=xuy‘ -F ‚message=Feuermelder\n@ %‘ https://api.pushover.net/1/messages.json„)}
      Ich w√ľrde das einfach mal „live“ testen und den Status entsprechend anpassen, sofern notwendig. Meld dich doch einfach nochmal, ob es geklappt hat.
      Gr√ľ√üe
      Jörg

    2. Der Status zur Erkennung des auslösenden Rauchmelders im Team, (define SDTeam CUL_HM ABCDEF01) ist: (SDTeam.*:.*smoke_detect.*), das ganze notify wäre dann getestet:
      define Feueralarm_Pushover notify (SDTeam.*:.*smoke_detect.*) {if(ReadingsVal(„SDTeam“,“smoke_detect“,““)ne „-„) { system („curl -s -F ‚token=zyx‘ -F ‚user=xuy‘ -F ‚message=FEUERALARM\nRauchmelder $EVTPART1 hat ausgel√∂st!‘ https://api.pushover.net/1/messages.json„)}}

    3. Wobei CUL_HM ABCDEF dein Master-Rauchmelder oder ein einzelner Rauchmelder ist. Hoffe so ist alles klar, sonst frag nur noch einmal nach, ich habe selber Tage damit verbracht, bis es endlich einwandfrei lief! ;-)

    4. Hi Jörg
      Danke f√ľr die Info. Zwischenzeitlich hat sich auch noch Richi zu Wort gemeldet und einen wichtigen Hinweis gegeben, „smoke_detect.*“ ist einzusetzen.
      Ich hab da noch etwas im Forum entdeckt:
      http://forum.fhem.de/index.php/topic,9934.165.html
      Tommy82 und crissiloop haben da eine gute Beschreibung gegeben.
      Da wird auch elegant das Pushover Modul genutzt, das fhem integriert hat.
      Hab ich so bei mir umgesetzt.
      Gr√ľ√üe,
      Andreas

  24. In Fhem gibt es ein PushoverModul, was die Nutzung mit dem Pushover Service vereinfacht.
    Es muss nun kein Curl mehr verwendet werden. Es reicht ein zwei Zeiler. Den Tokenkey und den Anwendungskey braucht man somit nur einmal definieren.
    Beschreibung in der CommandRef.

  25. Hallo Jörg,

    Dein Blog ist richtig klasse! Er hat mir sehr den Einstieg in FHEM erleichtert. Im Moment bin ich noch dabei, die Anwesenheitserkennung mit Bluetooth zu konfigurieren und nach einem reinen Copy&Paste (und nat√ľrlich anpassen der MAC-Adresse :-) funktioniert das auch schon prima. Allerdings will ich das ganze verstehen, weswegen Copy&Paste da nur ein Anfang sein kann.

    Nur mal eine einfache Verständnisfrage zu den paar Zeilen in der fhem.cfg:

    „define HA.Jay dummy“
    Hat das „HA“ und das „Jay“ eigentlich eine tiefere Bedeutung (sprich, ist das FHEM-spezifisch) oder k√∂nnte ich da auch
    „define Obst.Torte dummy“ schreiben? Ich w√ľrde ja vermuten, dass HA f√ľr Haus steht und Jay du bist.
    Also das Du ein „Unterobjekt“ deines eigenen Hauses bist. :-) Wenn ich da richtig liege, wundert mich halt, dass so viele andere die nicht J√∂rg heissen, den Code einfach 1:1 √ľbernehmen.

    √Ąhnlich auch bei den folgenden Zeilen:

    define FL.UnautorisierteTueroeffnung dummy
    attr FL.UnautorisierteTueroeffnung room Haus

    Hier steht FL vermutlich f√ľr Flur. Aber „UnautorisierteTueroeffnung“ ist in diesem Fall kein Objekt mehr, sondern doch eigentlich ein Ereignis, oder?
    Wie Du siehst, k√§mpfe ich effektiv gerade mit dem Verst√§ndnis der FHEM-eigenen Script-Sprache. Leider gibt das allgegenw√§rtige FHEM-Einsteiger-PDF leider auch nur wenig mehr Durchblick. Sorry, f√ľr die Anf√§nger-Fragen. :-)

    Viele Gr√ľ√üe
    Timo

    1. Hi Timo,

      richtig, HA ist bei mir die Abk√ľrzung f√ľr Haus und Jay ist mein Identifkationsname. Du kannst nat√ľrlich irgendetwas nehmen, gerne auch Obst.Torte. Ich mache es immer so, dass ich einen Dummy immer einem Raum und dann eben einen Namen zur Identifkation zuweise, damit man sich gut strukturiert wiederfindet.
      Mit „FL.UnautorisierteTueroeffnung“ hast du Recht, dass ist eigentlich ein Event und m√ľsste laut „korrekter“ Syntax eigentlich „FL.TuerUnautorisiertGeoeffnet“ oder „FL.Tuer.UnautorisiertGeoeffnet“ lauten. Und ja, FL steht bei mir f√ľr Flur. Ich denke du bist auf dem besten Weg dich in FHEM einzulernen. Was am Anfang noch schwierig bzw. unverst√§ndlich ist, wird irgendwann einfacher, versprochen. :)
      Gr√ľ√üe
      Jörg

  26. Hallo Jörg,

    ich w√ľrde eine Anwesenheitserfassung gerne √ľber 3 Homematik Funk-Handsender realisieren, da bei uns auch mal die Eltern, bzw Schwiegereltern ins Haus m√ľssen, die haben jedoch kein Smartphone … Hat das auch schon mal jemand probiert ob das auch mit einem der 3 verf√ľgbaren Handsender funktioniert?

    Danke vorab
    Markus

  27. Hallo zusammen,

    da hab ich mal wieder ein Problem was ich nicht verstehe.

    Wenn ich den Abschnitt „Dashboard“ auskommentiere, bekomme ich beim √∂ffnen Wohnzimmer eine Pushovernachricht wenn der Homestatus „EIN“ ist.

    Sobald ich den Abschnitt „Dashboard“ aktiviere, √ľberschlagen sich die Pushovernachrichten.
    Es wird dann auch im Filelog (FileLog_CUL_HM_HM_SEC_SC_2_xxxxxx) im 5s Takt der Status eingetragen.

    FileLog Auszug:

    2014-05-08_17:46:07 Wohnzimmer open
    2014-05-08_17:46:07 Wohnzimmer contact: open (to HMLAN1)
    2014-05-08_17:46:12 Wohnzimmer open
    2014-05-08_17:46:12 Wohnzimmer contact: open (to HMLAN1)
    2014-05-08_17:46:17 Wohnzimmer open
    2014-05-08_17:46:17 Wohnzimmer contact: open (to HMLAN1)
    2014-05-08_17:46:22 Wohnzimmer open
    2014-05-08_17:46:22 Wohnzimmer contact: open (to HMLAN1)
    2014-05-08_17:46:33 Wohnzimmer open
    2014-05-08_17:46:33 Wohnzimmer contact: open (to HMLAN1)
    2014-05-08_17:46:33 Wohnzimmer Activity: alive
    2014-05-08_17:46:33 Wohnzimmer open
    2014-05-08_17:46:33 Wohnzimmer contact: open (to HMLAN1)
    2014-05-08_17:46:38 Wohnzimmer open
    2014-05-08_17:46:38 Wohnzimmer contact: open (to HMLAN1)
    2014-05-08_17:46:43 Wohnzimmer open
    2014-05-08_17:46:43 Wohnzimmer contact: open (to HMLAN1)
    2014-05-08_17:46:48 Wohnzimmer open
    2014-05-08_17:46:48 Wohnzimmer contact: open (to HMLAN1)
    2014-05-08_17:46:53 Wohnzimmer open
    2014-05-08_17:46:53 Wohnzimmer contact: open (to HMLAN1)
    2014-05-08_17:47:02 Wohnzimmer open
    2014-05-08_17:47:02 Wohnzimmer contact: open (to HMLAN1)

    FHEM.CFG

    #===========================================================================================
    #= Dashboard ===============================================================================
    #===========================================================================================
    define anyViews Dashboard
    attr anyViews dashboard_activetab 5
    attr anyViews dashboard_colcount 1
    attr anyViews dashboard_rowcentercolwidth 100,100
    attr anyViews dashboard_rowcenterheight 900
    attr anyViews dashboard_showfullsize 1
    #attr anyViews dashboard_tab1groups Straße,Sicherheit,Heimmeldesystem,Alarm Heimmeldesystem,Haustuer,Auto
    attr anyViews dashboard_tab1name Sicherheit
    #attr anyViews dashboard_tab1sorting t0c0,Sicherheit,true,768,427:t0c0,Heimmeldesystem,true,769,208:t0c0,Alarm Heimmeldesystem,true,770,133:t0c0,Auto,true,1539,97:t0c0,Straße,true,1537,97:t0c0,Haustuer,true,1539,293:
    attr anyViews dashboard_tab2groups Bridge,TV,LAN,WLAN,Batteriestatus
    attr anyViews dashboard_tab2name Information
    attr anyViews dashboard_tab2sorting t1c0,TV,true,840,206:t1c0,LAN,true,721,206:t1c0,Batteriestatus,true,841,422:t1c0,WLAN,true,723,206:t1c0,Bridge,true,725,115:
    attr anyViews dashboard_tab3groups Garten,Beet
    attr anyViews dashboard_tab3name Garten
    attr anyViews dashboard_tab3sorting t2c0,Garten,true,766,155:t2c0,Beet,true,775,153:
    attr anyViews dashboard_tab4groups Temperaturen,Temperaturwarnung vom Aussenfuehler_Terasse
    attr anyViews dashboard_tab4name Wetter
    attr anyViews dashboard_tab4sorting t3c0,Temperaturen,true,848,422:t3c0,Temperaturwarnung vom Aussenfuehler_Terasse,true,0,0:
    attr anyViews dashboard_tab5groups geplante_Schaltzeiten_von_Heizung_Auto,geplante_Schaltzeiten_von_LED_Terasse_Boden,geplante_Schaltzeiten_von_Beet_Licht,geplante_Schaltzeiten_von_Beet_Quellsteine,Zeitschaltuhr
    attr anyViews dashboard_tab5name Zeitschaltuhren
    attr anyViews dashboard_tab5sorting t4c0,Zeitschaltuhr,true,1627,149:t4c0,geplante_Schaltzeiten_von_Beet_Licht,true,835,107:t4c0,geplante_Schaltzeiten_von_Beet_Quellsteine,true,790,201:t4c0,geplante_Schaltzeiten_von_Heizung_Auto,true,838,202:t4c0,geplante_Schaltzeiten_von_LED_Terasse_Boden,true,787,202:
    attr anyViews dashboard_tabcount 5
    attr anyViews room Unsorted
    define anyViews_weblink weblink htmlCode {DashboardAsHtml(„anyViews“)}
    attr anyViews_weblink room DashboardRoom

    #===========================================================================================
    # – √úberwachung – ==========================================================================
    #===========================================================================================

    define HomeStatus FS20 123d 11
    attr HomeStatus IODev COC
    attr HomeStatus alias √úberwachung Ein/Aus
    attr HomeStatus fp_Erdgeschoss 50,310,2,
    attr HomeStatus fp_Information 300,750,2,
    attr HomeStatus group Sicherheit
    attr HomeStatus room Haus,Favourites
    attr HomeStatus webCmd on:off

    #===========================================================================================
    # – Wohnzimmer – ==============================================================================
    #===========================================================================================

    define Wohnzimmer CUL_HM 111111
    attr Wohnzimmer IODev HMLAN1
    attr Wohnzimmer actCycle 028:00
    attr Wohnzimmer actStatus alive
    attr Wohnzimmer alias Wohnzimmer_Terrassent√ľr
    attr Wohnzimmer autoReadReg 4_reqStatus
    attr Wohnzimmer devStateIcon open:fts_window_2w_open closed:fts_window_2w
    attr Wohnzimmer expert 2_full
    attr Wohnzimmer firmware 2.2
    attr Wohnzimmer fp_Erdgeschoss 340,1050,1,Terrassent√ľr
    attr Wohnzimmer fp_Information 120,378,1,
    attr Wohnzimmer group Sicherheit
    attr Wohnzimmer model HM-SEC-SC-2
    attr Wohnzimmer peerIDs 00000000,
    attr Wohnzimmer room Haus
    attr Wohnzimmer serialNr xxxxxxxxxxxxx
    attr Wohnzimmer subType threeStateSensor
    attr Wohnzimmer webCmd open:closed
    define FileLog_CUL_HM_HM_SEC_SC_2_xxxxxx FileLog ./log/Wohnzimmer-%Y.log Wohnzimmer
    attr FileLog_CUL_HM_HM_SEC_SC_2_xxxxxx group HM-Sicherheit
    attr FileLog_CUL_HM_HM_SEC_SC_2_xxxxxx logtype text
    attr FileLog_CUL_HM_HM_SEC_SC_2_xxxxxx room 2_File_Log

    #===========================================================================================
    # – Sicherheitsabfragen – ==================================================================
    #===========================================================================================

    #FL.UnautorisierteTueroeffnung WOHNZIMMER TERRASSENT√úR definieren
    define FL.UnautorisierteTueroeffnung dummy
    attr FL.UnautorisierteTueroeffnung alias Wohnzimmer_Schiebet√ľr Unautorisierte √Ėffnung
    attr FL.UnautorisierteTueroeffnung group Sicherheit
    attr FL.UnautorisierteTueroeffnung room Haus
    attr FL.UnautorisierteTueroeffnung webCmd off:on

    #FL.UnautorisierteTueroeffnung definieren
    define FLUnautorisierteTueroeffnungAn notify Wohnzimmer:open.* { fhem („set FL.UnautorisierteTueroeffnung on“) if (Value(„HomeStatus“) eq „on“)}
    define FLUnautorisierteTueroeffnungAus notify Wohnzimmer:open.* { fhem („set FL.UnautorisierteTueroeffnung off“) if (Value(„HomeStatus“) eq „off“)}

    #Pushover Notification bei unautorisierter T√ľr√∂ffnung
    define FLUnautorisierteTueroeffnungPushover notify FL.UnautorisierteTueroeffnung:on { system („curl -s -F ‚token=xxxxxx‘ -F ‚user=xxxxxx‘ -F ‚priority=1′ -F ’sound=echo‘ -F ‚message=Wohnzimmer\nUnautorisierte T√ľr√∂ffnung‘ https://api.pushover.net/1/messages.json„)}
    attr FLUnautorisierteTueroeffnungPushover room Push

    1. Haben den Fehler gefunden. Es lag am Sensor selber der aufgrund einer schwachen Batterie eine Fehlfunktion hatte.

  28. Hallo,

    irgendwie klappt das bei mir nicht…

    Ich möchte zu einer bestimmten Uhrzeit den Ertrag meiner PV-Anlage per Push verschicken. Dazu benutze ich folgende Zeile (UserKey habe ich unkenntlich gemacht:

    define PVPushover at *18:35:00 {my $PVVerbr_Dummy = ReadingsVal(‚ÄúPV‚ÄĚ,‚ÄĚVerbrauch‚ÄĚ, 0);; my $PVErtr_Dummy = ReadingsVal(‚ÄúPV‚ÄĚ,‚ÄĚErtrag‚ÄĚ, 0);; system (‚Äúcurl -s -F ‚Äėtoken=ar2xZB4XVkRX583vto79tQjFaU9WkW‚Äė -F ‚Äėuser=<<>>‚Äė -F ‚Äėmessage=PV\nVerbrauch $PVVerbr_Dummy\nErtrag $PVErtr_Dummy‚Äô https://api.pushover.net/1/messages.json‚ÄĚ)}

    Wenn der Zeitpunkt nun kommt, bekomme ich keine Nachricht.
    Habe keine Ahnung warum. Hast Du evtl. einen Tip?

    Danke
    Deinjo

    1. Hallo,

      hab’s gel√∂st. Bin nun direkt √ľber den Pushover Dienst von FHEM gegangen.
      Das klappt nun bestens.

      Gruß
      Deinjo

      P.S. Dein Blog ist wirklich super. Immer wieder neue Ideen.

    2. Am besten Mal ins Logfile (zu finden auf der FHEM-Oberfläche links unten) schauen, ob bzw. welcher Fehler zu der angegebenen Uhrzeit angezeigt wird. Evtl. hilft das ja weiter..

  29. Hi, ich wollte die Pushover Funktion heute auch testen . Aber ohne bluetooth Adapter . Leider bekomm ich keine Nachricht auf mein Handy

    #FL.UnautorisierteTueroeffnung definieren
    define FL.UnautorisierteTueroeffnung dummy
    attr FL.UnautorisierteTueroeffnung room Haus

    #FL.UnautorisierteTueroeffnung definieren
    define FLUnautorisierteTueroeffnungAn notify FL.Tuerkontakt:open.* { fhem („set FL.UnautorisierteTueroeffnung on“)}
    define FLUnautorisierteTueroeffnungAus notify FL.Tuerkontakt:open.* { fhem („set FL.UnautorisierteTueroeffnung off“)}

    #Pushover Notification bei unautorisierter T√ľr√∂ffnung

    define FLUnautorisierteTueroeffnungPushover notify FL.UnautorisierteTueroeffnung:on { system („curl -s -F ‚token=XxxxxxctEBmv2JN66ASSn6kcxxxxx‘ -F ‚user=Xxxxxxxxxxx‘ -F ‚device=htcone‘ -F ‚priority=1′ -F ’sound=siren‘ -F ‚message=Flur\nUnautorisierte T√ľr√∂ffnung‘ https://api.pushover.net/1/messages.json„)}

    1. Auf welchem System l√§uft dein FHEM? Vermutlich ist dort noch ein Curl installiert, welches f√ľr das Absetzen des Pushover-Befehls notwendig ist. Zum Installieren per Terminal einloggen und mit dem admin-User „sudo apt-get install curl“ ausf√ľhren. Dann evtl. noch einen Reboot und hoffentlich klappts dann.. Viel Erfolg!
      Gr√ľ√üe
      Jörg

  30. Erst mal vielen dank f√ľr die guten Beitr√§ge,dir mir schon viel als Neuling geholfen haben.
    Da ich ein Windows Phone habe, muss ich auf Pushalot ausweichen. Scheint wohl ein ähnlicher Dienst zu sein. Leider klappt das aber irgendwie nicht.

    Wenn ich diese Zeile wie bei Pushalot beschrieben in die console meiner raspberrypi eingebe geht es.
    curl -F „AuthorizationToken=35b9832daffc4793aa477e44c0b0910f“ \
    -F „Body=This is a test message body.“ \
    https://pushalot.com/api/sendmessage

    Wenn ich das aber statt der Zeilen die hier angegeben sind einf√ľge, wird immer ein Fehler ausgespuckt das in der Zeile bei curl ein Fehler ist.

    Muss ich da vielleicht Irgendwas anderst schreiben oder {}oder() weglassen.

    Danke

  31. Als Push-Dienst kann man mit dem IPhone (andere Smartphones weiß ich nicht) ganz einfach ein Konto bei outlook.de verwenden. Jede Mail die dort eintrifft, löst eine Push-Nachricht aus. Man kann in outlook.de aber auch Regeln definieren und beliebig aktivieren, dass bestimmte Meldungen aus seinem Haus beim Eintreffen in Unterordner verschoben werden, um keinen Push auszulösen.

  32. Hallo Jörg,

    danke f√ľr deine Posts zu fhem. Diese haben mir den Einstieg sehr erleichtert.
    Allerdings bekomme ich es nicht hin, einen Pushover Benachrichtigung bei lock unlock oder open des KeyMatic zu erhalten (egal ob √ľber curl oder direkt √ľber das Pushover Plugin).

    So sieht mein Code aus:

    define FL.TueroeffnungPushover notify FL.Tuerschloss:unlock set HomeSweetHome msg ‚Flur‘ ‚Haust√ľre entriegelt.‘

    Mit einem HomeMatic Funk-Schaltaktor f√ľr Markenschalter klappt diese Code √ľbrigens wunderbar:
    define FL.LichtanPushover notify FL.Licht:on set HomeSweetHome msg ‚Flur‘ ‚Licht an.‘

    Hast Du einen Idee warum es nicht klappt?

    Gruß Simon

    1. Hi Simon,
      spontan w√ľrde ich mal vermuten, dass es evtl. an den Umlauten in deiner Pushover-Benachrichtung liegt. Versuch es doch mal testweise ohne.
      Gr√ľ√üe
      Jörg

    2. Hallo Jörg,

      danke f√ľr Deine Antwort. Leider klappt es ohne Umlaute auch nicht. Jetzt habe ich folgendes versucht:

      define FL.TueroeffnungPushover notify Haustuere:unlock.* set HomeSweetHome msg ‚Flur‘ ‚Haust√ľr entriegelt‘

      define FL.TuerschliessungPushover notify Haustuere:lock.* set HomeSweetHome msg ‚Flur‘ ‚Haust√ľr verriegelt‘

      Aber jetzt kommen bei jeder √Ąnderung des Zustands gleich 4 Benachrichtigungen an.

      Hast Du noch eine Idee?

      Danke und Gruß
      Simon

    3. Hi Simon,
      ich habe den Keymatic gerade nicht im Einsatz, deshalb kann ich nur vermuten. Ich glaube der Status √§ndert sich mehrmals beim einmaligen Auf- bzw. Zusperren, weshalb du auch mehrere Benachrichtigungen erh√§ltst. Am besten du schaust mal in das Logfile von „Haustuere“ und kontrollierst die Status√§nderungen. Such dir dann den passenden Eintrag raus, der nur einmal im Log beim Auf- bzw. Zusperren auftaucht und nutz diesen f√ľr das entsprechende Notify. Glaub so hatte ich das damals auch gemacht. Hoffe das hilft zumindest etwas weiter…

  33. Hallo Leute

    leier komme ich nicht weiter ich bin auch Neuling und versuche gerade das Modul pushover auf meiner fritz.box 7390 zum laufen zu bekommen doch leider immer wieder die gleiche Meldung wenn der push abgesetzt werden soll Error: No known response
    im foum antwortet irgendwie keiner darauf deswegen probier ich mal hier Hilfe zu bekommen

    vielen dank im voraus

    mfg martin

    1. Hi Martin,
      habe leider mit dem Pushover-Modul auf einer Fritzbox keine Erfahrung, sorry. Wollte gerade schon den Link zum Forum http://forum.fhem.de/index.php/topic,16215.240.html posten, sehe aber gerade, dass du genau hier schon nachgefragt hattest… Hoffe hier antwortet dir noch jemand. Alternativ kann ich dir nur aus eigener Erfahrung empfehlen mit FHEM auf einen Raspberry Pi umzusteigen, hier hat man wesentlich weniger Probleme und kann fehlende Programme bequem nachinstallieren.
      Gr√ľ√üe
      Jörg

  34. Hallo Jörg,

    zur Info:
    Deine Anleitung l√§sst sich 1:1 auch mit „Boxcar 2“ umsetzen. Das sieht dann so aus:

    define LowBatteryWarning notify .*:[Bb]attery:.* { if(„%“ !~ m/ok/) { system („curl -H ‚charset=UTF-8‘ -d ‚user_credentials=abcYOURTOKENxyz‘ -d ’notification[title]=Batteriewarnung‘ -d ’notification[long_message]=@ %‘ -d ’notification[source_name]=FHEM‘ -d ’notification[sound]=bird-1′ -d ’notification[icon_url]=http://www.haustechnikdialog.de/Apps/Images/icons/206_small.jpg‘ https://new.boxcar.io/api/notifications„) }}

    Funktionsumfang der App ist √§hnlich wie bei Pushover, es gibt Sie f√ľr IOS und Androide und bisher ist sie noch kostenlos.

    PS: Dein Blog ist mir in den letzten Wochen sehr hilfreich bei der Einrichtung meines FHEM Systems gewesen -> Danke !

    Gruß,

    Uwe

    1. Hi Uwe,
      freut mich, dass dir die Infos im Blog weiterhelfen und danke f√ľr den Hinweis! Wird sicher f√ľr den ein oder anderen auch interessant sein.

      Gr√ľ√üe
      Jörg

  35. Hallo Jörg

    Will mir mit hilfe deines Beitrag auch eine anwesenheitserkennung mit Watchdog
    und Pushover basteln.
    Der unten abgebilderte code erzeugt aber ständig Pushnachrichten
    auf meinen Handy manchmal bekomme ich mehr als 5 auf einmal
    √ľber Nacht hatte ich mal mehr als 500 bekommen.
    Vieleicht kanst du mir ja helfen….

    define andre PRESENCE lan-ping 192.168.2.126 30 60
    attr andre event-on-change-reading state
    attr andre ping_count 3
    attr andre room Status

    attr andrehandy.dummy event-on-change-reading state
    attr andrehandy.dummy eventMap 1
    attr andrehandy.dummy room Status
    define FileLog_andrehandy.dummy FileLog ./log/andrehandy.dummy-%Y-%m.log andrehandy.dummy
    attr FileLog_andrehandy.dummy logtype text
    define andrehandy.notify notify andre:present { fhem („set andrehandy.dummy on;; setstate watchdogandrehandyAbwesend defined“) if (Value(„andrehandy.dummy“) ne „on“) }
    attr andrehandy.notify room Status

    #andre auf off setzen nach 2 min abwesenheit
    define watchdogandrehandyAbwesend watchdog andre:absent 00:02 andre:present set andrehandy.dummy off;;{fhem (’setstate watchdogandrehandyAbwesend defined‘)}
    attr watchdogandrehandyAbwesend regexp1WontReactivate 1

    define andreStatus.Pushover notify andrehandy.dummy:(on|off) { system („curl -s -F ‚token=atVUuCHNqVpceGE3Q9o36Erxxxx‘ -F ‚user=uiG9jabCJSGRZErTueHBnxxxx‘ -F ‚message=Anwesenheitserkennung\n@ ist %.‘ https://api.pushover.net/1/messages.json„)}

    define andre_kommt notify andrehandy.dummy:on set Pushover1 msg ‚message‘ ‚Andre kommt nach Hause‘ “0“

    1. Hi Andre,
      wird es bspw. besser, wenn du die Zeit des Watchdogs von zwei Minuten „00:02“ auf sagen wir f√ľnf Minunten „0:05“ erh√∂hst? Alernativ kannst du nat√ľrlich auch testweise einmal die Pingraten von „30 60“ auf „15 30“ herabsetzen. Hier muss man je nach Setup einfach etwas mit den Werten spielen.

      Gr√ľ√üe und viel Erfolg bei der Fehlersuche
      Jörg

  36. Hallo Jörg,

    Dein Techblog hat mir als blutigen FHEM Anfänger schon sehr gut weitergeholfen! Vielen Dank!!!

    Leider klappt die √ľbernahme Deines Beispielscripts f√ľr die t√§gliche Pushmessage bei mir nicht???

    Outdoor ist ein LaCrosse Thermometer
    Push meine PushBullet Def.
    den Command „set Push …..“ f√ľhrt er sauber durch. Nur komplett kommt leider nichts an.

    define Wetter_Info_Push at *10:40:00 {my $TETemperatur = ReadingsVal(„Outdoor“,“temperature“, „“);; my $TEHumidity = ReadingsVal(„Outdoor“,“humidity“, „“);; system („set Push message ‚Terrasse\nTemperatur $TETemperatur¬įC\nLuftfeuchte $TEHumidity%'“)}

    Vielen Dank
    Gruss Lars

  37. Fehler gefunden:

    system durch fhem:

    define Wetter_Info_Push at *10:40:00 {my $TETemperatur = ReadingsVal(„Outdoor“,“temperature“, „“);; my $TEHumidity = ReadingsVal(„Outdoor“,“humidity“, „“);; fhem („set Push message ‚Terrasse\nTemperatur $TETemperatur¬įC\nLuftfeuchte $TEHumidity%'“)}

  38. Hallo
    Erst mal danke super was Sie da leisten.
    Hab die anwesenheitserkennung installiert funktioniert super.
    Aber wie binde ich noch 1-2 Handys ein.

    W√§re √ľber Ihre Hilfe dankbar.

    Gruß

    1. Hi Nanuk,
      du kannst weitere Handys ganz einfach hinzuf√ľgen:
      define HA.ArneBluetooth PRESENCE local-bluetooth 28:E1:4C:91:AA:E5 10 60
      define HA.BobBluetooth PRESENCE local-bluetooth 28:E1:4C:91:AA:F6 10 60
      etc. hinzuf√ľgen.
      Damit die ganzen Notify-Meldungen dann aber auch funktioniert, m√ľssen diese entsprechend angepasst werden. Am besten fasst man dazu die ganzen Handys per „structure“ zusammen und passt den Code dann St√ľck f√ľr St√ľck an. Das ist dann nat√ľrlich etwas aufw√§ndiger, sollte aber auch zuverl√§ssig funktionieren.

      Hoffe das hilft erstmal als Impuls weiter
      Gr√ľ√üe und viel Erfolg
      Jörg

    2. Hallo, wie immer vielen Dank f√ľr die ganzen tollen Erkl√§rungen hier im Blog. Ich habe soweit auch alles hinbekommen, mit einem Handy. Ich wollte jetzt das Handy meiner Frau auch integrieren. Mit Structure arbeitet es nicht richtig, wenn Handy1 on ist und Handy2 off, steht bei bei Structure absent. Wenn es aber umgekehrt ist, Handy1 off und Handy2 On, zeigt Structure present an. Leider sind meine Kenntnisse nicht ausreichend den Fehler zu erkennen. Ich habe es jetzt so geschrieben, die Funktion ist so gegeben, was Push angeht.

      #iPhones definieren
      define iPhones dummy
      attr iPhones eventMap 1
      attr iPhones room Haus
      define FileLog_ iPhones FileLog ./log/iPhones-%Y-%m.log iPhones
      attr FileLog_iPhones logtype text

      #iPhones auf on setzen bei Anwesenheit
      define iPhonesOn notify OlliBT:present|TinaBT:present { fhem („set iPhones on;; setstate watchdog_iPhones_Abwesend defined“) if (Value(„iPhones“) ne „on“) }

      #iPhones auf off setzen nach 3 Min Abwesenheit
      define watchdog_iPhones_Abwesend watchdog OlliBT:absent|TinaBT:absent 00:03 OlliBT:present|TinaBT:present set iPhones off
      attr watchdog_iPhones_Abwesend regexp1WontReactivate 1
      attr watchdog_iPhones_Abwesend room Haus

      Jetzt ist es so, das der Watchdog anf√§ngt zu √ľberwachen, wenn ein Handy absent ist. Bekomme aber keine Push, solange eines present ist. Kann man Watchdog vielleicht so einstellen, dass er erst anf√§ngt zu √ľberwachen, wenn beide Handys absent sind?

      Noch ne Frage, die nicht zum Thema ist. Ich musste Fhem neu aufsetzen, weil ich den BT Dongle nicht installieren konnte. Jetzt kann ich aber in FHEM die fhem.cfg nicht mehr bearbeiten. Mache das jetzt alles √ľber TextEdit. Wie kann ich das √§ndern? Das war sonst nicht so.

      Allen ein sch√∂nes Wochenende und danke f√ľr die Hilfe.

    3. @Oliver, das ist neu. Du kannst aber √ľber „global“ den Parameter setzen, dass die fhem.cfg wieder bearbeiten kannst. Wenn Du die Datei in FHEM „anklickst“, steht auch ein ein entsprechender Eintrag unterhalb des Eingabefeldes!

    4. Hallo Oliver,
      M√∂chte das genauso umsetzen, komme aber nicht weiter. Kannst du mir evtl. Deinen fertigen Code zu Verf√ľgung stellen?
      Danke

  39. @ Jörg, meine vorherigen Einträge kannst Du löschen.

    Anbei der vollständige Code. Jetzt erhalte ich eine Pushnachricht bei öffnen und schließen der Fenster:

    #define Dummy-Fensterstatus
    define Fensterstatus dummy
    attr Fensterstatus devStateIcon off:fts_window_1w@green on:fts_window_1w_tilt@red
    attr Fensterstatus room Haus

    #define Fensterkontakte
    define Fenster.Kontakt structure room Fensterkontakt.Ben Fensterkontakt.Julia Fensterkontakt.Schlafzimmer Fensterkontakt.Wohnzimmer
    attr Fenster.Kontakt room Haus

    define notify-Fenster_auf
    define Fenster_auf notify Fensterkontakt.* { if(Value(„Fenster.Kontakt“) eq „closed“){ fhem („set Fensteroeffnung off“) } else {fhem („set Fensteroeffnung on“);;;; system („curl -s -F ‚token=XXXXXXXXXX‘ -F ‚user=XXXXXXXXXX‘ -F ‚message=Fenster√∂ffnung\nDer @ wurde ausgel√∂st. Fenster ge√∂ffnet!‘ https://api.pushover.net/1/messages.json„) }}
    attr Fenster_auf room Haus

    #define notify-Fenster_zu
    define Fenster_zu notify Fensterkontakt.* { if(Value(„Fenster.Kontakt“) eq „undefined“){ fhem („set Fensteroeffnung off“) } else {fhem („set Fensteroeffnung on“);;;; system („curl -s -F ‚token=XXXXXXXXXX‘ -F ‚user=XXXXXXXXXX‘ -F ‚message=Fenster√∂ffnung\nDer @ wurde ausgel√∂st. Fenster geschlossen!‘ https://api.pushover.net/1/messages.json„) }}
    attr Fenster_zu room Haus

    Ps.: Bei einem ge√∂ffnetem Fenster ist der Status „undefined“ ich wei√ü nicht warum, da im Fensterkontakt es die Status „open“ & „closed“ gibt. „open“ wird mir allerdings nicht angezeigt, warum auch immer!

  40. Hallo Jörg,

    vielen Dank f√ľr die Anleitung. Ich will das bald ausprobieren, weil die Anwesenheitspr√ľfung f√ľr iPhones √ľber die Fritzbox doch eher suboptimal ist!

    Funktionieren die Treiber, wie oben beschrieben eigentlich f√ľr jeden Bluetooth Stick? Ich w√ľrde gerne einen Klasse 1 Stick von Hama verwenden, da dieser eine sehr hohe Reichweite (100m) hat. Der von dir angegebene Stick wird nur mit 10m angegeben.
    Da wir ein Haus √ľber 3 Etagen haben, m√∂chte ich versuchen, alle mit einem Stick abzudecken! Deshalb der Anspruch an die gro√üe Reichweite!

    Falls das nicht geht, kann ich auch Bluetooth Sticks an die Fritzbox h√§ngen und die irgendwie in Fhem abfragen? Ich habe bisher immer nur gelesen, dass Leute daf√ľr RPi’s genommen haben.
    Ich habe n√§mlich den RPi im Keller und im EG und OG jeweils eine Fritzbox. Wenn ich da √ľberall f√ľr 10‚ā¨ eine Bluetooth Stick rein mache und diese mit Fhem abfragen k√∂nnte, w√§re das wahrscheinlich ideal!

    W√ľrde mich √ľber eine Antwort, vielleicht sogar √ľber einen Blog hierzu sehr freuen.

    MfG Sebastian

    1. Hi Sebastian,
      ob die Treiber bei jedem Stick funktionieren, kann ich nicht sagen. Die Chancen sollten aber generell gut stehen, dass es auch mit deinem Bluetooth-Stick klappt. Alle drei Stockwerke mit nur einem Stick abzudecken, ist wohl eher schwierig, auch wenn du nur Pappw√§nde hast. Stahl und Beton d√§mpfen enorm, da wird oft selbst die √úberbr√ľckung eines Stockwerks schwierig. An die Fritzbox l√§sst sich nat√ľrlich auch ein Stick anschlie√üen, dann musst du auf deine Fritzbox noch ein FHEM-Image parallel aufspielen. Wie das funktioniert, hat Christoph im Blogpost FHEM mit FritzBox 7390 und CUL Stick ‚Äď Professionelle Hausautomation beschrieben. Ich w√ľrde es pers√∂nlich aber eher √ľber einen oder zwei weitere RPI l√∂sen, aber das ist nat√ľrlich Geschmackssache.

      Gr√ľ√üe und viel Erfolg
      Jörg

  41. Moin Jörg.

    Ich mal wieder. Was soll ich sagen? Das ganz System funktioniert prima, bekomme die Meldungen aller meiner Kontakte wie vorgesehen.
    Ich verkabele derzeit meine Fernsehwand usw. komplett neu. Einige der Steckdosen w√ľrde ich dann gerne mit einem ELV FS20 SU-3 abschalten, an diesen Dosen h√§ngen TV, Verst√§ker, Subwoofer usw.
    Der derzeitige Befehler lautet:

    define Fenster_auf notify Kontakt.*:opened { if (Value(„Handy_Mike“) eq „absent“ && Value(„Handy_Silke“) eq „absent“) { system („curl -s -F ‚token=XXXXXXXXXXXXXXXXXXXX‘ -F ‚user=XXXXXXXXXXXXXXXXXXXXXX‘ -F ‚message=Achtung\nDas Fenster @ wurde ge√∂ffnet.‘ https://api.pushover.net/1/messages.json„)} }

    Wenn ich aber bei absend die FS20 SU3 abschalten und erst wieder bei present zuschalten will, wie programmiert man das? Kannst Du mir helfen?
    So könnte ich immer mehr Geräte im Haus ab- bzw. zuschalten, je nachdem ob wir nun da sind oder nicht.

    mfg
    Mike

    1. Moin, tja, da waren sie wieder meine Probleme. Kannst Du mal ein Beispiel posten? Dann verstehe ich das vielleicht und kann es anpassen.
      mfg
      Mike

  42. define alles_aus notify Bluetooth:absent set FS20 off

    Bluetooth und FS20 ersetzen mit deinen Ger√§tenamen. Mit Licht schalten √ľber T√ľrkintakt funktioniert es so bei mir.

  43. Hallo Jörg,
    Nachdem ich schon sehr viele Deiner Beispiele verwendet habe, will ich hier einmal Danke sagen. Deine Arbeit inspiriert wirklich sehr. Ich habe die Anwesenheitserkennung eingebunden, jedoch später die dummys bzw. die notifys durch DOIF ersetzt. Läuft wirklich super.
    Auf hoffentlich noch viele weitere Hausautomations-Szenarien.
    Gr√ľ√üe aus dem Bergischen
    Carsten

    1. Hi Carsten,
      vielen Dank f√ľr dein Lob! Sowas lese ich nat√ľrlich immer gerne.
      Uns gehen bestimmt noch lange nicht die Inhalte aus, keine Angst.
      Der n√§chste Artikel zu FHEM wird √ľbrigens morgen fr√ľh p√ľnktlich um 7:00 Uhr ver√∂ffentlicht. Da du dich bereits zum Newsletter angemeldet hast (danke daf√ľr!), wirst du k√ľnftig nichts verpassen. :)

      Gr√ľ√üe und weiterhin viel Spa√ü auf dem Blog
      Jörg

  44. Hallo Jörg und alle FHEM Begeisterten,

    ich habe die Abwesenheitserkennung mit meinem Fensterkontakt gekoppelt. Da ich im Dachgeschoss wohne und Dachfenster habe m√ľssen diese nat√ľrlich bei Abwesenheit geschlossen sein damit es nicht rein regnet. Echt klasse das ganze funktioniert auch. Allerdings kommt es hin und wieder vor, dass sich die Abwesenheitserkennung „abschie√üt“. Es aktualisiert sich also nicht. Gibt es da jemanden mit √§hnlichen Problemen und einer m√∂glichen L√∂sung?

    Danke!

    Viele Gr√ľ√üe
    Marcel

  45. Hallo Jörg,

    eine Verst√§ndnisfrage zu deinem Code bez√ľglich des Dummys.

    attr HA.Jay eventMap 1

    Was bewirkt das „eventMap 1“? Das frage ich mich jetzt schon geraume Zeit und ich komme einfach nicht drauf. F√ľr eine kurze Info w√§re ich dankbar :-)

    Sch√∂ne Gr√ľ√üe
    Chris

    1. Hi Chris,
      denke in dieser Form kann das Attribut auch einfach weggelassen werden. Damit k√∂nnen Statuswerte umformatiert werden, so dass bspw. „on“ als „open“ angezeigt wird. Mehr Infos in der FHEM-Referenz.

      Gr√ľ√üe
      Jörg

    2. Hi Jörg,

      ja genau deswegen verstand ich denn Sinn der „1“ nicht.
      Das man damit Statuswerte umbenennen kann habe ich in der Referenz gefunden, aber in dieser Form mit der „1“ konnte ich da keinen Sinn erkennen.

      Also hat es eigentlich keinen Effekt.

      Danke f√ľr die Info!

      Gr√ľ√üe
      Chris

  46. Hi,

    hab anhand der Ausf√ľhrung die Idee gehabt, mich benachrichtigen zu lassen, falls bspw. das Licht noch um 23:00 eingeschaltet ist.

    Leider bekomme ich das Script nicht mit einer IF Abfrage ans laufen – ohne klappt es…also muss ich was √ľbersehen (oder ich bin einfach zu blind):

    define push_licht_an at *23:00:00 {if Licht=on {system („curl -s -F ‚token=abc‘ -F ‚user=def‘ -F ‚message=Wohnzimmerbeleuchtung noch an‘ https://api.pushover.net/1/messages.json„)}}}

    Licht ist eine schaltbare 433MHz Steckdose (Typ dummy).

    1. Hi Christian,
      rein von der Syntax m√ľsste eine geschweifte Klammer am Schluss entfernt werden, oder sehe ich das falsch? Aktuell gehen zwei Klammern auf und drei wieder zu…

      Gr√ľ√üe
      Jörg

  47. Hallo Christian,
    ich m√∂chte mir einen Bluetooth USB-Dongle f√ľr meinen RPI anschaffen.
    Kannst Du mir eine Kaufempfehlung geben?
    Wie sieht’s mit diesem hier aus: „CSL – USB micro Bluetooth-Adapter V4.0 | Class 4.0 Technologie | neuester Standard | Plug & Play | Windows 10 f√§hig“ bei Amazon.de.
    √úber jeden Tipp w√ľrde ich mich freuen.
    Im Voraus vielen Dank!
    Gruß
    J√ľrgen

  48. Hallo Jörg,
    erstmal Gl√ľckwunsch zu diesem tollen Blog, hat mir schon h√§ufig weitergeholfen aber diesmal komme ich nicht weiter; ich w√ľrde mir gerne per Pusch jeden Tag zu einer bestimmten Urzeit die Temperatur von der Terrasse schicken lassen aber ich komme trotz deiner Anleitung nicht weiter, so sieht die Config aus:

    define Pushover1 Pushover xxxxxxxx xxxxxxxxxx

    define AussentempPushover at *18:58 {my $TETemperatur = ReadingsVal(„Temperatur_aussen“,“temperature“, „“) fhem („set Pushover1 msg ‚Temperatur $TETemperatur‘ „)}

    Hier der Auszug aus dem Log:

    2015.11.23 18:58:00 1: PERL WARNING: Bareword found where operator expected at (eval 227) line 1, near „) fhem“
    2015.11.23 18:58:00 3: eval: {my $TETemperatur = ReadingsVal(„Temperatur_aussen“,“temperature“, „“) fhem („set Pushover1 msg ‚Temperatur $TETemperatur‘ „)}
    2015.11.23 18:58:00 3: AussentempPushover: syntax error at (eval 227) line 1, near „) fhem “

    Ich hab schon alles möglich ausprobiert aber ich komme nicht weiter. Hoffe Du oder jemand anderes kann mir helfen.

    Vielen Dank
    Rene

    1. Hat sich erledigt, hab es schluss endlich doch geschafft :-) So hat es funktioniert:

      define aussentempPushover at *12:00 {my $TETemperatur = ReadingsVal(„Temperatur_aussen“,“temperature“, „“);; my $TEHumidity = ReadingsVal(„Temperatur_aussen“,“humidity“, „“);; fhem („set Pushover1 msg ‚Terrasse\nTemperatur $TETemperatur¬įC\nLuftfeuchte $TEHumidity%'“)}

  49. Gibt es denn auch die möglichkeit einer verkettung?
    Da ich ein windows Phone habe nutze ich den Pushalot Dienst, meine Frau hat ein Iphone dort wäre es der Pushover Dienst.
    Wenn ich sie einzen benutze funktioniern die Dienste, geht es aber auch sie zu verketten?

    define KTrocknerTrockenvorgangAbgeschlossenPushover notify K.TrocknerBetrieb:standby {system („curl -s -F \“AuthorizationToken=b1937ca11e4*********23\“ -F ‚Body=Trockenvorgang abgeschlossen‘ https://pushalot.com/api/sendmessage„)
    und
    system(„curl -s -F ‚token=aPGbA6B*********pBv‘ -F ‚user=u37yBCH**********bRgm9De7‘ -F ‚message=Trockenvorgang abgeschlossen‘ https://api.pushover.net/1/messages.json„)}

    Gruß Mathias

  50. Ich habe die Anwesenheitserkennung per Bluetooth einrichten. Dadurch landen aber alle Bluetooth-Anfragen in meiner sqlite-Datenbank und muellt diese sehr schnell voll.
    Leider habe ich es nicht geschafft diese speziell auszuschließen.
    F√ľr eine Hilfestellung w√§re ich sehr dankbar.
    Gruß Martin

  51. Hallo Jörg,

    ich bin noch ziemlich am Anfang von FHEM. Mittlerweile funktioniert alles. Dann bin ich auf diese Anleitung gesto√üen und dachte mir nur WOW. Das will ich auch. Der Bluetooth Stick ist noch nicht da, aber das ganz funktioniert auch ohne nicht. Ich habe folgenden Code eingef√ľgt. Benutze die MAX Fensterkontakte, daher open auf opened ge√§ndert:

    #WZ.UnautorisierteBalkontueroeffnung#
    define WZ.UnautorisierteBalkontueroeffnung dummy
    attr WZ.UnautorisierteBalkontueroeffnung room Sicherheit
    define WZUnautorisierteBalkontueroeffnungAn notify WZ.Fensterkontakt:opened.* { fhem („set WZ.UnautorisierteBalkontueroeffnung on“) if (Value(„HA.Jay“) eq „off“)}
    define WZUnautorisierteBalkontueroeffnungAus notify WZ.Fensterkontakt:opened.* { fhem („set WZ.UnautorisierteBalkontueroeffnung off“) if (Value(„HA.Jay“) eq „on“)}
    define WZUnautorisierteBalkontueroeffnungPushover notify WZ.UnautorisierteBalkontueroeffnung:on { system („curl -s -F ‚token=XXXXXXi‘ -F ‚user=XXXXXX‘ -F ‚message=Unautorisierte Balkont√ľr√∂ffnung‘ https://api.pushover.net/1/messages.json„)}
    #

    Der Test mit „set WZ.UnautorisierteBalkontueroeffnung on“ bringt mir auch sofort eine Pushmeldung aufs Smartphone, nur wenn ich die T√ľr √∂ffne, passiert nichts. Die Ans√§tze von Mike von 2013 bringen mich auch nicht weiter.

    Kannst du mir helfen ?

    Gruß Jörn

  52. du benutzt homematic
    dumme frage: gehen evtl. die befehle nicht mit z-wave geräten?
    ich hatte mal so etwas beim dimmbefehl, der nur mit homematic befehlen ging.

  53. Hallo,
    bei mir funktioniert die Anwesenheitserkennung problemlos. Jedoch nicht die Abwesenheit. In den Logs und unter „HA.JayBluetooth“ wird absent angezeigt, bzw. nach dem Bluetooth-Ger√§t gesucht, aber es wird dann nicht ausgef√ľhrt, dass das BT-Ger√§t nicht mehr da ist nach 3 Minuten. („set HA.Jay off“ wird nicht ausgef√ľhrt) Also unter Haus -> HA.Jay ist die Lampe immer gelb. Habe jetzt schon mehrmals den obige Code kopiert und eingef√ľgt (mit verschiedenen Programmen, sodass es nicht an Formatierungsfehlern liegen kann.

    Das komische, es hat bis jetzt 2 Mal funktioniert.

    1. Genau das Gleiche habe ich auch seit ein paar Tagen. Nach einem Neustart geht es wieder ein paar Mal und dann wieder nicht mehr.

  54. Ich will das Thema nochmal aufgreifen, da ich es bisher nicht hinbekommen habe, das es wieder geht. Hier mein Code:

    define HA.JayBluetooth PRESENCE local-bluetooth 68:05:71:B2:76:6F 10 60
    attr HA.JayBluetooth room [Steuerung]
    define HA.Jay dummy
    attr HA.Jay eventMap 1
    attr HA.Jay room Sicherheit
    define FileLog_HA.Jay FileLog ./log/HA.Jay-%Y-%m.log HA.Jay
    attr FileLog_HA.Jay logtype text
    attr FileLog_HA.Jay room [Steuerung]
    define HAJayOn notify HA.JayBluetooth:present { fhem („set HA.Jay on setstate watchdogHAJayBluetoothAbwesend defined“) if (Value(„HA.Jay“) ne „on“) }
    attr HAJayOn room [Steuerung]
    define watchdogHAJayBluetoothAbwesend watchdog HA.JayBluetooth:absent 00:03
    HA.JayBluetooth:present set HA.Jay off
    attr watchdogHAJayBluetoothAbwesend regexp1WontReactivate 1
    attr watchdogHAJayBluetoothAbwesend room Sicherheit

  55. Hallo,
    ich habe bei mir auch eine Pushbenachrichtigung mit Pushbullet eingerichtet. Dabei hat mir die L√∂sung hier sehr geholfen allerdings hatte ich bei oben angef√ľhrter L√∂sung das Problem das sich der Status des Dummys nicht automatisch wieder auf „off“ gesetzt hat nachdem er einmal ausgel√∂st wurde. Darum hab ich es etwas modifizieren m√ľssen und 4 notifys angelegt.

    Nutze den Fensterkontakt von MAX.

    Anbei mein Ergebnis mit Pushbullet
    #Bluetooth Anwesenheit einrichten
    define Smartphone.AndreasBT presence local-bluetooth XX:XX:XX:XX:XX:XX 30 60

    #PushBullet einrichten
    define Push Pushbullet AccessToken

    #Dummy anlegen
    define SZ.fensteroffen dummy
    attr SZ.fensteroffen room 7_Dummys

    #SZ.Fensteroffen definieren
    define SZFensteroffenAn notify SZ.Fenster_li:open.* { fhem („set SZ.fensteroffen on“) if (ReadingsVal(„Smartphone.AndreasBT“,“state“,““) eq „absent“)}

    define SZFensteroffenAus notify SZ.Fenster_li:open.* { fhem („set SZ.fensteroffen off“) if (ReadingsVal(„Smartphone.AndreasBT“,“state“,““) eq „present“)}

    define SZFensteroffenAus2 notify SZ.Fenster_li:clos.* { fhem („set SZ.fensteroffen off“) if (ReadingsVal(„Smartphone.AndreasBT“,“state“,““) eq „present“)}

    define SZFensteroffenAus3 notify SZ.Fenster_li:clos.* { fhem („set SZ.fensteroffen off“) if (ReadingsVal(„Smartphone.AndreasBT“,“state“,““) eq „absent“)}

    #Push Message bei unautorisierter √Ėffnung senden
    define SZunautorisierteFensteroeffnung notify SZ.fensteroffen:on { fhem („set Push message Fensteroffen“)}

    Kann ich das Ganze irgendwie eleganter lösen ohne 4 notifys zu benötigen? Meine Kenntnisse sind dazu anscheinend noch nicht ausreichend um das besser zu lösen.

  56. Hallo Jörg,

    wie immer ein sehr guter Eintrag. Habe schon vieles nach euren Anlitungen „erfolgreich“ umsetzten k√∂nnen, daf√ľr schon mal DANKE!!!
    Doch, wie soll es auch sein, habe ich eine Frage!
    Ich w√ľrde gerne per Bluetooth und WLAN glechzeitig (nicht √ľber die FritzBox) sonder √ľber LAN-ping die Anwesenheit erkennen.
    Mir ist an der stelle jetzt nicht klar, ob ich f√ľr den Lan-ping ein neues Device anlegen muss, oder ob ich schon das vorhandene Device (Bluetooth) erg√§nzen kann?
    Kann ich z.B. unter dem „define HA.JayBluetooth“ noch unter DEF den lan-ping „define Handy PRESENCE lan-ping 192.168.0.30 60“ miteingeben?

    Hoffe du verstehst meine Frage.

    Danke
    Sascha

  57. Hallo Jörg,

    ich lese mehr in deinem Blog als das ich schrieb. Wollte nur mal danke sagen! Hab mir hier √ľber die Jahre einiges an Ideen geholt und auch das ein oder andere nachgebastelt…ganz nebenbei ein tolles Hobby gefunden.

    also: Danke!

  58. Hallo Jörg,

    ich habe die Pushover-Batteriewarnung ausprobiert und bekomme alle 1-2min. eine
    Pushnachricht (Batteriewarnungn@ %).
    Es sind aber alle Batterien „ok“
    Habe alles so √ľbernommen, nur Token und User angepasst.
    Ich habe nur HM Geräte in Betrieb.
    Wo kann mein Fehler liegen?

    Gruß Ralf

  59. Hallo Jörg,

    erstmal gro√ües Lob f√ľr deinen Blog, es hilft mir als Anf√§nger ungemein.
    Nun wollte die Anwesenheitserkennung mit Bluetooth nach Neuinstallation erneut einrichten.
    Allerdings kommt beim Installversuch folgende Meldung:

    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Package bluez-utils is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    However the following packages replace it:
    bluez

    E: Package ‚bluez-utils‘ has no installation candidate

    Gibt es hierf√ľr eine Alternative?

    Danke
    Sascha

  60. Hallo Jörg,
    als erstes m√∂chte ich f√ľr deine super Beschreibung Danke sagen. Das ist genau das, was ich gesucht hab und es hat Danke der guten Anleitung super geklappt.
    Allerdings ist mir aufgefallen, dass nach einer unautorisierten T√ľr√∂ffnung zwar eine Pushmitteilung geschickt wird, aber der Status des FL.UnautorisierteTueroeffnung Dummys auf on bleibt, auch wenn ich wieder zu Hause bin. Ist das so gewollt, oder hab ich einen Fehler beim √ľbernehmen deines Codes gemacht? Im Log taucht zumindest kein Fehler auf.

    Ich w√ľrde mich freuen, wenn du meinen Post beantworten w√ľrdest. Besten Dank und viele Gr√ľ√üe
    Nick

  61. Hallo Jörg,
    nachdem ich mich durch deine Super Anleitung gearbeitet habe konnte ich die Pr√§senzanzeige und die Pushnachricht bei unerlaubter T√ľr√∂ffnung erfolgreich umsetzen. Ich habe im Endeffekt deinen Code 1:1 √ľbernommen und lediglich Jay durch Nick ersetzt. Soweit so gut. Ich konnte sogar einen weiteren T√ľrsensor in den Code integrieren.

    Allerdings w√ľrde ich jetzt gerne bei der Benachrichtigung sehen, welcher der beiden T√ľrsensoren ausgel√∂st hat. Nachdem ich alle Kommentare durchgearbeitet habe, konnte ich zwar was finden, was meinem Problem √§hnelt, das einf√ľgen des @ Zeichens in die Nachricht brachte aber leider keinen Erfolg.

    Zus√§tzlich ist mir noch aufgefallen, dass der Status FL.UnautorisierteTueroeffnung nicht zur√ľckgesetzt wird. Dieser bleibt immer Aktiv. Kennst du das Problem?

    Hier noch der Teil des Codes, den ich angepasst habe:

    # – FL.UnautorisierteTueroeffnung definieren –
    define FLUnautorisierteTueroeffnungAn notify FL.Tuerkontakt:open.*|FL.Tuerkontakt2:open.* { fhem („set FL.UnautorisierteTueroeffnung on“) if (Value(„HA.Nick“) eq „off“)}
    attr FLUnautorisierteTueroeffnungAn room System
    define FLUnautorisierteTueroeffnungAus notify FL.Tuerkontakt:open.*|FL.Tuerkontakt2:open.* { fhem („set FL.UnautorisierteTueroeffnung off“) if (Value(„HA.Nick“) eq „on“)}
    attr FLUnautorisierteTueroeffnungAus room System

    # – Pushover Notification bei unautorisierter T√ľr√∂ffnung –
    define FLUnautorisierteTueroeffnungPushover notify FL.UnautorisierteTueroeffnung:on { system („curl -s -F ‚token=xxxxxxxxxxxxxxxxxxxxxx‘ -F ‚user=yyyyyyyyyyyyyyyyyy‘ -F ‚message=Unautorisierte T√ľr√∂ffnung‘ https://api.pushover.net/1/messages.json„)}
    attr FLUnautorisierteTueroeffnungPushover room System

    Weiter so mit deinem Tollen Blog. Dieser war und ist mir und sicher auch vielen Anderen eine super Hilfe. Daumen Hoch!

    Danke und Gruß
    Nick

  62. Erstmal Gl√ľckwunsch zu dem tollen Blick.

    define Garage_Auf2 DOIF ([19:00-19:30] and [Garage_Tuer:&STATE] eq „open“) ({system („curl -s -F ‚token=xxxx‘ -F ‚user=yyyy‘ -F ‚message=Garagent√ľr @ noch auf %‘ https://api.pushover.net/1/messages.json„)})

    Funktioniert auch soweit aber die Meldung ist etwas merkw√ľrdig
    Garagent√ľr @ noch auf %
    Sollte da nicht
    Garagent√ľr Garage_Tuer noch auf open
    Stehen ?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert