Freundin bedingt zutritt gewähren

WebUIs (DashUI, yahui, ...), Adapter (Hue, IRTrans, Sonos, ...), Logging, Scripting

Moderator: Co-Administratoren

mimquadrat
Beiträge: 71
Registriert: 18.11.2013, 15:50

Re: Freundin bedingt zutritt gewähren

Beitrag von mimquadrat » 25.06.2014, 16:10

auch wieder gute idee mit dem keymatic Schlüssel.
Ziel soll aber sein, dass Sie außer Ihr handy keine weitere hardware braucht.

bin jetzt grad dran folgende Idee zu realisieren:

wenn eine bestimmte tel. Nummer in der fritzbox angewählt wird und gleichzeitig das treppenhauslicht betätigt wird soll das aufsperren losgehen. ACHJA: wie bilde ich dieses GLEICHZEITIG Funktion im ScrpitGUI ab?
dass der trigger erst dann auslöst wenn 2 Sachen gleichzeitig erfüllt sind?

BxA
Beiträge: 167
Registriert: 15.03.2012, 17:34

Re: Freundin bedingt zutritt gewähren

Beitrag von BxA » 25.06.2014, 18:23

Hat sie deinen WLAN Key und empfängt man WLAN schon unten von der Haustür?
Wenn ja würde folgendes gehen:

Einfach ein Programm in der CCU anlegen welches die jeweils gewünschte Tür öffnet. Programme lassen sich per xmlapi direkt URL aufruf starten. Ihr diese URL per email schicken. Sobald sie in deinem WLAN ist kann sie die türen öffnen -> fertig. So hab ichs bei mir...

Deinen Wünschen nach nur 1x kann man jetzt beliebig komplex nachkommen:
1) Einfach: Du löschst das Programm anschließend einfach wieder
2) Mittel: du legst noch eine Prüfvariable an (z.B. "FreundinLinkAktiv"), boolean. Diese wird im Programm geprüft. Die variable kannst du nun ganz bequem manuell auf true oder false setzen und so Zugriff geben oder nicht
3) Mittel+: wie 2, aber das Programm setzt bei ausführung automatisch die FreundingLinkAktiv Variable auf false -> klappt nicht mehr bis du manuell aktivierst

Alles ziemlich einfach - Voraussetzung WLAN...
Homematic System im Aufbau...
317 Kanäle in 45 Geräten:
2x HM-Sec-SC, 7x HM-CC-VD, 7x HM-CC-TC, 1x HM-EM-CCM, 14x HMW-IO-12-Sw7-DR, 1x HM-RC-Key3-B, 1x HM-Sec-Key, 8x HMW-LC-Bl1-DR, 1x HM-Sec-TiS, 1x HM-WDS100-C6-O, 1x HM-LC-Sw4-WM, 1x HM-CCU-1

Rantanplan
Beiträge: 451
Registriert: 16.11.2013, 13:43
Wohnort: NRW

Re: Freundin bedingt zutritt gewähren

Beitrag von Rantanplan » 25.06.2014, 19:00

Hallo
mimquadrat hat geschrieben: ACHJA: wie bilde ich dieses GLEICHZEITIG Funktion im ScrpitGUI ab?
dass der trigger erst dann auslöst wenn 2 Sachen gleichzeitig erfüllt sind?
So aus dem Bauch heraus.
Mit dem Logic-Modul "und".

Wenn die Zustände nicht wirklich gleichzeitig anstehen.

Zwei lokale Variablen anlegen (Allgemein/Script Objekt)
Die Zustände jeweils in eine der Variablen.

Und dann die Variablen an das "Und-Modul". Wenn beide Werte "true" sind, geht's weiter.
Danach, eventuell nach einer gewissen Zeit, alles wieder auf "false" setzen.

Grüße
Rantanplan
CCU2 (2.29.18) * ioBroker * Vis

mimquadrat
Beiträge: 71
Registriert: 18.11.2013, 15:50

Re: Freundin bedingt zutritt gewähren

Beitrag von mimquadrat » 26.06.2014, 11:20

BxA hat geschrieben:Hat sie deinen WLAN Key und empfängt man WLAN schon unten von der Haustür?
Wenn ja würde folgendes gehen:

Einfach ein Programm in der CCU anlegen welches die jeweils gewünschte Tür öffnet. Programme lassen sich per xmlapi direkt URL aufruf starten. Ihr diese URL per email schicken. Sobald sie in deinem WLAN ist kann sie die türen öffnen -> fertig. So hab ichs bei mir...

Deinen Wünschen nach nur 1x kann man jetzt beliebig komplex nachkommen:
1) Einfach: Du löschst das Programm anschließend einfach wieder
2) Mittel: du legst noch eine Prüfvariable an (z.B. "FreundinLinkAktiv"), boolean. Diese wird im Programm geprüft. Die variable kannst du nun ganz bequem manuell auf true oder false setzen und so Zugriff geben oder nicht
3) Mittel+: wie 2, aber das Programm setzt bei ausführung automatisch die FreundingLinkAktiv Variable auf false -> klappt nicht mehr bis du manuell aktivierst

