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 » 04.09.2016, 20:48

Da Stoni das Script sowieso schon hier gepostet hatte, hier der Beitrag von mir.

Hier ein Script, was den Status der Nuki über die Bridge abfragt und in zwei Stringvariablen einträgt.
Der Name der Variablen wird im Setup Teil eingetragen, die Variablen müssen vorher als Zeichenkettenvariablen in der CCU angelegt werden.
Dazu ein Programm anlegen, welches zyklisch ausgeführt wird und im Dann Teil das Script ausführt.
Hinweis: Den Intervall nicht zu hoch wählen, vor allem bei Verwendung des Schedulers der CCU

Code: Alles auswählen

! Nuki Hardware Bridge Status auslesen by Alchy v 0.4 
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://IP.DEINER.EIGENEN.NUKI:8080/lockState?nukiID=EIGENE_ID&token=EIGENER_TOKEN";
! +++++++++++++  AB HIER FINGER WEG +++++++++++++++++
dom.GetObject("CUxD.CUX2801001:2.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801001:2.CMD_QUERY_RET").State(1);
string srueck = dom.GetObject("CUxD.CUX2801001:2.CMD_RETS").State();
srueck = srueck.Substr(1, srueck.Length()-2);
var tmp1 = srueck.StrValueByIndex(",",2).StrValueByIndex(":",1); ! battery
integer tmp2 = (srueck.StrValueByIndex(",",0).StrValueByIndex(":",1)).ToInteger(); ! state
var tmp3 = srueck.StrValueByIndex(",",3).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);
} else {
(dom.GetObject(ID_SYSTEM_VARIABLES)).Get(OUTPUTSTAT).State("ABFRAGE NICHT ERFOLGREICH");
(dom.GetObject(ID_SYSTEM_VARIABLES)).Get(OUTPUTBAT).State("ABFRAGE NICHT ERFOLGREICH");
}

Alchy
Zuletzt geändert von alchy am 15.10.2016, 20:19, insgesamt 3-mal geändert.

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.

schuft88
Beiträge: 29
Registriert: 12.02.2011, 06:26

Re: Bluetooth smartlock per HM steuern

Beitrag von schuft88 » 05.09.2016, 19:38

Hallo Alchy,

könntest du vielleicht noch ein Bild einfügen, wie das Programm aussehen müsste, welches dein Script ausführt?

Danke!

Gruß Thomas

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 » 05.09.2016, 20:00

Das bleibt doch dir überlassen, was du installiert hast, was du willst und kannst.
Ich habe noch nicht mal so ein Teil. :shock:

Die primitivste Methode ist das Zeitmodul zu benutzen für einen 5min Intervall.
Wenn
Zeitsteuerung - Zeitmodul
zeitmodul.jpg
Dann Script


Kannst aber auch z.B. einen Temperatursensor benutzen um einen ca. 3min Intervall zu erhalten

Wenn
prginnensensor.jpg
dann Script

oder einen cuxd.timer oder du nimmst eine Taste deiner Fernbedienung und drückst da alle paar Minuten drauf. :mrgreen:

In jedem Fall nicht vergessen die beiden Variablen als Zeichenkette in der CCU anzulegen. :!:
Im Beispiel mit Namen Nuki_Status & Nuki_Batterie sowie die URL anpassen im Setup des Scriptes.
Natürlich ist es auch möglich, die Infos in nur einer Variablen zu speichern usw. Das war damals eine Vorgab von Stoni.

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.

Schatn
Beiträge: 21
Registriert: 30.12.2014, 19:16

Re: Bluetooth smartlock per HM steuern

Beitrag von Schatn » 28.09.2016, 20:44

Hallo! Habe das Script 1 zu 1 übernommen, bis auf die URL. Allerdings erhalte ich immer "ABFRAGE NICHT ERFOLGREICH". Wenn ich die URL im Browser ausführe, wird die Ausgabe korrekt angezeigt. Hat jemand eine Idee woran das liegen könnte oder ist im Script eventuell ein Tippfehler?
Ausgabe im Browser: {"state": 1, "stateName": "locked", "batteryCritical": false, "success": true}
Danke

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 » 28.09.2016, 23:59


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.

Schatn
Beiträge: 21
Registriert: 30.12.2014, 19:16

Re: Bluetooth smartlock per HM steuern

Beitrag von Schatn » 29.09.2016, 08:48

Danke alchy für die schnelle Rückmeldung. "Nuki_Batterie" wird jetzt korrekt angezeigt, allerdings wird die "Nuki_Status" Variable jetzt nicht mehr aktualisiert.

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 » 29.09.2016, 09:14

Tippfehler, sorry. War wohl zu früh heute morgen. >> Neue Version <<.

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.

Stoni
Beiträge: 560
Registriert: 05.12.2013, 13:38
Danksagung erhalten: 1 Mal

Re: Bluetooth smartlock per HM steuern

Beitrag von Stoni » 29.09.2016, 09:41

Schatn hat geschrieben:Hallo! Habe das Script 1 zu 1 übernommen, bis auf die URL. Allerdings erhalte ich immer "ABFRAGE NICHT ERFOLGREICH". Wenn ich die URL im Browser ausführe, wird die Ausgabe korrekt angezeigt. Hat jemand eine Idee woran das liegen könnte oder ist im Script eventuell ein Tippfehler?
Ausgabe im Browser: {"state": 1, "stateName": "locked", "batteryCritical": false, "success": true}
Danke
Hallo Schatn,

steuerst Du Dein Nuki über die Hardware-Bridge oder über die Software-Bridge auf einem Android-Gerät? Inwieweit hast Du Dein Smartlock in HM eingebunden?

Mein Beispiel: ich habe die Software-Bridge auf einem Android Gerät installiert und mit dem Smartlock verbunden. Ich nutze DashUI zur Visualisierung auf verschiedenen Wandtablets und habe mir dort Buttons erstellt, die das Smartlock auf Knopfdruck öffnen sollen. Bis das Smartlock reagiert, vergehen in der Regel rund 7-10 Sekunden. Das ist mir eindeutig zu lang. Daher würde ich Dich gerne bitten, über Deine Erfahrungen zu berichten. Vielleicht reagiert das Smartlock mit der Hardware-Bridge schneller. Die habe ich bestellt, die Auslieferung verzögert sich aber scheinbar erheblich...

Gruß Stoni

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 » 29.09.2016, 09:57

Stoni hat geschrieben: steuerst Du Dein Nuki über die Hardware-Bridge oder über die Software-Bridge auf einem Android-Gerät? Inwieweit hast Du Dein Smartlock in HM eingebunden?
Fakt ist, er kriegt eine andere Rückgabe als du damals.

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.

Stoni
Beiträge: 560
Registriert: 05.12.2013, 13:38
Danksagung erhalten: 1 Mal

Re: Bluetooth smartlock per HM steuern

Beitrag von Stoni » 29.09.2016, 10:00

alchy hat geschrieben:
Fakt ist, er kriegt eine andere Rückgabe als du damals.

Alchy
Eigentlich nicht, die Ausgabe ist identisch. Ich werde aber auch gleich mal auf Dein Script 0.4 "updaten"...




Gesendet von iPhone mit Tapatalk

Antworten

Zurück zu „HomeMatic allgemein“