diff --git a/README.md b/README.md
index 3202bf4..bad8c05 100644
--- a/README.md
+++ b/README.md
@@ -1,224 +1,5 @@
-
AMAD
+AMAD2 Alpha Version 1.9.11
AMAD - Automagic Android Device
-
- Dieses Modul liefert, in Verbindung mit der Android APP Automagic, diverse Informationen von Android Geräten.
- Die AndroidAPP Automagic (welche nicht von mir stammt und 2.90Euro kostet) funktioniert wie Tasker, ist aber bei weitem User freundlicher.
- Im Auslieferungszustand werden folgende Zustände dargestellt:
-
- - Android Version
- - Zustand von Automagic auf dem Gerät
- - Bluetooth An/Aus
- - Zustand einer definierten App (läuft aktiv im Vordergrund oder nicht?)
- - verbundene Bluetoothgeräte, inklusive deren MAC Adresse
- - aktuell abgespieltes Musikalbum des verwendeten Mediaplayers
- - aktuell abgespielter Musikinterpret des verwendeten Mediaplayers
- - aktuell abgespielter Musiktitel des verwendeten Mediaplayers
- - Status des Androidgerätes - Online/Offline
- - nächster Alarmtag
- - nächste Alarmzeit
- - Batteriestatus in %
- - Ladestatus - Netztei angeschlossen / nicht angeschlossen
- - Bildschirmstatus An/Aus
- - Bildschirmhelligkeit
- - Vollbildmodus An/Aus
- - Bildschirmausrichtung Auto/Landscape/Portrait
- - Standardlautstärke
- - Media Lautstärke des Lautsprechers am Gerät
- - Media Lautstärke des Bluetooth Lautsprechers
-
-
- Mit etwas Einarbeitung können jegliche Informationen welche Automagic bereit stellt in FHEM angezeigt werden. Hierzu bedarf es lediglich
- einer kleinen Anpassung des "Informations" Flows
-
- Das Modul gibt Dir auch die Möglichkeit Deine Androidgeräte zu steuern. So können folgende Aktionen durchgeführt werden.
-
- - aktiviert Spracheingabe
- - Bluetooth Ein/Aus schalten
- - zu einem bestimmten Bluetoothgerät wechseln/verbinden
- - Status des Gerätes (Online,Offline)
- - Mediaplayer steuern (Play, Stop, nächster Titel, vorheriger Titel)
- - nächste Alarmzeit setzen
- - ein Benachrichtigungston abspielen (Notificationsound)
- - eine App auf dem Gerät öffnen
- - eine URL im Browser öffnen
- - Bildschirm An/Aus machen
- - Bildschirmhelligkeit einstellen
- - Vollbildmodus einschalten
- - eine Nachricht senden welche am Bildschirm angezeigt wird
- - Bildschirmausrichtung einstellen (Auto,Landscape,Portrait)
- - neuen Statusreport des Gerätes anfordern
- - Systembefehle setzen (Reboot)
- - eine Nachricht senden welche angesagt wird (TTS)
- - Medienlautstärke regeln
-
-
- Für all diese Aktionen und Informationen wird auf dem Androidgerät Automagic und ein so genannter Flow benötigt. Die App müßt
- Ihr Euch besorgen, die Flows bekommt Ihr von mir zusammen mit dem AMAD Modul.
-
- Wie genau verwendet man nun AMAD?
-
- - installiert Euch die App "Automagic Premium" aus dem App Store oder die Testversion von hier
- - installiert das Flowset 74_AMADautomagicFlows$VERSION.xml aus dem Ordner $INSTALLFHEM/FHEM/lib/ auf Eurem Androidgerät und aktiviert erstmal nur den "Informations" Flow.
-
-
- Nun müsst Ihr nur noch ein Device in FHEM anlegen.
-
-
- Define
-
- define <name> AMAD <IP-ADRESSE>
-
- Beispiel:
-
- define WandTabletWohnzimmer AMAD 192.168.0.23
-
-
- Diese Anweisung erstellt ein neues AMAD-Device im Raum AMAD.Der Parameter <IP-ADRESSE< legt die IP Adresse des Android Gerätes fest.
- Das Standard Abfrageinterval ist 180 Sekunden und kann über das Attribut intervall geändert werden. Wer den Port ändern möchte, kann dies über
- das Attribut port tun. Ihr solltet aber wissen was Ihr tut, da dieser Port im HTTP Response Trigger der beiden Flows eingestellt ist. Demzufolge muß dieser dort
- auch verädert werden.
-
-
- Fertig! Nach anlegen der Geräteinstanz sollten nach spätestens 3 Minuten bereits die ersten Readings reinkommen.
-
-
- AMAD Communication Bridge
-
- Beim ersten anlegen einer AMAD Deviceinstanz wird automatisch ein Gerät Namens AMADCommBridge im Raum AMAD angelegt. BITTE NIEMALS DEN NAMEN DER BRIDGE ÄNDERN!!!
- Alle anderen Eigenschaften können geändert werden. Dieses Gerät diehnt zur Kommunikation
- vom Androidgerät zu FHEM ohne das zuvor eine Anfrage von FHEM aus ging. Damit das Androidgerät die IP von FHEM kennt, muss diese sofort nach dem anlegen der Bridge
- über den set Befehl in ein entsprechendes Reading in die Bridge geschrieben werden. DAS IST SUPER WICHTIG UND FÜR DIE FUNKTION DER BRIDGE NOTWENDIG.
- Bitte führt hierzu folgenden Befehl aus. set AMADCommBridge fhemServerIP <FHEM-IP>.
- Als zweites Reading könnt Ihr expertModesetzen. Mit diesem Reading wird eine unmittelbare Komminikation mit FHEM erreicht ohne die Einschränkung über ein
- Notify gehen zu müssen und nur reine set Befehle ausführen zu können.
-
-
-
- Readings
-
- - androidVersion - aktuell installierte Androidversion
- - automagicState - Statusmeldungen von der AutomagicApp (Voraussetzung Android >4.3). Wer ein Android >4.3 hat und im Reading steht "wird nicht unterstützt", muß in den Androideinstellungen unter Ton und Benachrichtigungen -> Benachrichtigungszugriff ein Haken setzen für Automagic
- - bluetooth on/off - ist auf dem Gerät Bluetooth an oder aus
- - checkActiveTask - Zustand einer zuvor definierten APP. 0=nicht aktiv oder nicht aktiv im Vordergrund, 1=aktiv im Vordergrund, siehe Hinweis unten
- - connectedBTdevices - eine Liste der verbundenen Gerät
- - connectedBTdevicesMAC - eine Liste der MAC Adressen aller verbundender BT Geräte
- - currentMusicAlbum - aktuell abgespieltes Musikalbum des verwendeten Mediaplayers
- - currentMusicArtist - aktuell abgespielter Musikinterpret des verwendeten Mediaplayers
- - currentMusicTrack - aktuell abgespielter Musiktitel des verwendeten Mediaplayers
- - deviceState - Status des Androidgerätes, muss selbst mit setreading gesetzt werden z.B. über die Anwesenheitskontrolle.
- Ist Offline gesetzt, wird der Intervall zum Informationsabruf aus gesetzt.
- - flow_SetCommands active/inactive - gibt den Status des SetCommands Flow wieder
- - flow_informations active/inactive - gibt den Status des Informations Flow wieder
- - lastSetCommandError - letzte Fehlermeldung vom set Befehl
- - lastSetCommandState - letzter Status vom set Befehl, Befehl erfolgreich/nicht erfolgreich gesendet
- - lastStatusRequestError - letzte Fehlermeldung vom statusRequest Befehl
- - lastStatusRequestState - letzter Status vom statusRequest Befehl, Befehl erfolgreich/nicht erfolgreich gesendet
- - nextAlarmDay - aktiver Alarmtag
- - nextAlarmTime - aktive Alarmzeit
- - powerLevel - Status der Batterie in %
- - powerPlugged - Netzteil angeschlossen? 0=NEIN, 1|2=JA
- - screen - Bildschirm An oderAus
- - screenBrightness - Bildschirmhelligkeit von 0-255
- - screenFullscreen - Vollbildmodus (On,Off)
- - screenOrientation - Bildschirmausrichtung (Auto,Landscape,Portrait)
- - volume - Lautstärkewert welcher über "set volume" gesetzt wurde.
- - volumeMusikBluetooth - Media Lautstärke von angeschlossenden Bluetooth Lautsprechern
- - volumeMusikSpeaker - Media Lautstärke der internen Lautsprecher
-
- Die Readings volumeMusikBluetooth und volumeMusikSpeaker spiegeln die jeweilige Medialautstärke der angeschlossenden Bluetoothlautsprecher oder der internen Lautsprecher wieder.
- Sofern man die jeweiligen Lautstärken ausschließlich über den Set Befehl setzt, wird eine der beiden immer mit dem "volume" Reading über ein stimmen.
- Beim Reading checkActivTask muß zuvor der Packagename der zu prüfenden App als Attribut checkActiveTask angegeben werden. Beispiel: attr Nexus10Wohnzimmer
- checkActiveTask com.android.chrome für den Chrome Browser.
-
-
- Eigene Readings im AMAD-Device erstellen
-
- Es ist möglich, aus beliebigen eigenen Automagic-Flows eigene Readings im AMAD-Device zu erstellen und zu füllen. Die Übertragung zum FHEM AMAD-Device erfolgt umgehend über die AMADCommBridge - daher sollte auf eine zu häufige Aktualisierung verzichtet werden. Die Vorgehensweise in Automagic hierfür ist folgende:
-
-
- - zunächst erstellt man sich, soweit nicht bereits geschehen, einen Automagic-Flow der die Information, die in ein Reading übernommen werden soll zur Verfügung stellt
- - diese Information speichert man nun mittels Automagic Action Script in eine globale Variable namens global_reading_ (beim auf Groß- und Kleinschreibung achten):
-
-
- Beispiel: Das Reading Touch soll den Wert "ja" erhalten
- Action Script: global_reading_Touch="ja"
-
-
- - abschließend muss noch die Übertragung des Wertes initiiert werden. Dies erfolgt, indem der Wert der Variable global_own_reading auf den Wert _ gesetzt wird (auch hier auf Groß- und Kleinschreibung achten):
-
-
- Beispiel: Das Reading Touch soll übertragen werden
- Action Script: global_own_reading="{getDate()}_Touch"
- Hinweis: man kann auch beide Aktionen in ein Script packen:
-
- global_reading_Touch="ja";global_own_reading="{getDate()}_Touch"
-
-
-
- - Möchte man nun als nächstes z.B. eine sofortige Benachrichtigung, wenn das Display des Tablets an- oder ausgeschaltet wird, könnte man sich Flows bauen, welche beim De-/Aktivieren des Display ausgeführt werden:
-
-
- Action Script beim Aktivieren des Displays: global_reading_Display="an";global_own_reading="{getDate()}_Display"
- Action Script beim Deaktivieren des Displays: global_reading_Display="aus";global_own_reading="{getDate()}_Display"
-
-
-
-
-
- Set
-
- - activateVoiceInput - schaltet die Spracheingabe ein
- - bluetooth - Schaltet Bluetooth on/off
- - clearNotificationBar - (All,Automagic) löscht alle Meldungen oder nur die Automagic Meldungen in der Statusleiste
- - deviceState - setzt den Device Status Online/Offline. Siehe Readings
- - mediaPlayer - steuert den Standard Mediaplayer. play, stop, Titel zürück, Titel vor.
- - nextAlarmTime - setzt die Alarmzeit. Geht aber nur innerhalb der nächsten 24Std.
- - notifySndFile - spielt die angegebende Mediadatei auf dem Androidgerät ab. Die aufzurufende Mediadatei muß sich im Ordner /storage/emulated/0/Notifications/ befinden.
- - openURL - öffnet eine URL im Standardbrowser
- - screen - setzt den Bildschirm on/off mit Sperre, in den Automagic Einstellungen muss "Admin Funktion" gesetzt werden sonst funktioniert "Screen off" nicht.
- - screenMsg - versendet eine Bildschirmnachricht
- - statusRequest - Fordert einen neuen Statusreport beim Device an
- - ttsMsg - versendet eine Nachricht welche als Sprachnachricht ausgegeben wird
- - volume - setzt die Medialautstärke. Entweder die internen Lautsprecher oder sofern angeschlossen die Bluetoothlautsprecher
-
-
- Set abhängig von gesetzten Attributen
-
- - changetoBtDevice - wechselt zu einem anderen Bluetooth Gerät. Attribut setBluetoothDevice muß gesetzt sein. Siehe Hinweis unten!
- - mediaPlayer - steuert den Standard Mediaplayer. play, stop, Titel zürück, Titel vor. Attribut fhemServerIP
- - openApp - öffnet eine ausgewählte App. Attribut setOpenApp
- - screenBrightness - setzt die Bildschirmhelligkeit, von 0-255 Attribut setScreenBrightness
- Wenn Ihr das "set screenBrightness" verwenden wollt, muss eine kleine Anpassung im Flow SetCommands vorgenommen werden. Öffnet die Aktion (eines der Vierecke ganz ganz unten)
- SetzeSystemeinstellung:System und macht einen Haken bei "Ich habe die Einstellungen überprüft, ich weiss was ich tue".
- - screenFullscreen - Schaltet den Vollbildmodus on/off. Attribut setFullscreen
- - screenOrientation - Schaltet die Bildschirmausrichtung Auto/Landscape/Portait. Attribut setScreenOrientation
- - system - setzt Systembefehle ab (nur bei gerootetet Geräen). Reboot Attribut root, in den Automagic Einstellungen muss "Root Funktion" gesetzt werden
-
- Um openApp verwenden zu können, muss als Attribut ein, oder durch Komma getrennt, mehrere App Namen gesetzt werden. Der App Name ist frei wählbar und nur zur Wiedererkennung notwendig.
- Der selbe App Name muß im Flow SetCommands auf der linken Seite unterhalb der Raute Expression:"openApp" in einen der 5 Stränge (eine App pro Strang) in beide Rauten eingetragen werden. Danach wird
- in das Viereck die App ausgewält welche durch den Attribut App Namen gestartet werden soll.
- Um zwischen Bluetoothgeräten wechseln zu können, muß das Attribut setBluetoothDevice mit folgender Syntax gesetzt werden. attr <DEVICE> BTdeviceName1|MAC,BTDeviceName2|MAC Es muss
- zwingend darauf geachtet werden das beim BTdeviceName kein Leerzeichen vorhanden ist. Am besten zusammen oder mit Unterstrich. Achtet bei der MAC darauf das Ihr wirklich nach jeder zweiten Zahl auch
- einen : drin habt
- Beispiel: attr Nexus10Wohnzimmer setBluetoothDevice Logitech_BT_Adapter|AB:12:CD:34:EF:32,Anker_A3565|GH:56:IJ:78:KL:76
-
-
-
- state
-
- - initialized - Ist der Status kurz nach einem define.
- - active - die Geräteinstanz ist im aktiven Status.
- - disabled - die Geräteinstanz wurde über das Attribut disable deaktiviert
-
-
- Anwendungsbeispiele:
-
- Ich habe die Ladegeräte für meine Androidgeräte an Funkschaltsteckdosen. ein DOIF schaltet bei unter 30% die Steckdose ein und bei über 90% wieder aus. Morgens lasse ich mich
- über mein Tablet im Schlafzimmer mit Musik wecken. Verwendet wird hierzu der wakeuptimer des RESIDENTS Modules. Das abspielen stoppe ich dann von Hand. Danach erfolgt noch eine
- Ansage wie das Wetter gerade ist und wird.
- Mein 10" Tablet im Wohnzimmer ist Mediaplayer für das Wohnzimmer mit Bluetoothlautsprechern. Die Lautstärke wird automatisch runter gesetzt wenn die Fritzbox einen Anruf auf das
- Wohnzimmer Handgerät signalisiert.
-
-
+
WARNUNG!!! Diese Version ist stark Alpha und nur für erfahrende Tester geeignet