Schlagwort-Archive: MacroDroid

Dieser Bereich beinhaltet alle Themen zu dem Schlagwort “MacroDroid”.

Radiowelle

Shelly mit Hilfe eines NFC Tag schalten

Du hast für Dein Schlafzimmer einen Shelly 1 oder gar Shelly 2.5 (für Decken- und Stehleuchte) eingebaut? Dann stellt sich beim Schlafen gehen meistens die Frage: “Licht aus? Handy-Taschenlampe an!”, damit Du nicht über Dinge, die am Boden liegen, stolperst? Oder gar: Nachttischlampe an, wieder zurück zum Schalter, diesen ausschalten und erneut den Weg Richtung Bett antreten.

Das geht auch einfacher!

Benötigt werden:

Einrichtung des Makros in MacroDroid

Als Auslöser stellst Du NFC Sticker ein und als Aktion den Aufruf als HTTP GET (Ohne Web Browser). Beim Auswählen des NFC Sticker muss dieser bereitliegen, da er gescannt wird. Ein Name “Licht Schlafzimmer” o.ä. ist hier hilfreich, damit man die Sticker später auseinander halten kann. MacroDroid schreibt nun nur den Namen auf den Sticker und speichert diesen ab.

Die Adresse für den Aufruf über MacroDroid stellst Du wie folgt ein:

http://IP-DEINES-SHELLY/relay/0?turn=toggle

Die Variable “turn” steht hier auf toggle. Das heißt, das bei jedem Aufruf der Status geändert wird: An -> Aus, Aus -> An. Diese kannst Du auch verwenden, um das Licht immer nur aus oder nur an zuschalten.

Für an:
http://IP-DEINES-SHELLY/relay/0?turn=on

Für aus:
http://IP-DEINES-SHELLY/relay/0?turn=off

Nach dem Speichern des Makros kannst Du den NFC Tag direkt testen.

KeyMatic

HomeMatic KeyMatic mit NFC Tag öffnen und schließen

Die KeyMatic von HomeMatic habe ich bereits seit Jahren im Einsatz und sie läuft ohne Probleme. Nun habe ich mir überlegt, wie man NFC in die KeyMatic integrieren kann, damit auch eine Öffnung möglich ist, wenn man das Smartphone benutzt.

Um dies zu realisieren benötigst Du nur ein Set von NFC Tags (Aufkleber). Diese dienen hier nur als Auslöser für ein Makro und beinhalten keine sonstigen Informationen.

Programm für die HomeMatic

Ich habe hier ein Programm erstellt, welches zuerst den Status des Schlosses ermittelt (geöffnet/geschlossen). Somit wird das Schloss geöffnet, wenn es verschlossen ist und verschlossen, wenn es aufgeschlossen ist.

Programm zum Öffnen oder Schließen der Tür
Programm zum Öffnen oder Schließen der Tür

Achtung: Dieses Programm hat keinen Auslöser, somit wird das Programm immer ausgeführt, wenn die Zentrale neu startet.

! KeyMatic steuern ####################################
var schloss = dom.GetObject("BidCos-RF.LEQXXXXXX:1.STATE").Value();

if (schloss) {
	WriteLine("Schloss ist auf und wird abgeschlossen!");
	dom.GetObject("BidCos-RF.LEQXXXXXX:1.STATE").State(0);
	dom.GetObject(950).State(0);
} else {
	WriteLine("Schloss ist abgeschlossen und wird geöffnet!");
	dom.GetObject(950).State(1);
	dom.GetObject("BidCos-RF.LEQXXXXXX:1.OPEN").State(1);
}

Der Name des Programms sollte nach Möglichkeit keine Sonderzeichen oder Leerzeichen enthalten, da er sonst später nicht aufgerufen werden kann.

Nachdem das Programm erstellt worden ist, kannst Du dich an die Einrichtung eines Makros in MacroDroid machen.

Als Auslöser stellst Du NFC Sticker ein und als Aktion den Aufruf als HTTP GET (Ohne Web Browser). Beim Auswählen des NFC Sticker muss dieser bereitliegen, da er gescannt wird. Ein Name “Haustuer” o.ä. ist hier hilfreich, damit man die Sticker später auseinander halten kann. MacroDroid schreibt nun nur den Namen auf den Sticker und speichert diesen ab. Es kann also mit dem NFC Tag ansich kein Unfug getrieben werden, da er nur die Information seines Namens beinhaltet.

Die Adresse für den Aufruf über MacroDroid stellst Du wie folgt ein:

http://IP-DEINER-CCU:8181/x.exe?Antwort=dom.GetObject("geheimer_Tueroeffner").ProgramExecute()

geheimer_Tueroeffner ist hier der Name des Programms, welches über den Aufruf der URL gestartet wird. Ich habe hier bewusst die lokale IP benutzt, da somit auch sichergestellt ist, dass die CCU weiterhin nicht von Außen erreichbar sein muss.

