Freundin bedingt zutritt gewähren
Moderator: Co-Administratoren
-
- Beiträge: 71
- Registriert: 18.11.2013, 15:50
Freundin bedingt zutritt gewähren
Servus Jungs,
Problemstellung: ich bin heute an der Nase operiert worden (Muscheln verkleinern weil ich immer schlecht Luft bekomme...).
Ich lieg jetzt zuhause und schlaf wegen der Narkose immer wieder ein. Jetzt möchte ich meiner Freundin die Möglichkeit geben mich zu besuchen und sich selbst die Türen aufzumachen.
Das ist das Problem für heute.
Anderes Szenario ist, ich möchte jemanden einen Link schicken, mit der er "sich" nur ein eisiges mal "reinlassen" kann. Wenn ein Freund zB etwas abholen möchte.
Es müssen 2 Türen geöffnet werden.
Tür 1: Haupteingangstür (hab hier die Gegensprechanlage angezapft und kann diesen Kontakt schließen)
Tür 2: Wohungstür (Keymatic)
Am liebsten wärs mir, einen Link zu schicken, der zB auf eine DashUI Seite geht (port geforwardet im Router). Aber es soll nur ein Einziges mal gehen. Oder nur an einem Tag, oder nur 1 Stunde oder so.
Habt ihr da irgendeine Idee?
Ich habe ziemlich alle Autoren uns Sensoren die das HM Programm hergibt und die meisten CCU.IO adapter die gängig sind.
Keine Sorge - meiner Nase gehts schon wieder ganz gut
Danke für Eure Ideen!
Problemstellung: ich bin heute an der Nase operiert worden (Muscheln verkleinern weil ich immer schlecht Luft bekomme...).
Ich lieg jetzt zuhause und schlaf wegen der Narkose immer wieder ein. Jetzt möchte ich meiner Freundin die Möglichkeit geben mich zu besuchen und sich selbst die Türen aufzumachen.
Das ist das Problem für heute.
Anderes Szenario ist, ich möchte jemanden einen Link schicken, mit der er "sich" nur ein eisiges mal "reinlassen" kann. Wenn ein Freund zB etwas abholen möchte.
Es müssen 2 Türen geöffnet werden.
Tür 1: Haupteingangstür (hab hier die Gegensprechanlage angezapft und kann diesen Kontakt schließen)
Tür 2: Wohungstür (Keymatic)
Am liebsten wärs mir, einen Link zu schicken, der zB auf eine DashUI Seite geht (port geforwardet im Router). Aber es soll nur ein Einziges mal gehen. Oder nur an einem Tag, oder nur 1 Stunde oder so.
Habt ihr da irgendeine Idee?
Ich habe ziemlich alle Autoren uns Sensoren die das HM Programm hergibt und die meisten CCU.IO adapter die gängig sind.
Keine Sorge - meiner Nase gehts schon wieder ganz gut
Danke für Eure Ideen!
Re: Freundin bedingt zutritt gewähren
Hallo,
interessante "Herausforderung"!
Als erstes kann ich dir nur raten die Anleitung für den Apache Reverse Proxy um einen Sicheren Zugang zur CCU von extern zu bekommen in meiner Signatur anzusehen, damit kannst du dir auch einen "ungesicherten" webserver machen der von Extern erreichbar ist.
Hier kannst du dann eine Webseite erstellen die aufgrund einer Steuerdatei welche "Tokens" und Parameter enthält dann dynamisch Links zum öffnen Anzeigen lassen.
Beispiel für eine Token Datei:
Wobei nach dem Trennzeichen die Art des Zutritts einzugeben ist und dannach wird die Anzahl der Benutzungen Mitgeschrieben.
Jetzt musst du "nur noch" eine php Seite erstellen die dann mit einem Link wie diesem erreichbar ist
https://dns.name/entry.php?token=2sdf4f ... hj98sfdFgf
Über den token "weis" die php Seite welche Rechte derjenige hat und wenn z.B. bei onetime das öffnen ausgeführt wurde und der Zähler in der token Datei erhöht wurde wird einfach kein button mehr angezeigt...
Das ist alles nur Theorie und auf "Sicherheit" hin zu testen aber Grundsätlzich ist jede Möglichkeit von Extern auf dein Türschloss zuzugreifen gefährlich und sollte vermieden werden!
Deshalb habe ich meine Keymatic IQ (keine Homematic!) mit dem Codeschloss und der Kabelverbedienung wobei nur der Kontakt für Verriegeln mit der Homematic Haussteuerng verbunden ist und im Codeschloss kann z.B. für die Putzfrau genau wie gewünscht ein Benutzer angelegt werden der nur am Montag von 08:00 bis 12:00 zutritt hat...
Paul
interessante "Herausforderung"!
Als erstes kann ich dir nur raten die Anleitung für den Apache Reverse Proxy um einen Sicheren Zugang zur CCU von extern zu bekommen in meiner Signatur anzusehen, damit kannst du dir auch einen "ungesicherten" webserver machen der von Extern erreichbar ist.
Hier kannst du dann eine Webseite erstellen die aufgrund einer Steuerdatei welche "Tokens" und Parameter enthält dann dynamisch Links zum öffnen Anzeigen lassen.
Beispiel für eine Token Datei:
Code: Alles auswählen
2sdf4fhdhdh3dfsdfqwiuhkjdsfohj98sfdFgf|onetime|0
dskjfisdfiojoiijo4389owijefeoiwef|0900-1200|0
Jetzt musst du "nur noch" eine php Seite erstellen die dann mit einem Link wie diesem erreichbar ist
https://dns.name/entry.php?token=2sdf4f ... hj98sfdFgf
Über den token "weis" die php Seite welche Rechte derjenige hat und wenn z.B. bei onetime das öffnen ausgeführt wurde und der Zähler in der token Datei erhöht wurde wird einfach kein button mehr angezeigt...
Das ist alles nur Theorie und auf "Sicherheit" hin zu testen aber Grundsätlzich ist jede Möglichkeit von Extern auf dein Türschloss zuzugreifen gefährlich und sollte vermieden werden!
Deshalb habe ich meine Keymatic IQ (keine Homematic!) mit dem Codeschloss und der Kabelverbedienung wobei nur der Kontakt für Verriegeln mit der Homematic Haussteuerng verbunden ist und im Codeschloss kann z.B. für die Putzfrau genau wie gewünscht ein Benutzer angelegt werden der nur am Montag von 08:00 bis 12:00 zutritt hat...
Paul
Apache Reverse Proxy fuer sicheren Zugriff auf die CCU von Unterwegs
Zeitgesteuertes LXCCU / CCU2 Backup damit es immer eine Aktuelle Sicherung gibt!
Diverse weitere Anleitungen für CCU / LXCCU / Raspberry PI
Zeitgesteuertes LXCCU / CCU2 Backup damit es immer eine Aktuelle Sicherung gibt!
Diverse weitere Anleitungen für CCU / LXCCU / Raspberry PI
Re: Freundin bedingt zutritt gewähren
lösungsvorschlag für dein erstes szenario: warum gibts du deiner freundin nicht temporär einen zweitschlüssel? aber vielleicht denke ich auch einfach nicht zu homematic genug
Re: Freundin bedingt zutritt gewähren
Es muss irgendwie so aussehen. Ein script-door.js erzeugen:
Danach man hat in CCU.IO folgende Variablen:
Wenn man folgende Variablen mit Toggle oder Bool Widgets in DashUI steuert:
-ACCESS.xxx.ENABLED
- ACCESS.xxx.IS_ONCE
und
ACCESS.xxx.EXPIRED_ON mit jqui - Time and Date Picker steuert
Dann wird es gehen und man kann sehr bequem mit Dash UI die Rechte steuern.
Man muss natürlich auf dem Router den Port 8080 weiterleiten und irgendeine IP haben z.B mit http://www.noip.com/
Danach man kann mit dem Kommando
http://myhome.noip.me:8080/api/set/100102/?value=1 versuchen die Tür aufzumachen.
Dieses link als Bookmark auf dem Freündin-Handy speichern oder NFS Tag vor die Tür hängen und über Trigger/Tasker das Link aufrufen.
P.S. Natürlich macht man damit riesen Loch im System auf. Weil wenn man Link kennt, dann kann man alles Zuhause steuern.
Code: Alles auswählen
var idStart = 100100;
var idDoor1 = 12345; // Haustür
var idDoor2 = 12340; // Eingangstür
// Users array
var myUsers = [
{
name: "Freuendin",
token: "ABCDEFG",
enabled: false,
isOnce: true,
expiredOn: ""
},
{
name: "Putzfrau",
token: "ABCDEFG",
enabled: false,
isOnce: false,
expiredOn: "2014-06-25 23:59:59"
}
];
var rootDevice = idStart;
var rootChannels = [];
// Register variables for users
for (var i = 0; i < myUsers.length; i++) {
myUsers[i].channel = rootDevice + 1 + i * 5;
rootChannels.push(myUsers[i].channel);
myUsers[i].channel_DPs = {
COMMAND: channel + 1,
ENABLED: channel + 2,
IS_ONCE: channel + 3,
EXPIRED_ON: channel + 4
};
// Register variables for channel
setObject(myUsers[i].channel_DPs.COMMAND, {
Name: "ACCESS." + myUsers[i].name + ".COMMAND",
TypeName: "HSSDP",
Parent: myUsers[i].channel
});
setObject(myUsers[i].channel_DPs.ENABLED, {
Name: "ACCESS." + myUsers[i].name + ".ENABLED",
TypeName: "HSSDP",
Parent: myUsers[i].channel
});
setObject(myUsers[i].channel_DPs.IS_ONCE, {
Name: "ACCESS." + myUsers[i].name + ".IS_ONCE",
TypeName: "HSSDP",
Parent: myUsers[i].channel
});
setObject(myUsers[i].channel_DPs.EXPIRED_ON, {
Name: "ACCESS." + myUsers[i].name + ".EXPIRED_ON",
TypeName: "HSSDP",
Parent: myUsers[i].channel
});
setObject(myUsers[i].channel, {
Name: "ACCESS." + myUsers[i].name, // Channel name
TypeName: "CHANNEL",
Address: "ACCESS." + myUsers[i].name,
HssType: "ACCESS",
DPs: myUsers[i].channel_DPs,
Parent: rootDevice // root element
});
}
// Create root element
setObject(rootDevice, {
Name: "ACCESS",
TypeName: "DEVICE",
HssType: "ACCESS_ROOT",
Address: "ACCESS",
Interface: "CCU.IO",
Channels: rootChannels
});
// Now we have registered all variables what we required
for (var i = 0; i < myUsers.length; i++) {
// Process commands
subscribe(myUsers[i].channel_DPs.COMMAND, function (obj) {
if (obj.newState.value) {
for (var j = 0; j < myUsers.length; j++) {
if (myUsers[j].channel_DPs.COMMAND == obj.id) {
// Check the enability
if (!getState(myUsers[j].channel_DPs.ENABLED)) {
log("Person " + myUsers[j].name + " versucht die Tür aufzumachen und darf es nicht");
} else {
var exp = getState(myUsers[j].channel_DPs.EXPIRED_ON);
if (exp) {
try {
var expire = new Date(exp);
if (new Date() > expire) {
log("Person " + myUsers[j].name + " versucht die Tür aufzumachen, aber die Zeit '" + exp + "' ist um");
break;
}
}
catch(e) {
log("Cannot convert time to expire" + exp);
break;
}
}
// Disable access if only once enabled
if (getState(myUsers[j].channel_DPs.IS_ONCE)) {
setState(myUsers[j].channel_DPs.ENABLED, false);
}
// Open the doors
setState(idDoor1, true);
setState(idDoor2, true);
break;
}
}
}
}
// Enable the user if new expire date is set
subscribe(myUsers[i].channel_DPs.EXPIRED_ON, function (obj) {
if (!obj.newState.value) return;
for (var j = 0; j < myUsers.length; j++) {
if (myUsers[j].channel_DPs.EXPIRED_ON == obj.id) {
try {
var expire = new Date(obj.newState.value);
if (new Date() < expire) {
setState(myUsers[j].channel_DPs.ENABLED, false);
log("Person " + myUsers[j].name + " darf wider die Tür aufzumachen");
break;
} else {
log("Person " + myUsers[j].name + " darf nicht die Tür aufzumachen, weil die Zeit " + obj.newState.value + " liegt in Vergangenheit");
break;
}
}
catch(e) {
log("Cannot convert time to expire" + exp);
break;
}
}
}
});
}
Code: Alles auswählen
ACCESS - 100100
ACCESS.Freuendin - 100101
ACCESS.Freuendin.COMMAND - 100102
ACCESS.Freuendin.ENABLED - 100103
ACCESS.Freuendin.IS_ONCE -100104
ACCESS.Freuendin.EXPIRED_ON -100105
ACCESS.Putzfrau - 100106
ACCESS.Putzfrau.COMMAND - 100107
ACCESS.Putzfrau.ENABLED - 100108
ACCESS.Putzfrau.IS_ONCE - 100109
ACCESS.Putzfrau.EXPIRED_ON - 100110
-ACCESS.xxx.ENABLED
- ACCESS.xxx.IS_ONCE
und
ACCESS.xxx.EXPIRED_ON mit jqui - Time and Date Picker steuert
Dann wird es gehen und man kann sehr bequem mit Dash UI die Rechte steuern.
Man muss natürlich auf dem Router den Port 8080 weiterleiten und irgendeine IP haben z.B mit http://www.noip.com/
Danach man kann mit dem Kommando
http://myhome.noip.me:8080/api/set/100102/?value=1 versuchen die Tür aufzumachen.
Dieses link als Bookmark auf dem Freündin-Handy speichern oder NFS Tag vor die Tür hängen und über Trigger/Tasker das Link aufrufen.
P.S. Natürlich macht man damit riesen Loch im System auf. Weil wenn man Link kennt, dann kann man alles Zuhause steuern.
Re: Freundin bedingt zutritt gewähren
Hallo Bluefox,
Deshalb von mir der Tipp über eine PHP Seite die kann nur das was du damit Programmierst ohne den node.js Server aus dem Internet direkt ohne SSL Verschlüsselung zugänglich zu machen...
Aber cooler Vorschlag!
@nicx dies ist ein Homematic Forum [emoji1]
Paul
Deshalb von mir der Tipp über eine PHP Seite die kann nur das was du damit Programmierst ohne den node.js Server aus dem Internet direkt ohne SSL Verschlüsselung zugänglich zu machen...
Aber cooler Vorschlag!
@nicx dies ist ein Homematic Forum [emoji1]
Paul
Apache Reverse Proxy fuer sicheren Zugriff auf die CCU von Unterwegs
Zeitgesteuertes LXCCU / CCU2 Backup damit es immer eine Aktuelle Sicherung gibt!
Diverse weitere Anleitungen für CCU / LXCCU / Raspberry PI
Zeitgesteuertes LXCCU / CCU2 Backup damit es immer eine Aktuelle Sicherung gibt!
Diverse weitere Anleitungen für CCU / LXCCU / Raspberry PI
-
- Beiträge: 71
- Registriert: 18.11.2013, 15:50
Re: Freundin bedingt zutritt gewähren
Leute Leute Leute - vielen dank für die tipps - bin grad am arbeiten wie ichs umsetze...vielleicht mach ichs doch noch anders auf eine tricky version:
ich hab die fritzbox inkl Adapter, eine schaltzustanderkennung an der Klingel und am treppenhauslicht.
wenn sie jetzt auf meiner festznetznummer (die nicht klingelt)anruft (mit ihrer Nummer), und gleichzeitig den treppenhauslichschalter betätigt, macht der summer und das türschloss auf. oder irgendwie sowas in der Richtung.
das wär dann noch einfacher. könnte ich eigentlich auch mit der nahegelegenen Telefonzelle so machen damit ich auch reinkomm wenn mein handy leer ist...was haltet ihr davon? ist zwar wenig CCU.IO aber evtl schön simpel (obwohl sie nicht blöd ist!!! )
ich hab die fritzbox inkl Adapter, eine schaltzustanderkennung an der Klingel und am treppenhauslicht.
wenn sie jetzt auf meiner festznetznummer (die nicht klingelt)anruft (mit ihrer Nummer), und gleichzeitig den treppenhauslichschalter betätigt, macht der summer und das türschloss auf. oder irgendwie sowas in der Richtung.
das wär dann noch einfacher. könnte ich eigentlich auch mit der nahegelegenen Telefonzelle so machen damit ich auch reinkomm wenn mein handy leer ist...was haltet ihr davon? ist zwar wenig CCU.IO aber evtl schön simpel (obwohl sie nicht blöd ist!!! )
Re: AW: Freundin bedingt zutritt gewähren
Hi,
Nur wie rufst du von der Telefonzelle aus an und drückst den Treppenhaus Lichtschalter zugleich? [emoji1]
Ist sonst eine gute Idee vor allem weil du deine Zentrale nicht aus dem Internet erreichbar machen must!
Paul
Nur wie rufst du von der Telefonzelle aus an und drückst den Treppenhaus Lichtschalter zugleich? [emoji1]
Ist sonst eine gute Idee vor allem weil du deine Zentrale nicht aus dem Internet erreichbar machen must!
Paul
Apache Reverse Proxy fuer sicheren Zugriff auf die CCU von Unterwegs
Zeitgesteuertes LXCCU / CCU2 Backup damit es immer eine Aktuelle Sicherung gibt!
Diverse weitere Anleitungen für CCU / LXCCU / Raspberry PI
Zeitgesteuertes LXCCU / CCU2 Backup damit es immer eine Aktuelle Sicherung gibt!
Diverse weitere Anleitungen für CCU / LXCCU / Raspberry PI
Re: Freundin bedingt zutritt gewähren
Hallo,
wenn du krank zu Hause bist kannst du ihr deine Keymatic Fernbedienung geben. Direktverknüpfung zur Keymatic löschen. Dann legst du eine Variable an "türdarfauf" = true.
Wenn sie vor der Tür steht und drückt, wird die Tür per Programm (nicht Verknüpfung) geprüft, ob türdarfauf=true und ggf. geöffnet, die zweite Tür meinetwegen nach 30s auch noch, dann wird die Variable nach einer Minute auf false gesetzt.
Sonst Wenn gedrückt und türdarfauf=false
Email an Dich
Gruß
Pix
wenn du krank zu Hause bist kannst du ihr deine Keymatic Fernbedienung geben. Direktverknüpfung zur Keymatic löschen. Dann legst du eine Variable an "türdarfauf" = true.
Wenn sie vor der Tür steht und drückt, wird die Tür per Programm (nicht Verknüpfung) geprüft, ob türdarfauf=true und ggf. geöffnet, die zweite Tür meinetwegen nach 30s auch noch, dann wird die Variable nach einer Minute auf false gesetzt.
Sonst Wenn gedrückt und türdarfauf=false
Email an Dich
Gruß
Pix
150 Kanäle in 75 Geräten und 103 CUxD-Kanäle in 25 CUxD-Geräten (HomeMatic, FS20), CCU1 FW1.519, AddOns: CUxD 1.0, dropbear, E-Mail 1.2, ftp_server und regaWatchdog.
Logik und Visualisierung mit ioBroker auf Mac OS X Node.js. Eingebundene Systeme: Sonos, Rademacher Homepilot, Roomba, Network-OWL. Danke für das Homematic-Inventur-Skript von EnergyStar
Logik und Visualisierung mit ioBroker auf Mac OS X Node.js. Eingebundene Systeme: Sonos, Rademacher Homepilot, Roomba, Network-OWL. Danke für das Homematic-Inventur-Skript von EnergyStar
Re: Freundin bedingt zutritt gewähren
Warum kommen mir solche einfache Ideen nicht?pix hat geschrieben:Hallo,
wenn du krank zu Hause bist kannst du ihr deine Keymatic Fernbedienung geben. Direktverknüpfung zur Keymatic löschen. Dann legst du eine Variable an "türdarfauf" = true.
Wenn sie vor der Tür steht und drückt, wird die Tür per Programm (nicht Verknüpfung) geprüft, ob türdarfauf=true und ggf. geöffnet, die zweite Tür meinetwegen nach 30s auch noch, dann wird die Variable nach einer Minute auf false gesetzt.
Sonst Wenn gedrückt und türdarfauf=false
Email an Dich
Gruß
Pix