@jackdaniel sagte in Unifi G4 doorbell | Intercom | IoBroker | Tablet | Blockly:
unifi-protect adapter
man benötigt kein unifi-protect adapter dafür
ich habe mir ein View für mein Kamerabild am Eingang erstellt. Welches man nicht in der normalen VIS am Tablet sieht
[{"tpl":"tplMfdCamMjpg","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","asButton":"true","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"g_dialog":false,"dialog_width":"640","dialog_height":"480","icon":"http://192.168.178.65/snap.jpeg","icon_interval":"500"},"style":{"left":"5px","top":"5px","width":"1280px","height":"800px"},"widgetSet":"jqui-mfd"}]
icon_interval":"500" steht auf 500ms. Bedeutet alle 500 MS wird ein neues Bild erzeugt. Sieht dann wie ein Livebild aus. Die Zeiten kann man im Widgets anpassen
In den Einstellungen(Webif) der Kamera kann man
aktivieren
Über den Link http://192.168.178.65/snap.jpeg :IP angepasst bekommt man dann ein Standbild
Mein Blockly sieht dann so aus
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable type="timeout" id="timeout">timeout</variable>
</variables>
<block type="on" id="mB8U4~enKq{inDA}C=9Z" x="-612" y="-287">
<field name="OID">alias.0.Flur.Klingelstatus.ACTUAL</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="R17Tu(_+g5V7Y@X[3I4q">
<mutation elseif="1"></mutation>
<value name="IF0">
<block type="logic_negate" id="5:rBm7?ek205^Y_EpBNx">
<value name="BOOL">
<block type="get_value" id="lb|Pb~V0jx^s-vI{Mdw,">
<field name="ATTR">val</field>
<field name="OID">alias.0.Flur.Klingelstatus.ACTUAL</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_settimeout" id="{=r^fq`cVYKBP$zRjb|;">
<field name="NAME">timeout</field>
<field name="DELAY">15</field>
<field name="UNIT">sec</field>
<statement name="STATEMENT">
<block type="procedures_callcustomnoreturn" id="J^7h5R~=dUOOB3$X?E#7">
<mutation name="Startseite an"></mutation>
</block>
</statement>
</block>
</statement>
<value name="IF1">
<block type="get_value" id="ad[ek;%W_jM),X(c#Q0j">
<field name="ATTR">val</field>
<field name="OID">alias.0.Flur.Klingelstatus.ACTUAL</field>
</block>
</value>
<statement name="DO1">
<block type="procedures_callcustomnoreturn" id="9bTJ07cel.ON7gr7Uzi?">
<mutation name="Bild Kamera Eingang an"></mutation>
<next>
<block type="control" id="L%YrHlJRwVxq!^-w;{`=">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
<field name="OID">fully-tablet-control.0.device.wandtablet.commands.triggerMotion</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">1000</field>
<field name="UNIT">ms</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="=;kFsK40T-![zW6N]*tD">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</statement>
</block>
<block type="procedures_defcustomnoreturn" id="An;{RLE$}|QcMD]a,bL_" x="-387" y="-287">
<mutation statements="false"></mutation>
<field name="NAME">Bild Kamera Eingang an</field>
<field name="SCRIPT">IHNldFN0YXRlKCJ2aXMuMC5jb250cm9sLmNvbW1hbmQiLCAneyJpbnN0YW5jZSI6ICIqIiwgImNvbW1hbmQiOiAiY2hhbmdlVmlldyIsICJkYXRhIjogIm1haW4vS2FtZXJhRWluZ2FuZ1dhbmRUYWJsZXQifScpOw==</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
</block>
<block type="procedures_defcustomnoreturn" id="^PMwI:/Z/Ox*et`e7BUS" x="-387" y="-238">
<mutation statements="false"></mutation>
<field name="NAME">Startseite an</field>
<field name="SCRIPT">IHNldFN0YXRlKCJ2aXMuMC5jb250cm9sLmNvbW1hbmQiLCAneyJpbnN0YW5jZSI6ICIqIiwgImNvbW1hbmQiOiAiY2hhbmdlVmlldyIsICJkYXRhIjogIm1haW4vU3RhcnRzZWl0ZSJ9Jyk7</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
</block>
</xml>
Inhalt javascript Funktion
setState("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "main/KameraEingangWandTablet"}');
setState("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "main/Startseite"}');