|
From: <sic...@us...> - 2012-10-15 16:38:58
|
Revision: 1063
http://openautomation.svn.sourceforge.net/openautomation/?rev=1063&view=rev
Author: sicariusx
Date: 2012-10-15 16:38:51 +0000 (Mon, 15 Oct 2012)
Log Message:
-----------
Demokonfig. erweitert f?\195?\188r prowl und transmit_changes_only.
Modified Paths:
--------------
wiregate/plugin/generic/conf.d/Logikprozessor.conf
Modified: wiregate/plugin/generic/conf.d/Logikprozessor.conf
===================================================================
--- wiregate/plugin/generic/conf.d/Logikprozessor.conf 2012-10-15 10:10:36 UTC (rev 1062)
+++ wiregate/plugin/generic/conf.d/Logikprozessor.conf 2012-10-15 16:38:51 UTC (rev 1063)
@@ -5,6 +5,18 @@
$eibd_backend_address='0.0.0'; # eigene Adresse zur Vermeidung von Zirkellogiken, ist oft auch '1.1.254'
+# Zentrale Einstellungen, insb. f\xFCr die Prowl Mechanik, s. u..
+%settings=(
+ prowl => {
+ apikey => "*** hier eigenen API-Key eintragen***",
+ application => 'WireGate KNX',
+ priority => 0,
+ event => '[unbenanntes Ereignis]',
+ description => '',
+ url => ''
+ }
+);
+
%logic=(
# 1. Alle Werte, die auf einer GA gesendet werden, werden mit 2 multipliziert auf einer anderen GA weitergegeben
mal2 => { receive=>'9/5/201', transmit=>'9/5/202', translate => sub { 2*$input; }, },
@@ -118,6 +130,69 @@
translate => sub { limit(0,$state+20*$input,100); }, },
# ist doch leserlicher, oder? Hier wird ein relativer Dimmwert (LR=Licht relativ, SZ=Schlafzimmer) durch Skalierung
# und Summierung in einen absoluten Wert umgewandelt
+
+
+
+ # 12. Prowl (http://www.prowlapp.com/) ist eine iPhone/iPad/i*-App zum Empfang von Growl-Kurznachrichten
+ # via Push. Da Prowl auch \xFCber eine Web-API Nachrichten entgegennehmen kann, ist eine Kopplung an eigene
+ # Anwendungen m\xF6glich. F\xFCr einen Minimalbetrieb ist Growl oder ein Mac nicht erforderlich: Es reicht die App auf dem
+ # Zielger\xE4t und die Einrichtung von sog. API-Keys. \xDCber prowl => ... lassen sich dann \xFCber den Logikprozessor
+ # Nachrichten per Push auf die App schicken.
+
+ # Zur Vereinfachung der einzelnen Aufrufe k\xF6nnen in der Konfigurationsdatei des Logikprozessors zentral Standardwerte
+ # hinterlegt werden. Dazu ist neben den %logic Hash noch ein %settings Hash zu legen, der bestimmte Einstellungen
+ # unterst\xFCtzt, siehe oben.
+
+
+ # Der Versand von Prowl-Nachrichten erfolgt nach der Verarbeitung von "translate", falls vorhanden. In der
+ # einfachsten Form erfolgt die Definition direkt mit dem gew\xFCnschten event-String (was die beschriebene Vergabe von
+ # Standardwerten voraussetzt):
+
+ simpleProwl => { receive => '1/2/3', prowl => 'Hello world!' }
+
+ # Wenn nun auf der GA 1/2/3 ein Wert eingeht wird 'Hello world!' auf die App gepusht. prowl => ... kann auch einen Hash
+ # entgegennehmen:
+
+ hashProwl => {
+ receive => '1/2/4',
+ prowl => {
+ application => 'Beschattung'
+ event => 'S\xFCdseite AB'
+ }
+ }
+
+ # F\xFCr komplexere F\xE4lle kann auch eine sub \xFCbergeben werden, die dann einen passenden Hash zur\xFCckgeben muss. In die sub
+ # wird der Aufrufkontext \xFCbergeben, der den "input", das "result" und den "state" umfasst. Daneben stehen aber auch
+ # vereinfachte Skalare zur Verf\xFCgung, $input, $state und $result.
+
+ subProwl => {
+ receive => '1/2/5',
+ prowl => sub {
+ my (%context) = @_;
+ return (event => 'Rolladen S\xFCd ' . ($input ? 'AB' : 'AUF'));
+ # oder eben: return (event => 'Rolladen S\xFCd ' . ($context{input} ? 'AB' : 'AUF'));
+ }
+ }
+
+ # Der Versand an mehrere Empf\xE4nger ist durch die Definition von "apikey" als Array m\xF6glich:
+
+ # apikey => [ "*** key 1 ***", "*** key 2 ***", ... ]
+
+
+
+ # 13. transmit_changes_only beschr\xE4nkt eine Logik darauf, dass nur \xC4nderungen des States auf den Bus geschickt werden.
+ # Dies kann bspw. genutzt werden, wenn zyklisch Temperaturwerte ausgewertet werden, aber nur "neue" Erkenntnisse auf
+ # den Bus kommen sollen.
+
+ logik_regenbrause_in_benutzung => {
+ receive => '4/1/71',
+ transmit => '6/1/0',
+ transmit_changes_only => 1,
+ translate => sub {
+ return ($input gt 25) ? 1 : 0;
+ }
+ }
+
);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|