NEWS
Test Adapter Nuki-extended v2.0.x
-
@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.
-
@JB_Sullivan
Hier funktionert es. Hat es auch schon immer, ich denke das hat nichts mit dem Firmware-Stand zu tun. -
Es liegt sicherlich am socket io adapter.
@Thomas-Braun nutzt den nicht, aber @JB_Sullivan schon, oder? -
@Thomas-Braun Bei mir hat es auch schon immer funktioniert. Irgendwann hat Zefau dann hier mal eine Adapter Version veröffentlicht, die eigentlich nur für Leute war, die bei NUKI am Beta Programm teilnehmen.
Ich bin kein Beta Teilnehmer, habe aber diese Adapter Version aufgespielt - seit dem funktioniert die Protokoll Geschichte nicht mehr.
-
@Zefau ja - aber socket-io ist auf dem letzten Stand (3.0.13) - sofern das hilft.
-
@JB_Sullivan sagte in Test Adapter Nuki-extended v2.0.x:
@Zefau ja - aber socket-io ist auf dem letzten Stand (3.0.13) - sofern das hilft.
Schalt mal testweise deinen Web-Adapter auf integrated, nur um zu sehen, ob es dann geht.
-
@Zefau - der steht schon immer auf integriert.
-
@JB_Sullivan Warum hast du dann socket-io installiert?
-
@JB_Sullivan Welcher Port ist im Web Adapter eingestellt? Kannst du mal einen Screenshots deiner Web Adapter Settings zu machen?
-
-
warum socket-io installiert ist - ehrlich - keine Ahnung. Irgendwie war der schon immer da - und vor zwei Jahren, als ich noch ioB Newbie war, umreißt man das gar nicht wofür was alles so da ist. Seit dem läuft der halt so mit - möglich das der für irgend etwas anderes gebraucht wird - ich habe echt keine Ahnung wozu der gut ist und was der macht - hat bislang auch nicht gestört
-
@JB_Sullivan sagte in Test Adapter Nuki-extended v2.0.x:
warum socket-io installiert ist - ehrlich - keine Ahnung. Irgendwie war der schon immer da - und vor zwei Jahren, als ich noch ioB Newbie war, umreißt man das gar nicht wofür was alles so da ist. Seit dem läuft der halt so mit - möglich das der für irgend etwas anderes gebraucht wird - ich habe echt keine Ahnung wozu der gut ist und was der macht - hat bislang auch nicht gestört
Sieht korrekt aus. Was steht denn in der Browser Konsole?