Wie "geheime Kombination" mit Keymatic Türöffner senden?

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Antworten
ong
Beiträge: 146
Registriert: 25.07.2010, 15:20
Danksagung erhalten: 1 Mal

Wie "geheime Kombination" mit Keymatic Türöffner senden?

Beitrag von ong » 08.09.2011, 19:31

Hallo,

habe einen HM-RC-Key3 gekauft.
Ich möchte nun (wahrscheinlich mittels Variablen) die Möglichkeit "bauen", diesen zum senden einer bestimmten Tastenkombination zu verwenden - die, wenn richtig gedrückt den Homematic Türöffner dazu bewegt die Tür zu öffnen.
Ich würde nämlich gern den HM-RC-Key3 jemandem geben für den Fall, dass ich mal den Schlüssel / den eigenen HM-RC-Key3 vergessen habe. Diese Person soll aber eigentlich nicht in der Lage sein die Tür zu öffnen.

Irgenwelche Ideen?

Olaf
* ca. 70 Geräte (alle Wireless, Stand 2019/2013) *
* Datenbankentwicklung *
* Individuell, Qualitativ, Regional *
* https://datenbank-projekt.de *

Benutzeravatar
Herbert_Testmann
Beiträge: 11062
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 7 Mal

Re: Wie "geheime Kombination" mit Keymatic Türöffner senden?

Beitrag von Herbert_Testmann » 08.09.2011, 20:41

Hallo

wäre das nicht mit einem HM-RC4 einfacher gewesen?

Dachtest Du an WebUI, Homeputer oder Script?

ong
Beiträge: 146
Registriert: 25.07.2010, 15:20
Danksagung erhalten: 1 Mal

Re: Wie "geheime Kombination" mit Keymatic Türöffner senden?

Beitrag von ong » 09.09.2011, 20:16

Hallo,

habe ich nicht drüber nachgedacht, da ich schon von dem HM-RC-Key3 zwei Stück hatte. Der jetzige dritte kann dann immernoch als Ersatz dienen.
Ich konnte es übrigens ganz leicht realisieren!

Definition von neuen Systemvariablen:
GeheimCode (Typ: Text)
GeheimCode_Eingabe (Typ: Text)
KeyTasteLinks (Typ: Text) - beliebig vorbelegt
KeyTasteRechts (Typ: Text) - beliebig vorbelegt

In der Variable GeheimCode wird nun eine Kombination der Werte aus KeyTasteLinks und KeyTasteRechts eingetragen.
Bsp: KeyTasteRechts mit "a" vorbelegt, KeyTasteLinks mit "b" vorbelegt könnte GeheimCode lauten "abababab"


4 neue Programme:
1. Ein Programm namens "Haustür_aufschließen" das meine Haustür aufschließt
2. GeheimCodePruefen (Wird ausgeführt, wenn der große (untere) Knopf des HM-RC-Key3 kurz gedrückt wird)
Folgendes Script wird ausgeführt:

Code: Alles auswählen

var CodeGesucht = dom.GetObject("GeheimCode").State();
var CodeEingegeben = dom.GetObject("GeheimCode_Eingabe").State();
if (CodeEingegeben <> CodeGesucht)
{

!eingegebenen Code löschen/reseten
dom.GetObject("GeheimCode_Eingabe").State("");

}
else
{

!eingegebenen Code löschen/reseten
dom.GetObject("GeheimCode_Eingabe").State("");

var programObj = dom.GetObject("Haustür_aufschließen");
programObj.ProgramExecute();
}
3. GeheimCodeAendernLinks (wird ausgeführt wenn die linke Taste des HM-RC-Key3 kurz gedrückt wird)
Folgendes Script wird ausgeführt:

Code: Alles auswählen

var VorhandenGeheimCode = dom.GetObject("GeheimCode_Eingabe").State(); 
var tasteLinks = dom.GetObject("KeyTasteLinks").State(); 
var tasteRechts = dom.GetObject("KeyTasteRechts").State(); 

