USV Shutdown an Mac über Netzerk weiterleiten mit Growl

Aus Synology Wiki
Wechseln zu: Navigation, Suche

USV Shutdown an Mac über Netzerk weiterleiten mit Growl
Die Diskussion da zu findet ihr hier statt.
http://www.synology-forum.de/showthread.html?41906-USV-Shutdown-an-Mac-%FCber-Netzerk-weiterleiten-Growl

Voraussetzungen

Installation

Auf dem NAS:

  • Die Repo http://www.cphub.net dem Paketmanager hinzufügen
  • Notification Essentials installieren
  • Notification Forwarder installieren
  • Notification Messenger ist in Abhängigkeit des forwarders

Auf dem Mac:

  • Growl aus dem AppStore installieren
  • Systemeinstellungen / Sicherheit / Bedienhilfen/ Growl.app hinzufügen. Erfordert Admin rechte
Mac

















Konfiguration

In DSM:

  • USV Unterstützung aktivieren
USV











  • Systemsteuerung/Regionale Optionen/Sprache muss die Anzeigesprache auf Deutsch stehen, Browser default als Einstellung funktioniert nicht! Da Die Meldungen sonst auf English übermittelt werden und sie vom Script nicht ausgewertet werden können.
  • Notification Forwarder starten
  • Dienst einrichten:
  • IP des Mac / admin / GROWL-GNTP / None / None /
Forwarder
Einstellungen




















  • In den Einstellungen des Forwarders kann man den Absendername der DS setzen. Zusätzlich das senden alter nachrichten unterdrücken.
  • Sichern und eine Test Nachricht schicken
  • Es gehen auch mehrere Einträge für mehrere Macs.

In Growl:

  • Einstellungen/Allgemein "Use Rules" aktivieren, dazu muss das Rules.scpt file im Verzeichniss /Users/deinUsername/Library/Application Scripts/com.Growl.GrowlHelperApp befinden. Growl neustarten
Growl Rules















  • Einstellungen / Programme Ganz unten in der App Liste findet man die IP des NAS, falls diese nicht vorhanden ist mit dem forwarder einen test schicken.
  • Programm: Einschalten
  • Benachrichtigungen: alles anhaken
  • Aktionen: Sound
  • Priorität: Notfall

Growl
















Code

den Code als Rules.scpt abspeichern oder von hier https://www.dropbox.com/sh/6q6ffpkw6uvvgy0/AADIvYXeQgHKzihNbpWPBwZZa

# Dieses Skript nach ~/Library/Application Scripts/com.Growl.GrowlHelperApp kopieren. Datename: Rules.scpt
# Die Regel wird genau einmal bei einer GROWL Message aufgerufen
# Der Mac wird bei niedrigem Ladezustand der USV Batterie schnell abgeschaltet oder mittels 1min Count Down bei UPS Betrieb
# Count Down wird bei Wiederkehr der Netzspannung abgebrochen
# Achtung! Bedienungshilfen müssen Zugriff per Skript zulassen (siehe Systemeinstellungen)
# Version 4 vom 02.01.2015


using terms from application "Growl"
	
	on evaluate notification with notification
		
		#Kommt die Mitteilung von der DSM?
		if notification's app name contains "DSM" then
			# Mitteilungstext holen und Beschreibungstext auswerten
			set description to notification's note description
			
			
			#Stichworte hier ändern
			set Bat to "Batteriemodus"
			set AC to "AC-Modus"
			set LowBat to "niedrigen Akkustromstand"
			set showme to 5
			
			# Wenn Stichworte enthalten, dann Dialog anzeigen und Aktionen ausführen
			if (description contains Bat or description contains AC or description contains LowBat) then
				if description contains LowBat then
					beep
					display alert "USV Batterie fast leer" message "Mac fährt herunter" as critical giving up after showme
					
					#Alle Programme beenden, muss schnell gehen ohne Count Down
					tell application "System Events" to set quitapps to name of every application process whose visible is true and name is not "Finder"
					repeat with closeall in quitapps
						quit application closeall
					end repeat
					
					#Ausschalten
					tell application "Finder"
						shut down
					end tell
				end if
				
				if description contains AC then
					beep
					# Count Down abbrechen. Wenn er nicht läuft hat es Anwender schon getan, also egal. 
					
					try
						tell application "System Events"
							tell window 1 of process "loginwindow"
								click button 1
							end tell
						end tell
					end try
					
					# Erst mal abbrechen, dann Meldung anzeigen
					display alert "Stromversorgung wieder OK!" as critical buttons "OK" giving up after showme
					
				end if
				
				if description contains Bat then
					beep
					display alert "USV läuft im Batteriemodus" message "Mac fährt gleich herunter" as critical giving up after showme
					
					# Setze Mac OS X Timer Count Down auf 1 Minute, starte Count Down
					tell application "loginwindow" to «event aevtrsdn»
				end if
				
			end if
		end if
	end evaluate notification
	
	#Hier wird gar nix ausgeführt
	
end using terms from