Support für Beacons in der Symcon Mobile App

Hallo zusammen,

ich habe mich jetzt durch zig Beacon / Geofency Posts gelesen aber irgendwie noch nicht diese Frage gefunden:

Es wäre toll, wenn man Kategorien zu Beacons zuordnen könnte und die App dies auch auswerten würe.

Wenn man also im Bad steht und die App öffnet sieht man die Optionen für das Bad, wenn man dann in die Küche geht sieht man die Optionen für die Küche.
So nach 5 Minuten Inaktivität kann der aktuelle Ort verworfen und eine neue Ortung durchgeführt werden.

Gibt es hierfür schon entsprechende Ansätze?

Viele Grüße

Gustl

Hi deine Idee ist gut, habe ich schon oft versucht umzusetzten aber mit Bewegungsmelder, da die ibeacons nicht wirklich für eine raumzuortnung taugen…

Das Problem ist aber die Symcon APP, die gitb es nicht her bis jetzt :banghead:

Hallo drapple,

Genau, denn hier im Forum gibt es jede Menge Ansätze, wie die Smartphones dem IPS Server mitteilen, in welchem Raum sie sich befinden. Aber das hilft in der App nichts.

Viele Grüße

Gustl

Da Geofency&Co das viel besser können als wir es jemand machen könnten, werden wir soetwas leider nicht anbieten.

Wenn der Server weiß wo du bist, kannst du ja alles schalten, wie die App es tun würde :slight_smile:

paresy

[… oh zu langsam ]

Alternativ kannst du inzwischen auch selbst Hand anlegen und dir mit dem Android-SDK etwas eigenes kreieren.
SDK (Android) — IP-Symcon :: Automatisierungssoftware

Michael

Wenn schon brauchen wir es auch für IOS :wink:

Hallo paresy,

Genau darum geht es mir ja. Das Geofencing muss ja gar nicht in der IP Symcon App stattfinden.

Aber was eben interessant wäre:

Smartphone meldet Standort per Gefency o.ä. an IPS Server
Smartphone öffnet IPS App.
-> Server teilt der App mit, dass sie sich in Raum X befindet,
die App springt daraufhin direkt zu dieser Kategorie.

Im Endeffekt bräuchte ich also gar kein Lokalisierungsfeature in der App aber eben die Möglichkeit die aktuell geöffnet Kategorie vom Server aus vorgeben zu können.

Die Externen Apps lösen mir ja noch nicht das Problem, dass ich ein GUI brauche, um die Schalter zu drücken oder die Helligkeit wählen zu können.

Viele Grüße

Gustl

Wäre ohne Probleme möglich, aber die Symcon APP kann das nicht: die App springt daraufhin direkt zu dieser Kategorie.

Verstecke doch einfach eine zusätzliche Raumkategorie mit all Deinen Schaltern (Schalterlinks) für diesen Raum.
Mache die Kategorie sichtbar, sobald Geofency meldet, das dass iBeacon Kontakt zu Deinem Handy hat. Fertig.

Danke für den Tip !!!

Früher ging das nicht mit der IPS IOS APP live, deswegen habe ich es nie wieder versucht sau geil !

Dann baue ich mal was und stelle es bald vor…

Habe mal auf die Schnelle was gebastelt, hast du es dir so vorgestellt ?

[video]https://dl.dropboxusercontent.com/u/2476467/IPS/VID_20161110_081647.mp4[/video]

Ich bin fertig :slight_smile:

Vorraussetzungen:

  • In jedem Raum ein Bewegungsmelder / Tür Sensor

Aufbau:

Ich habe im root eine Kategorie mit dem Namen „Aktueller Raum“ angelegt. In dieser Kategorie, habe ich alle Variablen / Instanzen verlinkt, die ich Angezeigt haben will.

Das sieht dann so aus:

Dann legt man ein Script an:

<?                                                                                                


$var=$_IPS['VARIABLE'];
//$var=19846 /*[Hof 2.0\Briefkasten\Briefkasten Zenger\Der Briefkasten ist]*/;#
//$var=59861 /*[Bewegungsmelder und Alarmanlage\Bewegungsmelder\Letzte Bewegung war im]*/;
//$var=12875 /*[Hof 2.0\Klingel Zenger\Klingel 1 Hoftor\Status]*/;
//$var=17961 /*[Hof 2.0\Haustür Zenger\Flur EG Bewegungsmelder\Status]*/;


$varparent=IPS_GetParent($var);
$varname=IPS_getname($varparent);
$k_id=48021 /*[Aktueller Raum]*/;
$an=false;
$aus=true;

$bm=getvalue(59861 /*[Bewegungsmelder und Alarmanlage\Bewegungsmelder\Letzte Bewegung war im]*/);

if (($varname =="Flur EG Bewegungsmelder") && ($bm !=6)) break;



foreach(IPS_GetChildrenIDs($k_id) as $i_id)
{
$name=IPS_GetName($i_id);




   $raumids2[]=$i_id;
}


foreach($raumids2 as $i_id)
{
IPS_SetHidden($i_id,$aus);
}

IPS_SetHidden(46062 /*[Aktueller Raum\Sound]*/,$an);


//****************************** Flur EG ********************