VorhandenGeheimCode = VorhandenGeheimCode # tasteLinks;

dom.GetObject("GeheimCode_Eingabe").State(VorhandenGeheimCode);
4. GeheimCodeAendernRechts (wird ausgeführt wenn die rechts Taste des HM-RC-Key3 kurz gedrückt wird (in Wenn bedingung eingestellt))
Folgendes Script wird ausgeführt:

Code: Alles auswählen

var VorhandenGeheimCode = dom.GetObject("GeheimCode_Eingabe").State(); 
var tasteLinks = dom.GetObject("KeyTasteLinks").State(); 
var tasteRechts = dom.GetObject("KeyTasteRechts").State(); 

VorhandenGeheimCode = VorhandenGeheimCode # tasteRechts;

dom.GetObject("GeheimCode_Eingabe").State(VorhandenGeheimCode);
Olaf
* ca. 70 Geräte (alle Wireless, Stand 2019/2013) *
* Datenbankentwicklung *
* Individuell, Qualitativ, Regional *
* https://datenbank-projekt.de *

DrTob
Beiträge: 3426
Registriert: 29.10.2010, 08:24
Danksagung erhalten: 5 Mal

Re: Wie "geheime Kombination" mit Keymatic Türöffner senden?

Beitrag von DrTob » 10.09.2011, 11:21

Sehr schön!

Ich würde mir die zwei Variablen "KeyTasteLinks" und "KeyTasteRechts" sparen und fest z.B. "L" und "R" verwenden.

Das wäre doch mal ein Post im Tipps&Tricks wert...

ong
Beiträge: 146
Registriert: 25.07.2010, 15:20
Danksagung erhalten: 1 Mal

Re: Wie "geheime Kombination" mit Keymatic Türöffner senden?

Beitrag von ong » 10.09.2011, 15:45

Hallo,

habe die beiden Variablen extra aufgenommen, so dass man es leicht anpassen kann.
Derzeit wird beim drücken der "großen" Taste der eingegebene Code gelöscht.
Hier ließen sich aber leicht Änderungen vornehmen, dass eine Löschung z.B. nur beim langen drücken geschieht. Dann könnte man "wildere" Kombinationen eingeben lassen. Durch die Variablen könnte man den Code einfach Variieren - eben ohne das Programm anpassen zu müssen.

Von mir aus kann das Posting zu Tips und Tricks verschoben werden - oder soll ich den Inhalt dort nochmal posten?

Olaf
* ca. 70 Geräte (alle Wireless, Stand 2019/2013) *
* Datenbankentwicklung *
* Individuell, Qualitativ, Regional *
* https://datenbank-projekt.de *

DrTob
Beiträge: 3426
Registriert: 29.10.2010, 08:24
Danksagung erhalten: 5 Mal

Re: Wie "geheime Kombination" mit Keymatic Türöffner senden?

Beitrag von DrTob » 11.09.2011, 16:15

ong hat geschrieben:Hallo,

habe die beiden Variablen extra aufgenommen, so dass man es leicht anpassen kann.
Grundsätzlich ein gutes Vorgehen, nur in welcher Situation solltest du die ändern wollen/müssen? Der Code selbst, keine Frage. Der gehört in eine Variable. Aber in meinen Augen spricht nichts dagegen die Platzhalter für links/rechts fest vorzugeben. Auch wenn du dir noch irgendwelche "Gemeinheiten" wie lange/kurze Tastendrücke ausdenken würdest hättest du durch diese Variablen keine Vorteile. Du müsstest nur noch viel mehr anlegen.
Das Einzige was dafür spricht, ist dass das Zeichen so nur an einer Stelle definiert werden müssen. Im Prinzip gehört sowas aber in eine Konstante.

Dabei stellt sich mir gerade die Frage: Was passiert bei einem Neustart der CCU? Bleibt der Inhalt der Variablen unverändert? Werden die nicht zurückgesetzt?

