Tablet automatisch anschalten bei Anwesenheit

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Hagiman2000
Beiträge: 46
Registriert: 08.03.2017, 07:27

Tablet automatisch anschalten bei Anwesenheit

Beitrag von Hagiman2000 » 11.10.2017, 13:19

Ich möchte bald das Tablet an die Wand anbringen. Wie bekomme ich es jetzt hin, dass das Tablet nicht dauernd an sein muss, sondern nur an ist wenn jemand im Raum ist. Spontan ist mir ein Bewegungsmelder eingefallen. Müsste ich dann auch noch die Steckdose steuern an welcher das Tablet angeschlossen ist (Display ohne Sperrbildschirm an sobald Strom anliegt und geht nach ca 10min wieder aus), oder ist das vielleicht auch irgendwie Softwareseitig machbar?

Fonzo
Beiträge: 6741
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 484 Mal

Re: Tablet automatisch anschalten bei Anwesenheit

Beitrag von Fonzo » 11.10.2017, 14:02

Falls es ein Android Tablet ist und über eine Kamera verfügt kannst Du Apps nutzten um mit der Kamera bei Bewegung das Tablet aufzuwecken, dazu Bedarf es nicht extra eines Bewegungsmelders. Ich nutze z.B. Motion Detector. Bei IOS bin ich überfragt ob das irgendwie geht.

dtp
Beiträge: 10660
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 321 Mal
Danksagung erhalten: 501 Mal

Re: Tablet automatisch anschalten bei Anwesenheit

Beitrag von dtp » 11.10.2017, 14:33

Sofern Du den Home24 Mediaplayer auf Deinem Android-Tablet und CUxD auf Deiner CCU installierst, geht das Ganze auch ohne einen Aktor mit den nachfolgenden Skripten.

Hier mal ein Skript zum Einschalten des Displays:

Code: Alles auswählen

! EG Flur Tablet Display einschalten
! Version 1.2, Autor: dtp

! Name der verwendeten Systemvariablen
string svTabletIp = "EG Flur SV Tablet IP"; ! Tablet-IP

! #####################################################################
! ##### ab hier bitte keine weiteren Einstellungen mehr vornehmen #####
! #####################################################################

! +++++ Variablendeklaration +++++
string tabletIp; string url;

! +++++ Systemvariable svTabletIp auslesen +++++
tabletIp = (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svTabletIp)).Variable();

