Bluetooth smartlock per HM steuern
Moderator: Co-Administratoren
-
- Beiträge: 10768
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 675 Mal
Re: Bluetooth smartlock per HM steuern
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
Re: Bluetooth smartlock per HM steuern
Hallo Alchy,
hier meine Scriptantwort:
"CCU ist mit der Welt verbunden"
Also, alles in Ordnung?!
Und nu?
hier meine Scriptantwort:
"CCU ist mit der Welt verbunden"
Also, alles in Ordnung?!
Und nu?
Re: Bluetooth smartlock per HM steuern
Hallo Alchy,
danke vorab für das bereitstellen deines Skripts.
Ich habe soweit alles bei mir angelegt (Variablen und das Programm), leider habe ich das noch nicht so richtig verstanden ob ich im CuxD was anlegen muss oder nicht.
Momentan habe ich keine CuxD Gerät vom Typ Exec im Betrieb.
Muss ich diese erst anlegen (wäre dazu etwas zu beachten z.B. Seriennummer, Name, Geräte-Icon usw. ....) und müsste dann in dem Skript noch was angepasst werden (z.B an der Stelle "dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State("wget -q -O - '"#url#"'");" oder "dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);")?
Hoffe ich habe mich verständlich ausgedrückt.
Vielen Dank im Voraus.
Mit freundlichen Grüßen
Frankolot
danke vorab für das bereitstellen deines Skripts.
Ich habe soweit alles bei mir angelegt (Variablen und das Programm), leider habe ich das noch nicht so richtig verstanden ob ich im CuxD was anlegen muss oder nicht.
Momentan habe ich keine CuxD Gerät vom Typ Exec im Betrieb.
Muss ich diese erst anlegen (wäre dazu etwas zu beachten z.B. Seriennummer, Name, Geräte-Icon usw. ....) und müsste dann in dem Skript noch was angepasst werden (z.B an der Stelle "dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State("wget -q -O - '"#url#"'");" oder "dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);")?
Hoffe ich habe mich verständlich ausgedrückt.
Vielen Dank im Voraus.
Mit freundlichen Grüßen
Frankolot
-
- Beiträge: 10768
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 675 Mal
Re: Bluetooth smartlock per HM steuern
CUxD muss installiert werden und danach das entsprechende exec Gerät. (Siehe meiner Signatur.)
Je weniger eigene Anpassungen (Seriennummer usw.) du bei der Installation einbringst, um so weniger musst du später beachten.
Mit anderen Worten einfach durchklickern.
Alchy
Je weniger eigene Anpassungen (Seriennummer usw.) du bei der Installation einbringst, um so weniger musst du später beachten.
Mit anderen Worten einfach durchklickern.
![Wink :wink:](./images/smilies/icon_wink.gif)
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
Re: Bluetooth smartlock per HM steuern
Hallo Alchy,
danke für die schnelle Rückmeldung.
Habe soweit alles angelegt, leider bekomme ich nur "ABFRAGE NICHT ERFOLGREICH" als Rückmeldung.
Die Variablen habe ich gleich wie im Skript benannt und angelegt.
Die CUxD Exec hat bei mir die gleiche Seriennummer CUX2801001, hat der Name des CUxD eine Relevanz?
Das von mir verwendete Programm sieht aktuell wie folgt aus:
Danke im Voraus.
Mit freundlichen Grüßen
Frankolot
danke für die schnelle Rückmeldung.
Habe soweit alles angelegt, leider bekomme ich nur "ABFRAGE NICHT ERFOLGREICH" als Rückmeldung.
Die Variablen habe ich gleich wie im Skript benannt und angelegt.
Die CUxD Exec hat bei mir die gleiche Seriennummer CUX2801001, hat der Name des CUxD eine Relevanz?
Das von mir verwendete Programm sieht aktuell wie folgt aus:
Code: Alles auswählen
! Nuki Hardware Bridge Status auslesen by Alchy v 0.4a
! und bei verschlossen eine Pushovernachricht absenden
var OUTPUTSTAT = "Nuki_Status"; ! Name der Variablen, wo der Status gespeichert wird (Nuki_Status)
var OUTPUTBAT = "Nuki_Batterie"; ! Name der Variablen, wo der Batteriestatus gespeichert wird (Nuki_Batterie)
var url = "http://8.6.13.xxx:8080/lockState?nukiID=xxxxxxxx&token=xxxxx";
! +++++++++++++ AB HIER FINGER WEG +++++++++++++++++
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string srueck = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
srueck = srueck.Substr(1, srueck.Length()-2);
var tmp1 = srueck.StrValueByIndex(",",3).StrValueByIndex(":",1); ! battery
integer tmp2 = (srueck.StrValueByIndex(",",1).StrValueByIndex(":",1)).ToInteger(); ! state
var tmp3 = srueck.StrValueByIndex(",",4).StrValueByIndex(":",1); ! success
if (tmp3.Find("true")>-1) {
if (tmp1.Find("true")>-1) { (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(OUTPUTBAT).State("BATTERIEZUSTAND KRITISCH"); } else { (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(OUTPUTBAT).State("BATTERIEZUSTAND OK"); }
string state = "unbekannt";
if (tmp2 == 0) { state = "nicht kalibriert"; }
if (tmp2 == 1) { state = "verschlossen"; }
if (tmp2 == 2) { state = "geoeffnet"; }
if (tmp2 == 3) { state = "sperren und gehen"; }
if (tmp2 == 4) { state = "ausgeklinkt"; }
if (tmp2 == 5) { state = "verriegeln"; }
if (tmp2 == 6) { state = "entriegeln"; }
if (tmp2 == 7) { state = "entriegelt"; }
if (tmp2 == 254) { state = "Motor blockiert"; }
if (tmp2 == 255) { state = "undefiniert"; }
(dom.GetObject(ID_SYSTEM_VARIABLES)).Get(OUTPUTSTAT).State(state);
if (tmp2 == 1) { string nachricht = "Nuki abgesperrt"; dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_EXEC").State("extra/curl -s -k -d token=++++++EIGENERTOKEN+++++ -d user=+++++EIGENERUSERKEY++++++ -d message='"#nachricht#"', -d priority=1 http://api.pushover.net/1/messages.json"); }
} else {
(dom.GetObject(ID_SYSTEM_VARIABLES)).Get(OUTPUTSTAT).State("ABFRAGE NICHT ERFOLGREICH");
(dom.GetObject(ID_SYSTEM_VARIABLES)).Get(OUTPUTBAT).State("ABFRAGE NICHT ERFOLGREICH");
}
Mit freundlichen Grüßen
Frankolot
-
- Beiträge: 10768
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 675 Mal
Re: Bluetooth smartlock per HM steuern
Es gilt hier, wie immer:
Was sagt das >> Fehlerprotokoll <<
wenn man Hilfe erwartet.
Das Script ist ja uralt und häßlich, einfach mal ein:
an das Script anhängen und die Rückgabe posten.
Alchy
Was sagt das >> Fehlerprotokoll <<
wenn man Hilfe erwartet.
Das Script ist ja uralt und häßlich, einfach mal ein:
Code: Alles auswählen
WriteLine(srueck);
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
Re: Bluetooth smartlock per HM steuern
Hi,
ich hatte das Script eine ganze zeit am Laufen bis es plötzlich nicht mehr wollte.
Der Aufruf aus dem IE funktioniert, das Scipt liefert mit WriteLine das zurück:
Kann es sein das sich die Positionen der Werte geändert haben ?
Grüße
ich hatte das Script eine ganze zeit am Laufen bis es plötzlich nicht mehr wollte.
Der Aufruf aus dem IE funktioniert, das Scipt liefert mit WriteLine das zurück:
Code: Alles auswählen
"mode": 2, "state": 3, "stateName": "unlocked", "batteryCritical": false, "doorsensorState": 2, "doorsensorStateName": "door closed", "success": true
Grüße
Re: Bluetooth smartlock per HM steuern
Hi,Mikeldk hat geschrieben: ↑09.09.2020, 19:26
Der Aufruf aus dem IE funktioniert, das Scipt liefert mit WriteLine das zurück:
Kann es sein das sich die Positionen der Werte geändert haben ?Code: Alles auswählen
"mode": 2, "state": 3, "stateName": "unlocked", "batteryCritical": false, "doorsensorState": 2, "doorsensorStateName": "door closed", "success": true
ja, mir ist auch aufgefallen, dass ich bei der Abfrage nur die Fehlermeldung erhalte. Dank Deines Eintrags ist offensichtlich, dass zwei weitere Status dazu gekommen sind und sich der Wert für "success" nicht mehr auf der 4 (vormals3) befindet, sonder nun um zwei Stellen weiter hinten auf der 6. Also brauchst Du nur im Script die entsprechende Zeile ändern:
var tmp3 = srueck.StrValueByIndex(",",4).StrValueByIndex(":",1); ! success
in
var tmp3 = srueck.StrValueByIndex(",",6).StrValueByIndex(":",1); ! success
Gruß,
Andreas
Re: Bluetooth smartlock per HM steuern
Mit Tadaa (smartlock) würde ich noch warten.
Es soll noch eine Version mit Zwave und eine andere mit interner Api kommen.
Die Erfahrungen haben gezeigt, dass es doch lieber ohne Cloud laufen soll.
Osram hat die Cloud eingestellt.
Nello ging in die Insolvenz
Wink hat daraus ein Abo gemacht.
Im 2. und 3. Fall ist das System nur noch Elektroschrott. Im 1. Fall lassen sich die Lampen anders steuern.
Es soll noch eine Version mit Zwave und eine andere mit interner Api kommen.
Die Erfahrungen haben gezeigt, dass es doch lieber ohne Cloud laufen soll.
Osram hat die Cloud eingestellt.
Nello ging in die Insolvenz
Wink hat daraus ein Abo gemacht.
Im 2. und 3. Fall ist das System nur noch Elektroschrott. Im 1. Fall lassen sich die Lampen anders steuern.
Re: Bluetooth smartlock per HM steuern
Hi,Andysnet hat geschrieben: ↑04.10.2020, 16:10Hi,Mikeldk hat geschrieben: ↑09.09.2020, 19:26
Der Aufruf aus dem IE funktioniert, das Scipt liefert mit WriteLine das zurück:
Kann es sein das sich die Positionen der Werte geändert haben ?Code: Alles auswählen
"mode": 2, "state": 3, "stateName": "unlocked", "batteryCritical": false, "doorsensorState": 2, "doorsensorStateName": "door closed", "success": true
ja, mir ist auch aufgefallen, dass ich bei der Abfrage nur die Fehlermeldung erhalte. Dank Deines Eintrags ist offensichtlich, dass zwei weitere Status dazu gekommen sind und sich der Wert für "success" nicht mehr auf der 4 (vormals3) befindet, sonder nun um zwei Stellen weiter hinten auf der 6. Also brauchst Du nur im Script die entsprechende Zeile ändern:
var tmp3 = srueck.StrValueByIndex(",",4).StrValueByIndex(":",1); ! success
in
var tmp3 = srueck.StrValueByIndex(",",6).StrValueByIndex(":",1); ! success
Gruß,
Andreas
Danke für die Antwort ich nutzte mittlerweile den callback des Nuki funktioniert super und der doorstate lässt sich auch abfragen.
Grüße
Mike