if (($varname =="Flur EG Bewegungsmelder") && ($bm==6))
{

IPS_SetHidden(36555 /*[Aktueller Raum\Flur EG Bewegungsmelder]*/,$an);
IPS_SetHidden(59758 /*[Aktueller Raum\Hoftor öffnen]*/,$an);
IPS_SetHidden(25471 /*[Aktueller Raum\Haustür Öffner]*/,$an);
IPS_SetHidden(44763 /*[Aktueller Raum\Haustür]*/,$an);
IPS_SetHidden(55005 /*[Aktueller Raum\Hoflicht Zenger]*/,$an);
IPS_SetHidden(46420 /*[Aktueller Raum\Flur 1 Licht]*/,$an);
IPS_SetHidden(27551 /*[Aktueller Raum\Flur 2 Licht]*/,$an);
IPS_SetHidden(47155 /*[Aktueller Raum\Keller Licht]*/,$an);
}




//****************************** Klingel ********************

if ($varname =="Klingel 1 Hoftor")
{




IPS_SetHidden(19034 /*[Aktueller Raum\Klingel 1 Hoftor]*/,$an);
IPS_SetHidden(59758 /*[Aktueller Raum\Hoftor öffnen]*/,$an);
IPS_SetHidden(25471 /*[Aktueller Raum\Haustür Öffner]*/,$an);
IPS_SetHidden(57517 /*[Aktueller Raum\Wer hat zuletzt geklingelt ? ]*/,$an);
IPS_SetHidden(38743 /*[Aktueller Raum\Wer hat zuletzt geklingelt Cam2]*/,$an);

}

//****************************** Briefkasten ********************

if ($varname =="Briefkasten Zenger")
{


IPS_SetHidden(24098 /*[Aktueller Raum\Briefkasten Zenger]*/,$an);
IPS_SetHidden(57517 /*[Aktueller Raum\Wer hat zuletzt geklingelt ? ]*/,$an);
IPS_SetHidden(38743 /*[Aktueller Raum\Wer hat zuletzt geklingelt Cam2]*/,$an);

}



//****************************** Bewegungsmelder ********************

if ($varname =="Bewegungsmelder")
{
/*
IPS_SetHidden(24098 /*[Aktueller Raum\Briefkasten Zenger]*/,$aus);
IPS_SetHidden(57517 /*[Aktueller Raum\Wer hat zuletzt geklingelt ? ]*/,$aus);
IPS_SetHidden(38743 /*[Aktueller Raum\Wer hat zuletzt geklingelt Cam2]*/,$aus);
*/








if ($bm==0) $raum="Schlafzimmer";
if ($bm==1) $raum="Wohnzimmer";
if ($bm==2) $raum="Küche";
if ($bm==3) $raum="Flur";
if ($bm==4) $raum="Kinderzimmer";
if ($bm==5) $raum="Bad";
if ($bm==6) $raum="Aussenflur";


//****************************** Räume anzeigen ********************

if ($bm !=6)
{
foreach(IPS_GetChildrenIDs($k_id) as $i_id)
{
$name=IPS_GetName($i_id);

$raum1=preg_match("/$raum/", $name);

if ($raum1==1)
{
   $raumids[]=$i_id;
}
}
foreach($raumids as $i_id)
{
IPS_SetHidden($i_id,$an);
}
}





//***************************** Verstecken ***********************
/*
foreach(IPS_GetChildrenIDs($k_id) as $i_id)
{
$name=IPS_GetName($i_id);

$raum1=preg_match("/$raum/", $name);

if ($raum1 == 0)
{
   $raumids2[]=$i_id;
}
}


foreach($raumids2 as $i_id)
{
IPS_SetHidden($i_id,$aus);
}

*/

}

?>

Im Script wird festgelegt, was passieren soll, wenn eine Variable das Script auslöst…

Das Script noch mit den auszulösenden Variablen verknüpfen !

Dann noch viel Spaß beim Anpassen :slight_smile:

Das sieht dann so aus:

[video]https://dl.dropboxusercontent.com/u/2476467/IPS/Raumwechsel.mov[/video]

Gratulation !
Das klappt doch sehr gut.

Du kannst aber noch einen Schritt weitergehen:
Auf jeder angezeigten Seite ganz oben eine Möglichkeit (Schalter) einrichten, zum Abschalten dieser Location-Automatik, falls Du mal andere Räume steuern möchtest in denen Du Dich gerade nicht aufhältst.:wink:

Das ist nur eine Kategorie, du kannst einfach zurückgehen und siehst wieder alles

Gesendet von iPhone mit Tapatalk

Achso ja, auch gut.

Hallo drapple,

das ist ein hochinteressanter Ansatz. Ich finde es immer wieder bewundernswert was hier im Forum so alles entsteht.

Aber ich muss ja auch für jedes Gerät eine Kategorie pflegen.
Mit zwei Smartphones und zwei Tablets wird das durchaus aufwändig.

Ich denke mal, ich werde das für die Smartphones so implementieren.

Aber es wäre trotzdem schön, wenn der Hersteller sowas einfach direkt in die App einbauen könnte. Einfach Kategorien direkt anhand von Variablen anspringen.

Muss ja nicht mal ein Beacon sein, die Inputs können ja vielfältig sein.

Viele Grüße

Gustl