NEWS
Nutzungsdauer vom Handy anzeigen lassen (unifi)
-
Hallo.
Ich habe einen Uptime Datenpunkt im Unify-Adapter. Der zeigt mir alle 30 Sekunden einen aktuellen Wert in Sekunden an wie lange ein Gerät online ist.
Ich würde gerne in der VIS anzeigen lassen wie lange jemand z.B. mit dem Handy online ist.
(alle Blockly-Beispiele die ich im Netz gefunden und ausprobiert habe, haben leider nicht funktioniert)Hier ist mal mein nicht funktionierendes Skript:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="fY_F9{eY1;h}wP?vcr()">UptimeZeit</variable> </variables> <block type="comment" id="/;ZRw=#X-(8q/6mmWt-j" x="88" y="-362"> <field name="COMMENT">Datenpunkt anlegen</field> <next> <block type="create" id="K(QDlz0t6.{2Pq+PF_A^"> <field name="NAME">0_userdata.0.unifi.Nutzungsdauer_Frank</field> <value name="VALUE"> <block type="math_number" id="F:fd)tm:n!J6^vPJg$:H"> <field name="NUM">0</field> </block> </value> <value name="COMMON"> <block type="text" id="q6Pk,4oOFfz~N`%)`^jw"> <field name="TEXT">{"name": "NutzungsdauerFrank", "type": "string", "unit": "h", "write": true, "read": true}</field> </block> </value> <next> <block type="comment" id="dwTsB5EXpHuS0=+=4Gp."> <field name="COMMENT">um 0:01 den Wert auf 0 setzen</field> <next> <block type="schedule" id="b[lyw/{nfZfvqKs4+VvL"> <field name="SCHEDULE">{"time":{"exactTime":true,"start":"00:01"},"period":{"days":1}}</field> <statement name="STATEMENT"> <block type="variables_set" id="_WC{AOB{MCn`w+CZ0:[F"> <field name="VAR" id="fY_F9{eY1;h}wP?vcr()">UptimeZeit</field> <value name="VALUE"> <block type="math_number" id="ce?-+ZAn1^Gn=!,`A^J["> <field name="NUM">0</field> </block> </value> </block> </statement> <next> <block type="comment" id="hx=3,gLEAlY2M5P9|.Zs"> <field name="COMMENT">Berechnen</field> <next> <block type="on_ext" id="8,jc8wcL/E4r7n$HaBfB"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="?xFLO|`y~#Vhz,Q~=yLv"> <field name="oid">unifi.1.default.clients.18:65:90:81:be:bf.uptime</field> </shadow> </value> <statement name="STATEMENT"> <block type="debug" id="?UPgrIZ-lci;kNCIfRn?"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="ZoX+2y9fnOMe?v%6h$lZ"> <field name="TEXT">test</field> </shadow> <block type="get_value" id="JmvnIHh%bV[/d-2oHxn,"> <field name="ATTR">val</field> <field name="OID">unifi.1.default.clients.18:65:90:81:be:bf.uptime</field> </block> </value> <next> <block type="controls_if" id="T_5#n@lBG-_83OFlf|)D"> <value name="IF0"> <block type="logic_negate" id="9O]ctrj~[QMSl;srQEr@"> <value name="BOOL"> <block type="on_source" id="i%Re+gm?HisoQvZ;y2H?"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="LE?[]!rh4Vs2JM3NZN5t"> <field name="VAR" id="fY_F9{eY1;h}wP?vcr()">UptimeZeit</field> <value name="VALUE"> <block type="math_arithmetic" id="PZ:nIxCw/6AX!Fk!_TBg" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="xcrw1;dE|qXShSx-otl["> <field name="VAR" id="fY_F9{eY1;h}wP?vcr()">UptimeZeit</field> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="Invk3@2?f1O75MEI=sS!" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="on_source" id="e7iCe8|M,+^]3/?~+(:v"> <field name="ATTR">state.lc</field> </block> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="on_source" id="lpoYv%diwkTMG@(m(`Xg"> <field name="ATTR">oldState.lc</field> </block> </value> </block> </value> </block> </value> <next> <block type="comment" id=")8ne~ZLQBD(i(Yud=L:}"> <field name="COMMENT">in Datenpunkt schreiben</field> <next> <block type="update" id=",wh2(O`,J,1c4LrU5Xd2"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.unifi.Nutzungsdauer_Frank</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="4+929|Af=:Z(!b}{w_Sc"> <field name="VAR" id="fY_F9{eY1;h}wP?vcr()">UptimeZeit</field> </block> </value> <next> <block type="debug" id="#;K;/u%_kmz(l?i0Vr5X"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="Tvr?+gMKk$:J/eB:;db["> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="C$k?WDu//?ZuRK?AN,ko"> <field name="VAR" id="fY_F9{eY1;h}wP?vcr()">UptimeZeit</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="convert_from_date" id="dY(:0?U]KEwy5hgz}SVt" disabled="true" x="863" y="-37"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">m</field> <value name="VALUE"> <block type="variables_get" id="rN1L)t5e]@iqV^2z`ypW"> <field name="VAR" id="fY_F9{eY1;h}wP?vcr()">UptimeZeit</field> </block> </value> </block> </xml>
-
@roelli sagte: Uptime Datenpunkt im Unify-Adapter. Der zeigt mir alle 30 Sekunden einen aktuellen Wert in Sekunden an wie lange ein Gerät online ist.
Wert in s kumulativ? Ohne Zeit-Begrenzung?
-
@paul53
Sieht so aus. Der Wert steigt immer nur positiv an. Ich habe allerdings auch nicht beobachten können ob, wie und wann das mal zurückgesetzt wird.Vermutlich ist das ja auch egal?
Denn bei anderen Skripten scheint man lediglich die Differenz zu berechnen.
Also.. wenn keine Änderung.. dann nix machen.
Wenn Änderung, dann Differenz berechnen und ausgeben. -
-
Danke! Sieht wesentlich schlauer aus als mein Versuch!
Hab's gerade ausprobiert... im Datenpunkt wird aber nur "NaN:NaN" geschrieben.
Hab ich da was falsch gemacht? Datenpunkt falsch formatiert?
Aber der Debugwert ist auch schon "NaN:NaN" -
@roelli
Füge mal eine weitere Logausgabe ein, die den Typ anzeigt: -
-
@roelli
Die Variable UptimeZeit muss bei Skriptstart initialisiert werden, da sie sonst bis 00:01 Uhr undefined enthält. -
Das Script scheint generell zu funktionieren. Es zählt hoch.
Allerdings scheint es zu viel und/oder zu oft zu zählen.
(ich habe morgens früh schon 10Stunden dort stehen)Möglicherweise ist aber auch der Datenpunkt vom unify Controller nicht der beste.
Hast Du auch unify? Läuft's bei Dir?Danke,
Frank. -
@roelli sagte in Nutzungsdauer vom Handy anzeigen lassen (unifi):
Möglicherweise ist aber auch der Datenpunkt vom unify Controller nicht der beste.
der zeigt IMHO die komplette Verbindungszeit zum AP an, nicht die Onlinezeit
Passt es denn zu den Werten im Unifi-Controller
hier die letzte Spalte.
Ich nutze den Adapter nicht -
@roelli sagte: Hast Du auch unify?
Nein.