USV Shutdown an Mac über Netzerk weiterleiten mit Growl
Aus Synology Wiki
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
- Eine USV die von der Diskstation unterstützt und erkannt wird. https://www.synology.com/de-de/knowledgebase/faq/300
- Growl aus dem Mac Appstore (Kostenpflichtig seit Version 1.3)
- Notification Essentials, Notifikation Forwarder und Notification Messenger
- Die Datei Rules.scpt, weiter unten als Code oder von hier herunter laden. https://www.dropbox.com/sh/6q6ffpkw6uvvgy0/AADIvYXeQgHKzihNbpWPBwZZa
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

Konfiguration
In DSM:
- USV Unterstützung aktivieren

- 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 /
- 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
- 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

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