Alles ziemlich einfach - Voraussetzung WLAN...
AND THE WINNER IS:BxA!!!!
Die Lösung find ich TOP!
Kannst du mir noch zeigen wie ich den Link über XMLAPI mache?

BxA
Beiträge: 167
Registriert: 15.03.2012, 17:34

Re: Freundin bedingt zutritt gewähren

Beitrag von BxA » 26.06.2014, 12:19

Hat zwar nix mit CCU.IO zu tun, aber einfach ist es..:

1) Ein Programm ganz normal im WebUi erstellen -> Einfach zusammenklicken bzw. scripten und abspeichern (gehe davon aus das stellt kein Problem für dich da, sonst frag nochmal nach. Ist ja auch unterschiedlich komplex je nachdem was du nun realisieren willst). Ergebnis dieses Schrittes muss sein, dass du ein Programm hast welches du im normalen CCU-UI aufrufen kannst, dass die Aktion ausführt die deine Freundin später machen soll
2) Ziel des zweiten Schrittes: Ihr Zugriff auf dieses Programm geben (ohne sie in CCU u.ä. einzuführen. Dafür
2a) XMLAPI installieren: http://www.homematic-inside.de/software ... tem/xmlapi ; danach CCU neustart
2b) link raussuchen. Dafür auf http://[CCU_IP]/config/xmlapi/ surfen, auf "programlist.cgi" klicken und aus der Liste dort die ID des eben neu angelegten Programms raussuchen (ohne eckige klammern)
2c) Link zum Ausführen (=öffnen) erstellen: dieser lautet http://[CCU_IP]/config/xmlapi/runprogram.cgi?program_id=[DEINE_PROGRAMM_ID] (ohne eckige klammern)

Kurz testen -> dann freundin per sms schicken -> fertig

Gruß,
BxA
Homematic System im Aufbau...
317 Kanäle in 45 Geräten:
2x HM-Sec-SC, 7x HM-CC-VD, 7x HM-CC-TC, 1x HM-EM-CCM, 14x HMW-IO-12-Sw7-DR, 1x HM-RC-Key3-B, 1x HM-Sec-Key, 8x HMW-LC-Bl1-DR, 1x HM-Sec-TiS, 1x HM-WDS100-C6-O, 1x HM-LC-Sw4-WM, 1x HM-CCU-1

pix
Beiträge: 608
Registriert: 23.01.2012, 15:40
Danksagung erhalten: 1 Mal

Re: Freundin bedingt zutritt gewähren

Beitrag von pix » 26.06.2014, 14:40

Hallo,
BxA hat geschrieben:Hat zwar nix mit CCU.IO zu tun, aber einfach ist es..:

1) Ein Programm ganz normal im WebUi erstellen -> Einfach zusammenklicken bzw. scripten und abspeichern (gehe davon aus das stellt kein Problem für dich da, sonst frag nochmal nach. Ist ja auch unterschiedlich komplex je nachdem was du nun realisieren willst). Ergebnis dieses Schrittes muss sein, dass du ein Programm hast welches du im normalen CCU-UI aufrufen kannst, dass die Aktion ausführt die deine Freundin später machen soll
2) Ziel des zweiten Schrittes: Ihr Zugriff auf dieses Programm geben (ohne sie in CCU u.ä. einzuführen. Dafür
2a) XMLAPI installieren: http://www.homematic-inside.de/software ... tem/xmlapi ; danach CCU neustart
2b) link raussuchen. Dafür auf http://[CCU_IP]/config/xmlapi/ surfen, auf "programlist.cgi" klicken und aus der Liste dort die ID des eben neu angelegten Programms raussuchen (ohne eckige klammern)
2c) Link zum Ausführen (=öffnen) erstellen: dieser lautet http://[CCU_IP]/config/xmlapi/runprogram.cgi?program_id=[DEINE_PROGRAMM_ID] (ohne eckige klammern)

Kurz testen -> dann freundin per sms schicken -> fertig

Gruß,
BxA
um es doch mit CCU.IO zu machen und vor allem auf die Installation von XML-API zu verzichten kannst du per Link eine CCU.IO Variable setzen.
Auf ccu.io ist die Simple API dokumentiert. Setzen einer Variable per URL:

Code: Alles auswählen

http://ccu-io-host:ccu.io-port/api/set/FreundinTueroeffner/?value=1
Also: ccu.io Skript freundin_tuer_auf.js erstellen
ccu.io Variablen erstellen:

Code: Alles auswählen

setObject(100048, {
    Name: 'Freundin darf Tür öffnen', // kein (r) damit du in yahui umschalten kannst
    DPInfo: 'Beschreibung',
    TypeName: 'VARDP',
    ValueUnit: '',
    ValueMin: null,
    ValueMax: null,
    ValueType: 2,
    ValueSubType: 2,
    ValueList: 'darf nicht;darf'
});

