Bluetooth smartlock per HM steuern

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

alchy
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

Beitrag von alchy » 27.08.2019, 20:49

Keine Rückantwort des Scriptaufruf:

>> CCU mit der Welt verbunden ? <<


>> Fehlerprotokoll <<

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.

Sascha773
Beiträge: 63
Registriert: 28.06.2014, 23:24
Hat sich bedankt: 1 Mal

Re: Bluetooth smartlock per HM steuern

Beitrag von Sascha773 » 28.08.2019, 20:46

Hallo Alchy,

hier meine Scriptantwort:
"CCU ist mit der Welt verbunden"

Also, alles in Ordnung?!

Und nu?

Frankolot
Beiträge: 13
Registriert: 26.09.2018, 17:26
Hat sich bedankt: 1 Mal

Re: Bluetooth smartlock per HM steuern

Beitrag von Frankolot » 25.12.2019, 13:00

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

alchy
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

Beitrag von alchy » 25.12.2019, 14:27

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. :wink:

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.

Frankolot
Beiträge: 13
Registriert: 26.09.2018, 17:26
Hat sich bedankt: 1 Mal

Re: Bluetooth smartlock per HM steuern

Beitrag von Frankolot » 25.12.2019, 15:49

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:

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");
}
Danke im Voraus.

Mit freundlichen Grüßen
Frankolot

alchy
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

Beitrag von alchy » 25.12.2019, 16:20

Es gilt hier, wie immer:
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); 
an das Script anhängen und die Rückgabe posten.

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.

Mikeldk
Beiträge: 157
Registriert: 24.03.2016, 10:25
Danksagung erhalten: 3 Mal

Re: Bluetooth smartlock per HM steuern

Beitrag von Mikeldk » 09.09.2020, 19:26

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:

Code: Alles auswählen

"mode": 2, "state": 3, "stateName": "unlocked", "batteryCritical": false, "doorsensorState": 2, "doorsensorStateName": "door closed", "success": true
Kann es sein das sich die Positionen der Werte geändert haben ?

Grüße

Andysnet
Beiträge: 1
Registriert: 04.10.2020, 16:03
System: CCU

Re: Bluetooth smartlock per HM steuern

Beitrag von Andysnet » 04.10.2020, 16:10

Mikeldk hat geschrieben:
09.09.2020, 19:26

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
Kann es sein das sich die Positionen der Werte geändert haben ?
Hi,
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

MathiasZ

Re: Bluetooth smartlock per HM steuern

Beitrag von MathiasZ » 04.10.2020, 17:49

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.

Mikeldk
Beiträge: 157
Registriert: 24.03.2016, 10:25
Danksagung erhalten: 3 Mal

Re: Bluetooth smartlock per HM steuern

Beitrag von Mikeldk » 05.10.2020, 17:43

Andysnet hat geschrieben:
04.10.2020, 16:10
Mikeldk hat geschrieben:
09.09.2020, 19:26

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
Kann es sein das sich die Positionen der Werte geändert haben ?
Hi,
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
Hi,

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

Antworten

Zurück zu „HomeMatic allgemein“