NEWS
Test Adapter Nuki-extended v2.0.x
-
@Zefau, habe die Beta angefragt, sobald ich alles getestet habe melde ich mich nochmal.
Danke auf jeden fall schon mal für deine Arbeit
-
@Thomas-Braun wo finde ich den Eintrag? Die beta habe ich seit heute drauf. Den Adapter hab ich auch bereits neugestartet.
-
@Phantomkommander Vermutlich unter den Objekten dann. Wie alle anderen Objekte halt auch. Ich habe auf dem Opener noch die stabile Firmware drauf.
-
@Zefau vielen Dank für deine Arbeit. Die beta vom opener habe ich bekommen, finde aber das Klingel Signal nicht. Muss die bridge auch eine beta haben?
-
@Phantomkommander
Ja, die Bridge muss Beta firmware version 2.7.0 oder 1.17.0 haben. Opener muss 1.5.1 haben. -
@Thomas-Braun ahhh Fehler gefunden. Dankeschön.
Wozu gibt es eigentlich zwei verschiedene Firmware Versionen? -
@Phantomkommander Die Bridge gibt es in zwei Hardware-Versionen. Die ältere mit Firmware 1.x, die neuere mit 2.x
-
Die Objekte findest du im opener unter states.
@Zefau
Ausgiebig getestet und es funktioniert alles problemlos, sogar besser und schneller als ich vermutet hätte!Ich bin begeistert, genau darauf hab ich so lange gewartet
Die Möglichkeiten sind quasi grenzenlos Werde jetzt durch Lichtsignale in verschiedenen Räumen (unterschiedlicher Helligkeit nach Urzeit) und sogar gesprochen durch Alexa (unterschiedliche Lautstärke nach Uhrzeit) benachrichtigt wenn es Klingelt, die Benachrichtigung geht 5 Minuten und wird durch unterschiedliche Aktionen unterbrochen wenn auf das klingeln reagiert wird (zb. Durch Summer, Tür geht auf oder Befehl an Alexa), wenn innerhalb der 5 min nicht auf das klingeln reagiert wird, wird eine Notiz mit verschiedenen Informationen gespeichert, und kann über Alexa abgefragt werden, außerdem wird erkannt wenn einmaliges Ring to Open aktiv ist, um die „Klingel“ nicht auszulösen...Danke für die super Arbeit
-
Hat zwar nichts direkt mit dem Adapter zutun, aber weiß jemand ob es möglich ist, ein zweites klingelsignal anzulernen?
Viele haben wahrscheinlich an der Haustür und der Wohnungstür unterschiedliche klingelsignale, beim einrichten kann nur eins angelernt werden und das andere wird nicht erkannt und ich konnte bis jetzt nichts darüber finden, vielleicht übersehe ich nur was?
-
@Newpicsel wie hast du das Skript umgesetzt? Wollte morgen auch mal etwas rumprobieren. Kann man auch eine kleine mp3 Datei oder so über alexa ausgeben?
-
Das ist ein ziemliches Durcheinander bei mir, muss das nochmal sauber umsetzen.
Fing mit der Idee eines simplen Lichtsignals an, um sich über das klingeln benachrichtigen zu lassen wenn die Klingel abgeschaltet ist und dann etwas eskaliert!
Dadurch hat sich das bei mir so ergeben, dass ich zwei Skripte erstellt habe, eins mit dem ursprünglichen „Lichtalarm“ welches immer sofort den Alarm auslöst sobald es aktiv ist und sich selbst deaktiviert bei zutreffen einer Aktion wie zb. „die Wohnungstür wurde geöffnet“ oder „der Summer wurde getriggert“ etc., spätestens jedoch nach fünf Minuten und speichert nur dann vorher mit Zeitstempel in einem Objekt, dass es geklingelt hat und ein Zähler wie oft dies passiert.
Außerdem spricht Alexa alle 30s „RING RING es hat vor xy mm:ss geklingelt, um dies zu ignorieren, sage: Alexa Klingel.
Hier und auch beim Licht, wird unmittelbar vorher die aktuelle Zeit geprüft und die Lautstärke bzw. die Helligkeit festgelegt.
Und das zweite Skript prüft die RtO Einstellung aktiviert das erste Skript wenn es Klingelt, setzt jeden Tag um 23 Uhr den Bericht zurück und gibt diesen über den jeweils angesprochenen Echo aus falls danach gefragt wird.Außerdem werden die Informationen im vis dargestellt, auf einem iPad an der Wand läuft dauerhaft die vis mit mehr oder weniger wichtigen Infos und Einstellungsmöglichkeiten.
Ist natürlich alles Spielerei, bin aber am überlegen, da ich oder auch andere bekannte Personen persönlich via Alexa begrüßt werden, hier zumindest bei meiner Frau und mir noch ein Hinweis anzuhängen wenn es bei Abwesenheit geklingelt hat.
Natürlich kann man streng genommen in der Regel mit dieser Info nichts anfangen, aber ich bekomme auf Anfrage auch ein sehr ausführlichen Bericht meines Staubsaugers, ein bisschen verrückt sollte man mit diesem Hobby ohnehin sein!Edit: das mit der mp3 ist eine gute Frage, hab sowas bis jetzt noch nie in Betracht gezogen!
Mir gefällt eine schöne Sprachausgabe in der Regel besser, aber wenn es dir um ein Klingelgeräusch geht, Alexa kann unterschiedliche Töne, Melodien und Alarme wiedergeben, sowas sollte auf jeden Fall umsetzbar sein. -
@Newpicsel boah jetzt machst du mich aber richtig neugierig.
Naja mein Problem ist, bei 124qm ist die Klingel zu leise. Deswegen würde ich die Ausgabe gerne über alexa machen. Da ich Schicht arbeite, kann ich die Ausgabe gegebenenfalls im Schlafzimmer auch deaktivieren. Eine mp3 oder ähnliches wäre halt angenehm, um nicht noch mehr von alexa voll gequatscht zu werden.Hast du das Script in blockly oder js gemacht? Meine vis müsste ich auch mal erstellen
-
Eine einfache „Klingelweiterleitung“ kannst du super simple in blockly erstellen, wenn ich die Tage Zeit finde, kann ich dir da mal was basteln, was du dann einfügen und für deine Situation anpassen kannst, wie zb. Welche Geräte und welche Lautstärke bei welcher Uhrzeit.
-
@Newpicsel nur wenn es dir keine Umstände macht. Vielen Dank
-
Hier wie besprochen erstmal die einfache weiterleitung, OID´s (Objekt ID) müssen jedoch angepasst werden, Geräte heißen garantiert anders bei dir!!!
Für mehrere Geräte die "steuere" Blöcke duplizieren oder eine Multiroomgruppe steuern, die vorher in der App erstellt werden muss (wird im Adapter als weiteres Gerät angelegt).Für die Befehle "klingel aus" oder "Tür auf" sollten routinen in der App angelegt werden, dann als antwort ok angeben.
Wenn kein Smartlock mit Sensor vorhanden ist, kann entweder ein einfacher Fenstersensor verwendet werden oder die Abschaltung der Schleife so kurz gehalten werden, dass es einem nicht stört wenn die Schleife durchläuft.
Ist jetzt wirklich eine sehr einfache weiterleitung aber erfüllt ihren zweck.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="1U5PXB;i7B!S]!bc[pER">lautstärke</variable> <variable type="interval" id="Intervall">Intervall</variable> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="comment" id="*^yPzr6q)8bY,pSHGo9h" x="-187" y="13"> <field name="COMMENT">Trigger Klingel:</field> <next> <block type="on" id="D@o9=ie=J5bd;nu7X+e}"> <field name="OID">nuki-extended.0.openers.eingangstür.state.ringState</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="comment" id="uE9RO.,1hUc4.+S4@$2a"> <field name="COMMENT">Rto nicht aktiv:</field> <next> <block type="controls_if" id="9|uI*HC9[X``P`}M5Y8h"> <value name="IF0"> <block type="logic_compare" id="YdPQm)i+Wb|O6aMoqQ1Y"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="R6wJ!K*PQL3bBwb;g.cM"> <field name="ATTR">val</field> <field name="OID">nuki-extended.0.openers.eingangstür.state.lockState</field> </block> </value> <value name="B"> <block type="math_number" id=")E]Z=VVRQX*l^R8u{S#0"> <field name="NUM">3</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="2aS0c)^@_FG~wkKd.u-T"> <field name="COMMENT">Lautstärke nach Uhrzeit:</field> <next> <block type="controls_if" id="20p;9/BX28d{Kf9{e;Sw"> <mutation else="1"></mutation> <value name="IF0"> <block type="time_compare" id="KlX}Cuu~e|dfa%*7:+ak"> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">09:00</field> <field name="END_TIME">18:00</field> </block> </value> <statement name="DO0"> <block type="variables_set" id="TbA%Qg7.a~w+RUp)veS-"> <field name="VAR" id="1U5PXB;i7B!S]!bc[pER">lautstärke</field> <value name="VALUE"> <block type="math_number" id="A2P0vhA`[Q,k;mLsIvWd"> <field name="NUM">30</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="Miv%3G_P~V4qeqz3y{h;"> <field name="VAR" id="1U5PXB;i7B!S]!bc[pER">lautstärke</field> <value name="VALUE"> <block type="math_number" id="li(!|~L.Zurqp)Sjg{=0"> <field name="NUM">20</field> </block> </value> </block> </statement> <next> <block type="comment" id="Md_S%2fh#,p%YHO!%wM]"> <field name="COMMENT">Geräte steuern:</field> <next> <block type="control" id="nN`z=jwJI)k]820#0,vW"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A14R039516097D.Commands.speak-volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="ma5?[8|gAg(SJ{Gvs)G_"> <field name="VAR" id="1U5PXB;i7B!S]!bc[pER">lautstärke</field> </block> </value> <next> <block type="control" id="DC$H+Y4{P8cz(/,k[7Vx"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A14R039516097D.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="cH}CqpEIx)koa#7{ZO8z"> <field name="TEXT">ringeling dingdong</field> </block> </value> <next> <block type="comment" id="Q7iI4)bu[lM}VoI3-3(q"> <field name="COMMENT">Schleife:</field> <next> <block type="timeouts_clearinterval" id="oNWWoL[(6Ed_;Rc#Y%6S"> <field name="NAME">Intervall</field> <next> <block type="timeouts_setinterval" id="]J#M`2(bo^{E?Izvgf1u"> <field name="NAME">Intervall</field> <field name="INTERVAL">15</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="control" id="c1:I3|_Kf]IM?aq=IzW$"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A14R039516097D.Commands.speak-volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="a,:Jazo9d+~c_$TFl,[j"> <field name="VAR" id="1U5PXB;i7B!S]!bc[pER">lautstärke</field> </block> </value> <next> <block type="control" id="3UE)2.qUfpV~G=Q3;/}Y"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A14R039516097D.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="YH{(9P[b.[xA{Z5jP_J/"> <field name="TEXT">ringeling dingdong</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="1q77vR?1ii.^iONG69b`"> <field name="COMMENT">Stopt Schleife:</field> <next> <block type="timeouts_settimeout" id="VtFep+kV/OV8*1+E0]sc"> <field name="NAME">timeout</field> <field name="DELAY">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="timeouts_clearinterval" id="+5iuM[mGq(P?E}LN1g;N"> <field name="NAME">Intervall</field> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> <block type="comment" id="A7:op:y`Z?~}-)wf:yOD" x="-187" y="813"> <field name="COMMENT">Stopt klingel wenn summer aktiviert wird:</field> <next> <block type="on_ext" id="J5?$7.hEQk*pUM1RQx%f"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="G4FkSqHq$t4-Jl/~fv*H"> <field name="oid">nuki-extended.0.openers.eingangstür._ACTION</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="/?s%Gx||Vi[(~4T2d@If"> <field name="oid">nuki-extended.0.openers.eingangstür._ACTION.ELECTRIC_STRIKE_ACTUATION</field> </shadow> </value> <statement name="STATEMENT"> <block type="timeouts_clearinterval" id="J%*7aIn7Bp3i?8asR@=v"> <field name="NAME">Intervall</field> </block> </statement> </block> </next> </block> <block type="comment" id="|2TNhFx}T!Ep+%_rAI8k" x="-187" y="1063"> <field name="COMMENT">Stopt klingel wenn Tür geöffnet wird (SmartLock nötig):</field> <next> <block type="on_ext" id="(}YIbZ;^w2Zh/[XNhd{7"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="VVx!m/vA;xSKD)MH]OK#"> <field name="oid">nuki-extended.0.smartlocks.wohnungstür.state.closed</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="#JP8V,^[quYjjg9rFjd_"> <field name="oid">nuki-extended.0.smartlocks.wohnungstür.state.doorsensorState</field> </shadow> </value> <statement name="STATEMENT"> <block type="timeouts_clearinterval" id="}Oq`rI{vFY|[N-9PL~#%"> <field name="NAME">Intervall</field> </block> </statement> </block> </next> </block> <block type="comment" id="pALz1jvhsOU7BqPK7bKR" x="-187" y="1312"> <field name="COMMENT">Stopt klingel per Alexa befehl: Alexa:"klingel aus"</field> <next> <block type="on" id="3*wGVKEk?3yO-fIy}7O0"> <field name="OID">alexa2.0.History.summary</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="6XHDCveA9P9|#:*lj5GW"> <value name="IF0"> <block type="logic_compare" id="v;kzRRIM.KA_|h!9d?#?"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="*Lv*%hW_eQ9Ii2tlN{7@"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.summary</field> </block> </value> <value name="B"> <block type="text" id="u[!$C_/`xA6[kf/QV^=("> <field name="TEXT">klingel aus</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_clearinterval" id="rV{!ZLjHuGX0y6sgTC#}"> <field name="NAME">Intervall</field> </block> </statement> </block> </statement> </block> </next> </block> <block type="comment" id="xH!!N#Wh6IOdavpt%9dR" x="-187" y="1613"> <field name="COMMENT">Summer aktivieren:</field> <next> <block type="on" id="R[X0|=*n6v|(#`q4rj=2"> <field name="OID">alexa2.0.History.summary</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="hxGVlX=,hT/U2ZNS[HL2"> <value name="IF0"> <block type="logic_compare" id="(m:l[qr=3*2BbKP#I[!T"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="qj1eWZl7~A~E==/vQODV"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.summary</field> </block> </value> <value name="B"> <block type="text" id="oX%V#$/y1}w$CLeM`zcd"> <field name="TEXT">tür auf</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="_=hf/yzXKUb[5#9.m_GP"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">nuki-extended.0.openers.eingangstür._ACTION.ELECTRIC_STRIKE_ACTUATION</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="Z^qG(?8#WAr^Qb8[/g%z"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </xml>
-
Hallo @Zefau
heute gab es eine neue Firmware für die Smartlocks 1.0 und 2.0, die jetzt Batterie % liefert.
Also mindestsens dafür - vielleicht ja auch für andere Geräte.
Ist das auch in der API und kannst du es ggf. bitte mit einbauen?Danke
[EDIT] Ist ja schon längst drin - Danke [/EDIT]
-
@tcj der Adapter ist so programmiert, dass alles direkt durchgereicht wird. Nur die Beschreibung des Datenpunkts fehlt dann erstmal.
-
@Zefau sagte in Test Adapter Nuki-extended v2.0.x:
Außerdem ist das Klingelsignal des Nuki Openers (mittels Firmware v2.7.0 bzw. v1.17.0) nun integriert. Der Adapter integriert diese als state.ringState bzw. state.ringStateUpdate.
so hab heute mal alles aktualisiert (smartlock, opner und keypad)
wie wird der state.ringState aktualisiert (von false auf true und wieder zurück, oder bei jedem aktiven öffnen wenn true dann auf false, oder eben umgekehrt)
ist ein bischen blöde zum testen da ich keine lust habe jedesmal aus dem geo bereich zu laufen damit rto aktiv wird -
@Zefau Alles klar
-
Heute gab es von NUKI ja ein Update auf 2.8.15. Ich hatte gehofft, das damit wieder die Protokoll Anzeige der User Aktionen funktionieren würde - tut es aber leider nicht
Trotz aktiviertem und korrektem WebAPI bekomme ich immer dieser Fehlermeldung.