setObject(100049, {
    Name: 'FreundinTueroeffner',
    DPInfo: 'diese Variable wird per Handy-Link von Freundin gesetzt (r)',
    TypeName: 'VARDP',
    ValueUnit: '',
    ValueMin: null,
    ValueMax: null,
    ValueType: 2,
    ValueSubType: 2,
    ValueList: 'Tür zu;Tür auf'
});
Dann ccu.io Programm erstellen, das die Variable "FreundinTueroeffner" überwacht und natürlich erstmal generell nicht erlaubt.

Code: Alles auswählen

var idTuerAuf = 100049,   // ValueList: 'Tür zu;Tür auf'
     idTuerFreigabe = 100048;  // ValueList: 'darf nicht;darf'

// keymatic Variablen oder was auch immer einbauen

setState(idTuerFreigabe, 0); // Tür darf grundsätzlich erstmal nicht geöffnet werden, wenn Script gestartet wird.

subscribe( {
    id: idTuerAuf,
    change: 'ne'
}, function(data) {
    if (data.newState.value == 1 ) { // Tür auf gedrückt
        var TuerFreigabe = getState(idTuerFreigabe);
        if (TuerFreigabe == 1 ) // Tür freigegeben
            // Befehl für TÜR AUF z.B. via Keymatic oder anderen Aktor
            log('Tür wurde per Link geöffnet');
        } else { 
            log('Link zum Öffnen der Tür wurde unberechtigt gesendet');
        }        
        setTimeout(function () {
            setState(idTuerAuf, 0); // TuerAuf-Befehl wieder aufgehoben
        }, 2000); // nach 2s
        setTimeout(function () {
            setState(idTuerFreigabe, 0); // Freigabe erloschen
            log('Freigabe Tür Auf wieder erloschen');
        }, 30000); // erst nach 30s erlischt die Freigabe wieder. Freundin kann also nochmal öffnen, wenn ihr die Tür wieder zufällt...
    }
});
Jetzt musst du nur noch bei Bedarf die Variable idTuerFreigabe = 100048 auf 1 setzen (im ccu.io Dashboard) oder per Yahui
Die id Nummern sind natürlich nicht bindend (100048, 100049).
So würd ichs nur mit CCU.IO machen.

Gruß
Pix

EDIT: Im Programm war ein kleiner Fehler (setTimeout ausserhalb der if-Abfrage)). Hab das geändert.
EDIT2: Achja, und die Variable idTuerAuf muss ja nach dem drücken auch wieder zurückgesetzt werden. Habs auch eingefügt
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

Bluefox
Beiträge: 779
Registriert: 20.02.2011, 19:55

Re: Freundin bedingt zutritt gewähren

Beitrag von Bluefox » 26.06.2014, 15:05

Man braucht definitiv kein XMLAPI. Alles was XMLAPI kann kann auch SimpleAPI.

pix
Beiträge: 608
Registriert: 23.01.2012, 15:40
Danksagung erhalten: 1 Mal

Re: Freundin bedingt zutritt gewähren

Beitrag von pix » 26.06.2014, 15:08

pix hat geschrieben:mit CCU.IO zu machen und vor allem auf die Installation von XML-API zu verzichten
Bluefox hat geschrieben:Man braucht definitiv kein XMLAPI. Alles was XMLAPI kann kann auch SimpleAPI.
Genau!
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

Benutzeravatar
Dragonfly
Beiträge: 1249
Registriert: 04.01.2010, 11:40
Wohnort: Tyrol
Hat sich bedankt: 1 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: Freundin bedingt zutritt gewähren

Beitrag von Dragonfly » 26.06.2014, 16:54

Ui...
...bis er das programmiert hat, ist er wieder Gesund und kann die Türe selber aufmachen :mrgreen:

Wie wär´s mit gar keinem Zusatzprogramm?!

Wlan vorausgesetzt:

SysVar: Freundin_Tuer - ja / nein
SysVar: Tuer_oeffnen - ja / nein

wenn Freundin_Tuer "ja" nur prüfen
und Tuer_oeffnen "ja" auf änderung
dann Tuer "auf"
und Tuer_oeffnen "nein"
und Freundin_Tuer "nein"
sonst Mail "sorry, heute nicht"

Dann klick sie auf
http://<CCU-IP>:8181/CCU.exe?state=dom.GetObject('Tuer_oeffnen').State(0)
und die Tür geht auf, wenn die Variable "Freundin_Tuer" vorher mit "ja" aktiviert wurde.

LG Tom

mimquadrat
Beiträge: 71
Registriert: 18.11.2013, 15:50

Re: Freundin bedingt zutritt gewähren

Beitrag von mimquadrat » 27.06.2014, 08:24

LEUTE: DANKE an alle die sich beteiligt haben! Bin wieder fit - der bedingte Zutritt ist aber weiterhin interessant :)
Hab das über die XMLAPI gelöst - simpel und genial!

Ob wir noch alle ganz dicht sind soll ich von meiner Freundin fragen?!? Aber auch gleichzeitig, ob das normal bei meinen "smart home forum Kumpels" ist dass die einem so toll helfen....

DANKE!

Antworten

Zurück zu „CCU.IO“