! +++++ Display einschalten +++++
url="http://"#tabletIp#":50000/screenon";
(dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_SETS")).State("wget -q -O /dev/null " # url);
(dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_RUNS")).State("1");
Dazu legst Du auf Deiner CCU ein Systemvariabel vom Typ Zeichenkette an, in die Du die IPv4-Adresse Deines Tablets einträgst. Du kannst aber auch auf die Systemvariable verzichten, und sie direkt als String in die lokale Variable "tabletIp" eintragen. Dann sähe das Skript so aus:

Code: Alles auswählen

! EG Flur Tablet Display einschalten
! Version 1.2, Autor: dtp

! IPv4-Adresse des Tablets
string TabletIp = "xxx.xxx.xxx.xxx";

! #####################################################################
! ##### ab hier bitte keine weiteren Einstellungen mehr vornehmen #####
! #####################################################################

! +++++ Variablendeklaration +++++
string url;

! +++++ Display einschalten +++++
url="http://"#tabletIp#":50000/screenon";
(dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_SETS")).State("wget -q -O /dev/null " # url);
(dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_RUNS")).State("1");
Zum Ausschalten des Tablets dient dann das nachfolgende Skript:

Code: Alles auswählen

! EG Flur Tablet Display ausschalten
! Version 1.2, Autor: dtp

! Name der verwendeten Systemvariablen
string svTabletIp = "EG Flur SV Tablet IP"; ! Tablet-IP

! #####################################################################
! ##### ab hier bitte keine weiteren Einstellungen mehr vornehmen #####
! #####################################################################

! +++++ Variablendeklaration +++++
string tabletIp; string url;

! +++++ Systemvariable svTabletIp auslesen +++++
tabletIp = (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svTabletIp)).Variable();

! +++++ Display einschalten +++++
url="http://"#tabletIp#":50000/screenoff";
(dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_SETS")).State("wget -q -O /dev/null " # url);
(dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_RUNS")).State("1");
Es kann aber sein, dass Dein Tablet auf "screenon" und/oder "screenoff" nicht reagiert. Dann müsstest Du das mit Tasker lösen. Aber versuch's erst mal so.

Gruß,

Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Hagiman2000
Beiträge: 46
Registriert: 08.03.2017, 07:27

Re: Tablet automatisch anschalten bei Anwesenheit

Beitrag von Hagiman2000 » 11.10.2017, 23:13

@Fonzo

Bei der Tablet Halterung habe ich extra auf ein Loch für die Kamera verzichtet weil laut dem Forum dies wohl sehr unzuverlässig funktioniert.

@dtp

Danke für den Tipp. Ja es ist ein Android Tablet aber ich verstehe nicht ganz wie das Skript funktioniert. Irgendwie muss doch das Tablet mit bekommen, dass es jetzt das Display anschalten soll. Da muss doch ein Impuls von außen kommen, sei es durch eine erkannte Bewegung von Außen oder durch einen Sensor wie einem Bewegungssensor der dem Tablet ein Signal schickt.

Benutzeravatar
UwePa
Beiträge: 329
Registriert: 26.08.2015, 06:27
System: CCU
Wohnort: Berlin (Speckgürtel)
Hat sich bedankt: 25 Mal
Danksagung erhalten: 3 Mal

Re: Tablet automatisch anschalten bei Anwesenheit

Beitrag von UwePa » 12.10.2017, 07:02

Guten Morgen,

ich bin nicht wirklich der HomematicPowerUser, aber ich kann Dir eine Möglichkeit aufzeigen, die bei mir (ohne großartige Computerfähigkeiten) funktioniert.

Alles hier aus dem Forum erlesen:
Voraussetzung ein Bewegungsmelder oder ein anders Gerät welches mit der CCU kommuniziert.
WOLI , gibt es im Playstore
Socat, findet man hier einiges zu und einen FTP Zugang.

Bei mir war es so:
Wenn Bewegung erkannt, dann
Script:

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/bin/sh /usr/local/addons/DispON.sh")
10 Sekunden später

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/bin/sh /usr/local/addons/DispOFF.sh")
letzlich auf der CCU die beiden Scripte DispON.sh und DispOFF.sh ablegen. (FTP)

Code: Alles auswählen

# more DispOFF.sh
# Nachdem ein Wolido:wake:0 empfangen wurde, geht das Display nach der eingestellten Zeit aus 
echo -ne 'wolido:wake:1' | /usr/local/addons/socat - UDP:192.xxx.xx.xx:6666
#

Code: Alles auswählen

# more DispON.sh
# Android-Geraet schaltet Display ein. Display bleibt an.
# Nachdem ein Wolido:wake:0 empfangen wurde, geht das Display nach der eingestellten Zeit aus 
echo -ne 'wolido:wake:1' | /usr/local/addons/socat - UDP:192.xxx.xxx.xx:6666
#
Ich habe mich bewusst für Woli entschieden, da auch andere Dinge wie Lichtsteuerung die nicht direkt zu Homematic gehört mit eingebunden werden kann, den Spielereien sind da fast keine Grenzen gesetzt.

Ich habe ungefähr 60 Minuten gebraucht um Woli zum laufen zu bringen, 20 um FTP zu installieren und einzurichten ein paar Minuten brauchte ich für SOCAT , die Scripe fand ich im Netz.

MfG
Uwe
Mit freundlichen Grüßen

Uwe

--------------////////-------------
CCU3 und fast nur noch HMIP

Mutter gibt es wirklich sowas, wie den perfekten Mann?
Sicher Kind, sie werden Biker genannt ;-)

dtp
Beiträge: 10660
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 321 Mal
Danksagung erhalten: 501 Mal

Re: Tablet automatisch anschalten bei Anwesenheit

Beitrag von dtp » 12.10.2017, 08:49

Hagiman2000 hat geschrieben:Ja es ist ein Android Tablet aber ich verstehe nicht ganz wie das Skript funktioniert. Irgendwie muss doch das Tablet mit bekommen, dass es jetzt das Display anschalten soll. Da muss doch ein Impuls von außen kommen, sei es durch eine erkannte Bewegung von Außen oder durch einen Sensor wie einem Bewegungssensor der dem Tablet ein Signal schickt.
Sorry, wollte eigentich gestern noch die zugehörigen Programme posten. Hatte ich dann leider vergessen. Also, ich mache das folgendermaßen:

Es gibt zwei WebUI-Programme. Das eine ruft direkt die oben geposteten Skripte in Abhängigkeit von der Systemvariablen "EG Flur SV Tablet Display" auf. Ich habe mal alles, was zum Einschalten des Displays gehört, grün markiert und alles, was zum Ausschalten des Displays gehört, blau markiert.
IMG_1295.PNG
Die Systemvariablen "CCU SV Status" und "Haus SV Anwesenheit" kannst Du erst mal ignorieren. Sie sind für das Grundprinzip des Programms von sekundärer Bedeutung.

Das andere Programm setzt die Systemvariable "EG Flur SV Tablet Display" in Abhängigkeit verschiedener Ereignisse.
IMG_1296.PNG
IMG_1297.PNG
Wie Du anhand der farbigen Rahmen erkennen kannst, wird die Systemvariable "EG Flur SV Tablet Display" mit diesem Progamm entweder auf "aus" oder auf "an" gesetzt. In einigen Zweigen erfolgt ein Setzen auf "an" und ein verzögertes Setzen auf "aus". Die Möglichkeiten sind da vielfältig.

Ich hoffe, das hat Dir etwas weitergeholfen.

Gruß,

Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Hagiman2000
Beiträge: 46
Registriert: 08.03.2017, 07:27

Re: Tablet automatisch anschalten bei Anwesenheit

Beitrag von Hagiman2000 » 12.10.2017, 11:35

@dtp

Dann lag hier wohl ein Missverständnis vor. Laut deinen Screenshots löst ja irgend etwas das Skript aus (es wird die Klingel oder ein Schalter betätigt). Das war meine Frage. Deine erste Antwort lass sich so, als würde es mit einer reinen Softwarelösung klappen ohne Sensor oder Aktor.

dtp
Beiträge: 10660
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 321 Mal
Danksagung erhalten: 501 Mal

Re: Tablet automatisch anschalten bei Anwesenheit

Beitrag von dtp » 12.10.2017, 12:39

Einen zusätzlichen Aktor brauchst Du in der Tat nicht. Einen Sensor schon, wenn Du das Display in Abhängigkeit von einer Bewegung einschalten willst. Es gibt aber auch Lösungen, die dafür die Kamera des Tablets verwenden, so dass man hierfür dann überhaupt keine HM-Komponente mehr benötigt. Allerdings ist die Bewegungserkennung per Tablet-Kamera ein kleiner Stromfresser.

Du kannst als Auslöser aber auch die Anwesenheit verwenden, wie auch immer Du die detektierst bzw. aktivierst. Dafür bedarf es also nicht unbedingt eines Sensors.

Viele Wege führen nach Rom. ;)
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Hagiman2000
Beiträge: 46
Registriert: 08.03.2017, 07:27

Re: Tablet automatisch anschalten bei Anwesenheit

Beitrag von Hagiman2000 » 12.10.2017, 13:23

Ein Bewegungsmelder erscheint mir hier die einfachste Variante die auch nicht so Fehler anfällig ist. Beim Tablet habe ich ja extra eine Blende ohne Kameraloch gewählt weil die Erkennung via Kamera ja nicht so zuverlässig ist (dies kann natürlich von vielen Faktoren abhängen, Qualität der Kamera, Lichtverhältnisse im Raum, usw.)

dtp
Beiträge: 10660
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 321 Mal
Danksagung erhalten: 501 Mal

Re: Tablet automatisch anschalten bei Anwesenheit

Beitrag von dtp » 12.10.2017, 14:39

Hagiman2000 hat geschrieben:Ein Bewegungsmelder erscheint mir hier die einfachste Variante die auch nicht so Fehler anfällig ist.
Im Grunde genommen gebe ich Dir da Recht. Ich habe nur leider ein etwas störrisches Tablet, das trotz gegenteiliger Einstellungen mitunter die WLAN-Verbindung kappt. Und dann schaltet sich das Ding einfach nicht an. Das nervt dann schon ein wenig, auch wenn es kein HM-Problem ist. Wenn es nicht schon längst an der Wand hängen würde, dann hätte ich es schon ein paar Mal dagegen geworfen. ;)
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Antworten

Zurück zu „HomeMatic allgemein“