ong
Beiträge: 146
Registriert: 25.07.2010, 15:20
Danksagung erhalten: 1 Mal

Re: Wie "geheime Kombination" mit Keymatic Türöffner senden?

Beitrag von ong » 11.09.2011, 16:24

Hallo,

Neustart - keine Ahnung. Müsste man mal ausprobieren - oder kann jemand hier aus dem Forum etwas dazu sagen?

Ich sehe einen Vorteil in den Variablen darin, dass ich sie auch in anderen Programmen nutzen könnte.

Olaf
* ca. 70 Geräte (alle Wireless, Stand 2019/2013) *
* Datenbankentwicklung *
* Individuell, Qualitativ, Regional *
* https://datenbank-projekt.de *

Piranha
Beiträge: 78
Registriert: 25.12.2011, 18:49

Re: Wie "geheime Kombination" mit Keymatic Türöffner senden?

Beitrag von Piranha » 12.01.2012, 23:31

Hi,

mal ne kurze Frage, wenn du ein Programm mit dem Namen "Haustür_aufschliessen" angelegt hast, was ist dafür deine WENN-Bedingung. Wenn ich es richtig verstehe, würde das Programm bei leerer WENN-Bedingung und bei CCU-Neustart doch automatisch ausgeführt, oder? Bedeutet bei CCU-Neustart würde deine Tür entriegelt werden. Ist das richtig oder verstehe ich das falsch?

DrTob
Beiträge: 3426
Registriert: 29.10.2010, 08:24
Danksagung erhalten: 5 Mal

Wie "geheime Kombination" mit Keymatic Türöffner senden?

Beitrag von DrTob » 13.01.2012, 00:38

Piranha hat geschrieben:Hi,

mal ne kurze Frage, wenn du ein Programm mit dem Namen "Haustür_aufschliessen" angelegt hast, was ist dafür deine WENN-Bedingung. Wenn ich es richtig verstehe, würde das Programm bei leerer WENN-Bedingung und bei CCU-Neustart doch automatisch ausgeführt, oder? Bedeutet bei CCU-Neustart würde deine Tür entriegelt werden. Ist das richtig oder verstehe ich das falsch?
dass siehst du richtig. Hier ist tatsächlich noch ein Fehler. In das Programm Haustür aufschließen muss in die Wenn-Bedingung noch eine Test ob Ausführung durch Neustart erfolgt.
zB. Test auf "ccu_ready" mit entsprechendem addon.

ong
Beiträge: 146
Registriert: 25.07.2010, 15:20
Danksagung erhalten: 1 Mal

Re: Wie "geheime Kombination" mit Keymatic Türöffner senden?

Beitrag von ong » 13.01.2012, 15:45

Hallo,

richtig - war mir nach einem CPU Neustart auch mal aufgefallen, hatte es aber ignoriert - welcher Böse Bube kappt den Strom um reinzukommen - Scheibe einschlagen ist da sicherlich leichter (Stromausfall ist in bei uns glücklicherweise auch selten)...aber:
Habe aber jetzt noch die eine Wenn Bedingung hinzugefügt: Ich habe eine Zufallszahl die täglich neu ermittelt wird (0...650000). Die Bedingung ist "wenn zufallszahl >65000" - das kann nie sein (da max =65000).

Getestet habe ich es indem ich das Programm über ein Script (also aus einem anderen Programm heraus aufrufe - das klappt noch):

Code: Alles auswählen

var programObj = dom.GetObject("Haustür_aufschließen");
programObj.ProgramExecute();
Danke für den Hinweis.
Olaf
* ca. 70 Geräte (alle Wireless, Stand 2019/2013) *
* Datenbankentwicklung *
* Individuell, Qualitativ, Regional *
* https://datenbank-projekt.de *

Antworten

Zurück zu „HomeMatic allgemein“