So nach vielen testen habe ich endlich eine Lösung gefunden wie man per Bluetooth seine Tür, wenn man davor steht mit vollen Einkaufstüten, automatisch aufschließen kann.
Ich habe erst mit dem PioTek Bundle - 1 Tracker + 1 USB Stick es versucht:
-
zu ungenau, 30 Zeitfenster ist immer noch zu groß…
-
verlieret mehrmals den Kontakt zum Empfänger bei 1m Entfernung…
Dann habe ich es mit dem IPS-LAN-T-868 LAN Transceiver + IPS-AKM-868 Repeater + PS-TRACKER-868 xOVO versucht:
-
zu ungenau, 30 Zeitfenster ist immer noch zu groß…
-
Repeater näher an das Hoftor stellen brachte keine Verbesserung…
Also dachte ich mir es muss doch besser gehen:
Am Mac nutze ich schon seit Monaten das Tool TokenLock, das sperrt mir den Mac sobald mein iPhone ausser Bluetooth-Reichweite ist und entsperrt den Mac sobald ich wieder in der BT-Reichweite bin. Das funktioniert perfekt und zuverlässig.
Also begann ich nach eine Alternative für Windoff zu suchen und wurde fündig:
BTProx
Dieses Tool macht genau was ich suchte:
Wenn das BT Gerät in Reichweite ist löst es ein Aktion aus, z.B. eine CMD Datei und wenn das BT Gerät außerhalb der BT Reichweite ist, wird eine andere Aktion ausgeführt z.B. eine 2te CMD Datei.
Also es Funktioniert so:
In IPS:
Lege eine Kategorie an z.B. Anwesenheit per Bluetooth
Dort 2 Bootleen-Variable, Anwesend, nicht Anwesend.
Dann erstellt man 2 CMD-Dateien:
- CMD Datei : aus_reichweite.cmd:
C:\Users\drapple\Desktop\IPSCommand.exe -host 192.168.0.5 -run "20098"
- CMD Datei : in_reichweite.cmd
C:\Users\drapple\Desktop\IPSCommand.exe -host ipadresse vom IPS-Server -run "42218"
Eklränung:
C:\Users\drapple\Desktop\IPSCommand.exe ist der Pfad zur IPSCommand.exe (ist in Zip dabei…)
20098 = Die ID vom Script das gestarten wird, wenn es das BT Gerät auser Reichweite ist.
42218 = Die ID vom Script das gestarten wird, wenn es das BT Gerät in Reichweite ist.
Jetzt brauchen wir noch 2 Scripte, 1 für in Reichweite und eins für auser Reichweite:
In Reichweite:
<?
$text=24734 /*[Google Latitude\Anwesenheit per Bluetooth\Wann war ich das letze mal Anwesend ?]*/ ;
$awh=getvalue(15675 /*[Google Latitude\Anwesenheit per Bluetooth\Anwesent ?]*/ );
$bm= 25098 /*[Klingel und Türöffner\Hoftor Tür\Tür offen gewesen :]*/ ;
$Var= IPS_GetVariable($bm);
$Zeit= date("U", time() - $Var['VariableUpdated']);
$Tage = intval($Zeit/86400);
$Zeit -= $Tage*86400;
$Stunden = intval($Zeit/3600);
$Zeit -= $Stunden*3600;
$Minuten = intval($Zeit/60);
$Tage2=$Tage*24;
$Tage2=$Tage2*60;
$Stunden2=$Stunden*60;
$Minuten2=$Tage2+$Stunden2+$Minuten;
//****************Bewegungsmelder******************************
$lb=GetValue (18704 /*[Bewegungsmelder\Bewegungsmelder\Letzte Bewegung war im]*/ );
$lb1 = substr ($lb, 0, 10);
//***************Aktion *********************************
If (($lb1=="Aussenflur") and ($awh ==false))
{
setvalue(15675 /*[Google Latitude\Anwesenheit per Bluetooth\Anwesent ?]*/ ,true);
setvalue(29601 /*[Google Latitude\Anwesenheit per Bluetooth\Bin ich abwesend ?]*/ , false);
//***********************Türen aufschließen ***************************
Hier die Aktion wo ausgelöst werden soll !
}
?>
Auser Reichweite:
<?
$bm= 14870 /*[Klingel und Türöffner\Hoftor Tür\War die Tür die letzte Minute geöffnet ?]*/ ;
$Var= IPS_GetVariable($bm);
$Zeit= date("U", time() - $Var['VariableUpdated']);
$Tage = intval($Zeit/86400);
$Zeit -= $Tage*86400;
$Stunden = intval($Zeit/3600);
$Zeit -= $Stunden*3600;
$Minuten = intval($Zeit/60);
$Tage2=$Tage*24;
$Tage2=$Tage2*60;
$Stunden2=$Stunden*60;
$Minuten2=$Tage2+$Stunden2+$Minuten;
$bm3= 15675 /*[Google Latitude\Anwesenheit per Bluetooth\Anwesent ?]*/ ;
$Var3= IPS_GetVariable($bm3);
$Zeit3= date("U", time() - $Var3['VariableUpdated']);
$Tage3 = intval($Zeit3/86400);
$Zeit3 -= $Tage3*86400;
$Stunden3 = intval($Zeit3/3600);
$Zeit3 -= $Stunden3*3600;
$Minuten3 = intval($Zeit3/60);
//****************Bewegungsmelder******************************
$lb=GetValue (18704 /*[Bewegungsmelder\Bewegungsmelder\Letzte Bewegung war im]*/ );
$lb1 = substr ($lb, 0, 10);
//***************Aktion *********************************
If (($lb1=="Aussenflur") and ($Minuten2 <1) and ($Minuten3 >1))
{
setvalue(29601 /*[Google Latitude\Anwesenheit per Bluetooth\Bin ich abwesend ?]*/ , true);
setvalue(15675 /*[Google Latitude\Anwesenheit per Bluetooth\Anwesent ?]*/ ,false);
}
?>
Zur Info:
Da ich einen großen Hof habe, und ein Hoftor, musste ich den BT Dongle an das Hoftor bauen, und da ich ja nicht alleine bin, habe ich noch einen Tür-Sensor am Hoftor angebracht, damit kann ich eindeutig ermitteln ob ich auch wirklich gegangen bin.
Ist das erledigt muss nur noch BTProx eingerichtet werden:
BTProx starten, verwendetes Gerät auswählen, jetzt sucht er nach BT Geräten, das Gerät muss sichtbar sein ! BT Gerät auswählen.
Wartezeit auf 0 Minuten einstellen.
Sperrbefehl: die auser_reichweite.cmd Datei von vorhin auswählen.
Parameter leer lassen !
Haken setzten bei Nicht Sperren !
Freigabebefehl: die in_reichweite.cmd Datei von vorhin auswählen.
Parameter leer lassen !
dann auf Optionen klicken: Überwachungsintervall: 0 Sekunden
Zum Schluss auf starten und dann auf verstecken fertig.
Man kann es einfach testen in dem man BT am Hnady einschaltet und wieder ausschalten…
Für mich funktioniert diese Lösung perfekt, ich kann jetzt einfach zu meinem Hoftor laufen und wenn ich davorstehe öffnet sich es wie von Geisterhand die Tür (dank HM Key Magic ;-).
Noch ein Tipp:
Da es leider keinen BT over Lan gibt oder sonst was in dieser Richtung musste ich viele USB Server testen, bis ich nach 4 Schrottgeräten endlich einen gefunden hatte der mit BT Dongles klar kommt:
Digitus DN-13020 und als BT Dongle : DLink DBT-122
Andere BT Dongles habe ich nicht getest !
Wenn man ein RJ45 Kabel hat kann man auch einfach zur Verlängerung bei Ebay so was benutzen:
Sucht bei Ebay nach „usb cat5“ damit kann man locker 45m überbrücken.
btprox_1_5_0.zip (697 KB)