Optimierung von Benachrichtigungen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
seppy
Beiträge: 738
Registriert: 24. Sep 2015 20:25
Answers: 4
Wohnort: Bonn

Optimierung von Benachrichtigungen

Beitrag von seppy »

Moin Zusammen,

beim Umstieg von WhatsApp auf Pushover hat mich immer genervt, dass ich die Devices - die beispielsweise ein Batteriethema haben - nicht identifizeren konnte. Gelöst habe ich das ganze so:

Neues Transform File (Auszug):

Code: Alles auswählen

...
AussenVorgartenBeleuchtungUNREACH=Schalter Beleuchtung Vorgarten & Einfahrt (KEQ0170251)
AussenBodenfeuchtesensorUNREACH=Bodenfeuchtesensor (MEQ1594481)
InnenEGWohnzimmerTuersensorBattery=Bodenfeuchtesensor (MEQ1594481)
AussenBeregnungSegment1State=Beregnungssegment 1 (Vorgarten)
gAussenBeregnungSegment1=Beregnungssegment 1 (Vorgarten)
gAussenBeregnungSegment2=Beregnungssegment 2 (Garten)
AussenBeregnungSegment2State=Beregnungssegment 2 (Garten)
NetatmoOutdoorBattery=Netatmo Aussenmodul
...
In der Regel für den Batteriecheck nutze ich jetzt den Transformmechanismus.
transform("MAP","devices.map",t.name)
Für die Netatmo Elemente musste ich noch eine besondere Behandlung einbauen:

Code: Alles auswählen

rule "Cron_BatteryCheck"
when
	Time cron  "0 0 8 1/1 * ? *"
	//Time cron  "20 * * * * ?"
then
	//Netatmo Check
	logInfo("HomeBox.SystemRules:Cron_BatteryCheck", "Starte Batterie Check")
	
	//Netatmo Outdoor Modul
	if(NetatmoOutdoorBatteryVP.state < 20) {
        logInfo("HomeBox.SystemRules:Cron_BatteryCheck","Netatmo Outdoor Modul Batteriewarnung: " + NetatmoOutdoorBatteryVP.state + " Sending alert!")
        NetatmoOutdoorBattery.postUpdate("true")
    } else {
    	NetatmoOutdoorBattery.postUpdate("false")
    }

	//Netatmo Windmesser
    if( NetatmoWindBatteryVP.state < 20) {
        logInfo("HomeBox.SystemRules:Cron_BatteryCheck","Netatmo Wind Modul Batteriewarnung: " + NetatmoWindBatteryVP.state + " Sending alert!")
        NetatmoWindBattery.postUpdate("true")
    } else {
    	NetatmoWindBattery.postUpdate("false")
    }
	
	//Netatmo Regenmesser
    if( NetatmoRainBatteryVP.state < 20) {
        logInfo("HomeBox.SystemRules:Cron_BatteryCheck","Netatmo Regen Modul Batteriewarnung: " + NetatmoRainBatteryVP.state + " Sending alert!")
        NetatmoRainBattery.postUpdate("true")
    } else {
    	NetatmoRainBattery.postUpdate("false")
    }
	
	gSysBatteryState?.members.forEach[t | 
		if (t.state.toString() == "true"){
			if (msg == null){
				msg = transform("MAP","devices.map",t.name)  + "\n"
			} else {
				msg = msg + transform("MAP","devices.map",t.name) + "\n"	
			}
		}
		logInfo("HomeBox.SystemRules:Cron_BatteryCheck", t.name + " " + t.state)
	]
	if (msg != null){
		pushover("Batteriewarnung für die Devices:\n" + msg,1)
		msg = null
	}
end

Mich würde interessieren ob jemand eine andere/schlauere Lösung gebaut hat?!

Viele Grüße,
Seppy
Homematic und HomematicIP über Raspberrymatic (RaspPi 4 4GB) mit 2x HMLAN. Steuerung und Visualisierung durch OpenHAB2 auf RaspPi in Hutschienengehäuse im Sicherungskasten. Rund 100 Aktoren/Sensoren

- Abgesichert durch APC USV
- Bewässerungssteuerung mit Hunter Magnetventilen (HM-LC-Sw4-DR)
- Beleuchtungssteuerung Innen und Aussen (HM-LC-Sw4-DR + HM-LC-SW1-FM + HMW-IO-12-SW7-DR)
- Rolladensteuerung mit Beschattungsautomatik über Temperaturdifferenzsensor (HM-LC-Bl1PBU-FM)
- Wetter und Unwetterinformationen von wunderground
- Benachrichtigung der Bewohner via Pushover
- Multimediawand und Dreambox Steuerung (HM-LC-SW1-FM)
- Heizungssteuerung mit Komfort und Energiesparfunktionen (HM-CC-RT-DN + HM-Sec-SC-2 + HMIP-eTRV-2)
- Werkstatt Kompressorsteuerung (HMW-IO-12-SW7-DR)
- Weihnachtsbeleuchtung außen
- Präsenzerkennung über Geolocation (iCloud Binding), iBeacon und WLAN (Unifi Binding)
- Philips HUE & Tasmota Devices (Tuya) Einbindung

Benutzeravatar
Cyrelian
Beiträge: 601
Registriert: 24. Sep 2015 17:55
Answers: 4

Re: Optimierung von Benachrichtigungen

Beitrag von Cyrelian »

Hi Seppy,

ich glaube das ist schon eine sehr schlaue Lösung :D . Ich habe das ähnlich für den "Urlaubsmodus".

Code: Alles auswählen

EGWohnzimmerTuersensor=Wohnzimmer Terrassentuer
EGBadezimmerFenstersensor=Badezimmerfenster
EGEingangHaustuersensor=Haustuer
EGSchlafzimmerTuersensor=Schlafzimmer Terrassentuer 
EGKuecheFenstersensor=Kuechenfenster
EGKinderzimmerFenstersensor=Kinderzimmerfenster rechts
OGSchlafzimmerTuersensor=OGSchlafzimmer Terrassentuer
GarageTorsensor=Garagentor
-=-Fehler bei der Initialisierung-
CU
Cyrelian

Antworten