Solltest Du nur die Öffnung der Türe benötigen, so kannst Du das HomeMatic Programm von oben wieder entfernen und den Aufruf der Adresse von MacroDroid in folgenden Aufruf abändern:

http://IP-DEINER-CCU:8181/x.exe?Antwort=dom.GetObject("BidCos-RF.LEQXXXXXXX:1.OPEN").State(1)

Nun kannst Du den Sticker in die Nähe Deines Türschlosses o. ä. kleben und zum Testen Dein Handy an diesen halten.
Bitte beachte: Bei neueren Android Versionen muss das Handy entsperrt sein, damit der Tag gelesen werden kann. Dies ist aus Sicherheitsgründen so gewollt, da so auch Zahlungen bei gesperrtem Smartphone getätigt werden könnten.

Smart-Home

Tablet als Visualisierungs-Front-End

Wer sein Smart – Home umfangreich eingerichtet hat, möchte auch gerne mit diesem an einer (oder mehr) zentralen Stelle(n) agieren und seine Geräte steuern oder Status – Mitteilungen einsehen können.

Dies kann mit einem (alten, nicht mehr benötigten) Tablet ermöglicht werden. Ich nutze hier ein Samsung – Tablet (Samsung Galaxy Tab S 10.5). Als OS bediene ich mich dem Lineage OS (https://wiki.lineageos.org/devices/chagallwifi). Zusätzlich sind die folgenden Programme installiert, deren Einrichtung ich hier erläutere.

ProgrammZweckDownload
BatteryChargeLimitLadekontrolle des Tablets (Root erforderlichLink
iobroker VISVisualisierungs – Anzeige von ioBrokerLink
MacroDroidAutomatisierung von AndroidLink
MotionDetectorBewegungserkennungLink
Benötigte Programme für ein Smart – Home Tablet

Konfiguration von MotionDetector

Die App Motion Detector dient dem Zweck, eine Bewegung der Frontkamera zu erfassen, um so das Display einzuschalten, wenn man sich nähert. Die App wird wie folgt eingestellt.

Zuerst startest Du die App und stellst den Schieber bei Notification/Send auf AN. Der Haken bei Receive wird aktiviert, damit andere Anwendungen das Signal (Intent) empfangen können, sobald Motion Detector eine Bewegung erkennt.

Notification Einstellungen in Motion Detector
Notification Einstellungen in Motion Detector

In den weiteren Einstellungen aktivierst Du noch den Autostart und kannst ggf. die Camera auf Front einstellen.

Camera - Einstellung & Autostart in Motion Detector
Camera – Einstellung & Autostart in Motion Detector

Im weiteren Verlauf solltest Du noch die Battery Optimization einstellen und die Empfindlichkeit unter Sensitivity an Deine Umgebung anpassen. Folgende Einstellungen habe ich bei mir aktiviert. Somit erkennt das Tablet auch in der Nacht Bewegungen und schaltet sich ein.

Battery Optimization & Sensity Einstellung
Battery Optimization & Sensity Einstellung
Sensitivity Einstellung
Sensitivity Einstellung

Bei Suspend kannst Du einstellen, wie lange die App keine erneute Bewegung nach einer erkannten Bewegung erfasst und somit auch keine Benachrichtigung (Intent) sendet.

Suspend Einstellung
Suspend Einstellung

Auf der Hauptseite des Motion Detector muss die Erkennung noch aktiviert werden. Dazu das blaue Kamera – Symbol anklicken und man sieht direkt, das die Kamera neue Events registriert. Um Dich zu versichern kannst Du auch ein paar Mal mit der Handfläche an der Kamera vorbei streichen und sehen, wie sich die Zahl der Events verändert.

Motion Detector gestartet und aktiv
Motion Detector gestartet und aktiv

Konfiguration von MacroDroid

Ich persönlich arbeite sehr gerne mit MacroDroid, da es im Gegensatz zu Tasker sehr zuverlässig läuft und schnell und einfach zu bedienen ist. Wer an dieser Stelle schon Tasker installiert hat, kann die ähnlichen Befehle auch dort einbinden – die Vorgehensweise ändert sich nur ein Wenig.

Du erstellst in MacroDroid ein neues Makro

Neues Makro in MacroDroid anlegen
Neues Makro in MacroDroid anlegen

Makroname:
Den Namen kannst Du frei wählen. Z.B. Bewegung – Display an

Auslöser:
Klicke auf das kleine Plus bei Auslöser Geräteereignisse -> Intent erhalten und trage dort folgendes ein:

org.motion.detector.ACTION_GLOBAL_BROADCAST
Auslöser hinzufügen -> Geräteereignisse -> Intent erhalten
Auslöser hinzufügen -> Geräteereignisse -> Intent erhalten

Aktionen:
Abermals über das Plus zwei Aktionen anlegen:
Geräteeinstellungen -> Bildschirmsperre -> Bildschirm entsperren -> OK
Bildschirm -> Bildschirm An/Aus -> Bildschirm an -> OK

Geräteeinstellungen -> Bildschirmsperre -> Bildschirm entsperren
Geräteeinstellungen -> Bildschirmsperre -> Bildschirm entsperren
Bildschirm -> Bildschirm An/Aus -> Bildschirm an
Bildschirm -> Bildschirm An/Aus -> Bildschirm an

Über die Taste =+ am unteren Bildschirmrand speicherst Du das Makro ab und aktivierst es gleichzeitig.

Konfiguration von ioBroker VIS

Die notwendigen Einstellungen kannst Du in der VIS App auf dem Tablet tätigen. Gib’ zuerst die Adresse und Zugangsdaten ein und wähle OK. Danach wird die Konfiguration neu geladen und das Projekt ist – sollten die Zugangsdaten stimmen – auswählbar.
Erscheint auch mit korrekten Zugangsdaten kein Projekt in der Auswahlliste, so scrolle einmal ganz nach unten und wähle dort Mobile Verbindung -> Erlaube selbstsignierte Zertifikate -> aktiv

SSID Name: Name des W-Lans (so weiss VIS, ob es im heimischen W-LAN ist)
Socket URL: Adresse des ioBroker VIS mit Port 8082 (https://192.168.2.105:8082)
Anwender: Unter diesem Benutzer ist das Projekt gespeichert (Standard: Admin)
Kennwort: Falls ioBroker mit einem Kennwort gesichert ist, dieses hier eintragen
Kennwort-Wiederholung: Das Kennwort des Benutzers nochmal eingeben
Projekt: Name des Projekt, welches VIS laden soll
Erlaube selbstsignierte Zertifikate: Unbedingt aktivieren, da sonst keine Verbindung zustande kommt

Sobald alle Einstellungen erfolgt sind und VIS als Oberfläche erscheint, lässt Du das Tablet einfach liegen und wartest, bis sich das Display abdunkelt oder ausschaltet. Dann kannst Du durch eine Bewegung testen, ob diese erfasst wird und sich das Display einschaltet.

BatteryChargeLimit einrichten

Da das Tablet non-stop mit dem Ladegerät verbunden ist, würde es sich jedes Mal direkt bei 99% Akkustand wieder aufladen. Dies schadet dem Akku sehr. Der beste Ladestand eines Akkus beträgt zwischen 60 – 80%. Um dies zu erreichen kannst Du entweder die Möglichkeit einer Smart – Home Steckdose nutzen, die Du per Macrodroid einschalten lässt, sobald ein gewisser Ladestand unterschritten ist oder Du nutzt die App BatteryChargeLimit, die dies völlig unabhängig auf einem gerooteten Tablet durchführt.

Folgende Einstellungen sind hier zu tätigen:

  • Aktiviere Battery Charge Limit
  • Laden bis max. 80%
  • Wiederaufladen unter 60%
  • Die App findet automatisch die passende Steuerdatei
Einstellungen für BatteryChargeLimit
Einstellungen für BatteryChargeLimit

Überwachung des Tablet Ladestand in der HomeMatic

Mit MacroDroid lässt sich natürlich auch noch der aktuelle Ladestand auf die HomeMatic bringen. Dazu habe ich ein eigenes Skript, welches alle 2 Minuten den aktuellen Ladestand in die CCU schreibt.

VariableTypMaßeinheit
Ladestand TabletZahl%
Ladestand des Tablets alle 2 Minuten an die CCU übermitteln

Dazu kannst Du ein neues Makro erstellen, welches folgenden Auslöser hat:
Tag/Zeit -> Intervall, regelmäßiges -> alle 2 Minuten

Als Aktion wählst Du:
Anwendungen -> Webseite öffnen / HTTP Get und wählst dort zusätzlich (HTTP GET (Ohne Web Browser) aus.
Als URL trägst Du dort folgendes ein:

http://IP-DEINER-CCU:8181/x.exe?Antwort=dom.GetObject("Ladestand Tablet").State([battery])
Ladestand des Tablets alle 2 Minuten an die CCU übermitteln
Ladestand des Tablets alle 2 Minuten an die CCU übermitteln

Jetzt wird alle 2 Minuten der Ladestand des Tablets automatisch in die Variable geschrieben. Auf der CCU kann man nun mit dem Wert weiter arbeiten und zugehörige Programme erstellen. Zum Beispiel -> Ladestand unter 50% -> sende eine E-Mail als Hinweis.

Geschafft!

Ein fertiges Tablet sieht in etwa so aus:

Beispiel für die Visualisierung