NEWS
Blockly - Nutzen von timestamp
-
Guten Morgen,
ich möchte mit Hilfe des unifi Adapters und dessen Objekt last_seen meine Anwesenheits Steuerung umsetzen. Der Wert scheint mir aktuell sehr zuverlässig, denn selbst im Ruhemodus von Android wird hier zuverlässig das Gerät als aktiv gesehen.
Den Wert (z.B. 1550917457 - timestamp?) möchte mit Blockly weiterverarbeiten - leider aktuell noch ohne Ergebnis
In VIS ich das Objekt in ein timestamp Widget setzen und bekomme dann auch die richtige Uhrzeit/Datum angezeigt.
Wie muss ich den Wert in Blockly bearbeiten? Jemand einen Vorschlag?
Danke und ein schönes WE,
Thorsten -
push nach oben
-
Das würde mich auch interessieren...
-
der timestamp sieht mir nach linux zeit aus .... einfach umrechen
-
Ich hatte mir erhofft jemand kann dazu ein screenshot von einem Blockly posten...
-
@Pihero So hatte ich das damals gelöst:
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="59HLJC4k2H0Acf)X=$]m">ts</variable> <variable type="" id="oRhIzMXKnJNKV_V{H?LF">aktuelle_uhrzeit</variable> <variable type="" id="`BmY|d0AKZ`SR(Nl]CF/">timestamp_diff</variable> <variable type="" id="d3%s*b]Heop54]5zlj|%">last_seen_thorsten</variable> <variable type="" id="fYJ*dYr2KjvzU5E%Ejjo">last_seen_thorsten_ts</variable> <variable type="" id="7?dmcNa:E]I]l;e%3vo_">last_seen_jenny</variable> <variable type="" id="FaqLR/(Vfk(Y-#s-7E%`">last_seen_jenny_ts</variable> </variables> <block type="procedures_defcustomreturn" id="G1oc~.]_;g6uVSdzbZoA" x="-1512" y="538"> <mutation statements="false"> <arg name="ts" varid="59HLJC4k2H0Acf)X=$]m"></arg> </mutation> <field name="NAME">getTS</field> <field name="SCRIPT">dmFyIHplaXQgPSBuZXcgRGF0ZSgpOwp6ZWl0LnNldFRpbWUgKHRzICogMTAwMCk7IApyZXR1cm4gemVpdDs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="schedule" id="t`r3m(f_UM:XjXCWS/xF" x="-1512" y="597"> <field name="SCHEDULE">*/5 * * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="b.DLuu0xy*Z2O_%qSkPt"> <field name="VAR" id="oRhIzMXKnJNKV_V{H?LF" variabletype="">aktuelle_uhrzeit</field> <value name="VALUE"> <block type="time_get" id="U5!(THWOswx.V%3F}.67"> <mutation format="false" language="false"></mutation> <field name="OPTION">object</field> </block> </value> <next> <block type="variables_set" id="hjb%/=fMaOC#J+8@Jyn("> <field name="VAR" id="`BmY|d0AKZ`SR(Nl]CF/" variabletype="">timestamp_diff</field> <value name="VALUE"> <block type="math_number" id="wlauof!@X4GgVBA@Uom2"> <field name="NUM">80000</field> </block> </value> <next> <block type="variables_set" id="/DNzzsoCSs;ksf{Cmn(d"> <field name="VAR" id="d3%s*b]Heop54]5zlj|%" variabletype="">last_seen_thorsten</field> <value name="VALUE"> <block type="get_value" id="SOpMun[v];CWbma/i4Xp"> <field name="ATTR">val</field> <field name="OID">unifi.0.default.clients.98:09:cf:1a:88:38._last_seen_by_uap</field> </block> </value> <next> <block type="variables_set" id="LH6oMNBD0ngleN{Ur`)2"> <field name="VAR" id="fYJ*dYr2KjvzU5E%Ejjo" variabletype="">last_seen_thorsten_ts</field> <value name="VALUE"> <block type="convert_from_date" id="0bZtc=vFxxQ(|5`y1(yq"> <mutation format="false" language="false"></mutation> <field name="OPTION">object</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="h}lQ0uL]F2em_s~kv~d("> <mutation name="getTS"> <arg name="ts"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="rUSB[K},mVsY9{[dp*d+"> <field name="VAR" id="d3%s*b]Heop54]5zlj|%" variabletype="">last_seen_thorsten</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="lUPt~6P.D|^C6^pR3W);"> <field name="VAR" id="7?dmcNa:E]I]l;e%3vo_" variabletype="">last_seen_jenny</field> <value name="VALUE"> <block type="get_value" id="F@9E;.kxfY`yQFkZSULR"> <field name="ATTR">val</field> <field name="OID">unifi.0.default.clients.8c:25:05:11:0d:49._last_seen_by_uap</field> </block> </value> <next> <block type="variables_set" id="A%Fx/eGowb`R,NTnNt9R"> <field name="VAR" id="FaqLR/(Vfk(Y-#s-7E%`" variabletype="">last_seen_jenny_ts</field> <value name="VALUE"> <block type="convert_from_date" id="!XCM,_zY3bdW`)kmfmL!"> <mutation format="false" language="false"></mutation> <field name="OPTION">object</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="3Q~-!?5(4dBt@I;a;:3a"> <mutation name="getTS"> <arg name="ts"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="8:_c:G^ARff:rEVU/UFO"> <field name="VAR" id="7?dmcNa:E]I]l;e%3vo_" variabletype="">last_seen_jenny</field> </block> </value> </block> </value> </block> </value> <next> <block type="debug" id="Ply|{:Xv*W8AtKkxMX_K" collapsed="true" disabled="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="fNnQZ2zXpi2=)h.T{`LK"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="3Qx^B%}p?0Ve4/I@o~cZ"> <mutation items="7"></mutation> <value name="ADD0"> <block type="text" id="yj7oE88mDQ2flwaV-6=F"> <field name="TEXT">Aktuelle Uhrzeit: </field> </block> </value> <value name="ADD1"> <block type="convert_from_date" id="6{-kHN.+ht[K/.D|KT;m"> <mutation format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">JJJJ.MM.TT SS:mm:ss.sss</field> <value name="VALUE"> <block type="variables_get" id="|zP0#{.;9gFbjRxgab[]"> <field name="VAR" id="oRhIzMXKnJNKV_V{H?LF" variabletype="">aktuelle_uhrzeit</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="U6?%/NX]#E+.^@,.#rW*"> <field name="TEXT"> | </field> </block> </value> <value name="ADD3"> <block type="text" id=".S:Np[7WH=@TCT:PPq9!"> <field name="TEXT">last_seen thorsten: </field> </block> </value> <value name="ADD4"> <block type="convert_from_date" id="~/zPYESI1J9p+v^gWi?b"> <mutation format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">JJJJ.MM.TT SS:mm:ss.sss</field> <value name="VALUE"> <block type="variables_get" id="Yufs)T71h)j?74DH|G@w"> <field name="VAR" id="fYJ*dYr2KjvzU5E%Ejjo" variabletype="">last_seen_thorsten_ts</field> </block> </value> </block> </value> </block> </value> <next> <block type="controls_if" id="=%8qHO6Yj4h,{B=lqLA`"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="=kHyKPmi*MLLuU.#}X++"> <field name="OP">LTE</field> <value name="A"> <block type="math_arithmetic" id="K`D0VQbV_1/G,CIz|S9f"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="9hM*sO57r/pj=EW.;R*x"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="=H+F1UqH/hMs%!+__/9e"> <field name="VAR" id="oRhIzMXKnJNKV_V{H?LF" variabletype="">aktuelle_uhrzeit</field> </block> </value> <value name="B"> <shadow type="math_number" id="e}Q)ytnk|qES61y{Q4(;"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="ltUwyUllbIka78*7!wrt"> <field name="VAR" id="fYJ*dYr2KjvzU5E%Ejjo" variabletype="">last_seen_thorsten_ts</field> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="x:XE@)Y}J5KnZGo)I,ZE"> <field name="VAR" id="`BmY|d0AKZ`SR(Nl]CF/" variabletype="">timestamp_diff</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="]mn5-AuLcnLrwuPK4);4"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Anwesenheit.Anwesenheit_Thorsten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="^=A=KH.]X8iOh{Me%{,9"> <field name="TEXT">anwesend</field> </block> </value> <next> <block type="debug" id="0$Z;t[Q!9Zw^3p=)eY]g"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="tgAR/:h9PUL*ahqGfksn"> <field name="TEXT">+++ Thorsten ist anwesend +++</field> </shadow> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="update" id="m`ZKqcoU0%:gIzEDeNqi"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Anwesenheit.Anwesenheit_Thorsten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="}T6de5pJFM[LC8Z(/8kS"> <field name="TEXT">abwesend</field> </block> </value> <next> <block type="debug" id="IYf=V%/#m_,zOb_)Tp%x"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="`}dCSyDMI^HbUOpp}!0k"> <field name="TEXT">+++ Thorsten ist abwesend +++</field> </shadow> </value> </block> </next> </block> </statement> <next> <block type="debug" id="feUUz(DpxrIZd^%{o-_l" collapsed="true" disabled="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="fNnQZ2zXpi2=)h.T{`LK"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="O*3[+VphvR:*f`xi%gm|"> <mutation items="7"></mutation> <value name="ADD0"> <block type="text" id="byC}oq-Q^o/@tXQGlSe|"> <field name="TEXT">Aktuelle Uhrzeit: </field> </block> </value> <value name="ADD1"> <block type="convert_from_date" id=",k/q~,Fr/A]-y0k[O:Bn"> <mutation format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">JJJJ.MM.TT SS:mm:ss.sss</field> <value name="VALUE"> <block type="variables_get" id="aqY,!BBS3vFg(-wuF.zy"> <field name="VAR" id="oRhIzMXKnJNKV_V{H?LF" variabletype="">aktuelle_uhrzeit</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="tF.0b/hihcrtt`9k@ufP"> <field name="TEXT"> | </field> </block> </value> <value name="ADD3"> <block type="text" id="2SSTbE8R|xcBl`{P3UJ%"> <field name="TEXT">last_seen jenny: </field> </block> </value> <value name="ADD4"> <block type="convert_from_date" id="EuSMks=F/g1G0oQJ_|/)"> <mutation format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">JJJJ.MM.TT SS:mm:ss.sss</field> <value name="VALUE"> <block type="variables_get" id="AMU]HWwsjFwh!~DfSD!A"> <field name="VAR" id="FaqLR/(Vfk(Y-#s-7E%`" variabletype="">last_seen_jenny_ts</field> </block> </value> </block> </value> </block> </value> <next> <block type="controls_if" id="N}W%s5Z,{/Z;Ytrf3}dN"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="-(~{Fb2a9em3_q(j+PGt"> <field name="OP">LTE</field> <value name="A"> <block type="math_arithmetic" id="w@A:XR#dlsEQ;0GL#riE"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="9hM*sO57r/pj=EW.;R*x"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="f(*If9z;a,~LHsBUsV51"> <field name="VAR" id="oRhIzMXKnJNKV_V{H?LF" variabletype="">aktuelle_uhrzeit</field> </block> </value> <value name="B"> <shadow type="math_number" id="e}Q)ytnk|qES61y{Q4(;"> <field name="NUM">1</field> </shadow> <block type="variables_get" id=":/CGxKcHlrMX8ZA,64I!"> <field name="VAR" id="FaqLR/(Vfk(Y-#s-7E%`" variabletype="">last_seen_jenny_ts</field> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="5Y=ldc{EH+*!JG?O1TwR"> <field name="VAR" id="`BmY|d0AKZ`SR(Nl]CF/" variabletype="">timestamp_diff</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="alVfxkvB+BI1%/l?9qn_"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Anwesenheit.Anwesenheit_Jenny</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="N;z}^!RGRpq.4zA4R(eE"> <field name="TEXT">anwesend</field> </block> </value> <next> <block type="debug" id="6Lp(Py}AOj?1D]6K%*Xn"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="V!M}dfq,RlvK{RY8,aC+"> <field name="TEXT">+++ Jenny ist anwesend +++</field> </shadow> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="update" id="+s6T;I])9Cnp8?l:9Fi("> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Anwesenheit.Anwesenheit_Jenny</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="+Lpx%a/BQ0+!WT5p+ikQ"> <field name="TEXT">abwesend</field> </block> </value> <next> <block type="debug" id="GryKo|b?7s8e=y[|$DT7"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="cl4;]UO)JU:})U28};rg"> <field name="TEXT">+++ Jenny ist abwesend +++</field> </shadow> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
Boah...das ist mir zu krass
Bisher bin ich nur mit Blockly unterwegs da es mir nur um die Umrechnung des timestamps geht fällt es mir schwer das zu extrahieren...
Gruß, Philipp
-
DAS über dir IST ein Blockly
-
@Pihero Einfach das ganze XML Schema markieren und im Blockly-Editor importieren
-
@darkiop Danke für das Skript. Die 80.000 bei timestamp_diff sind das Millisekunden? Also 80 Sekunden?
-
@Markus84 genau
-
Ok, das mit dem Import hat geklappt aber ...
Ich möchte eigentlich nur einen Timestamp wieder in eine Uhrzeit umrechnen.
Folgend ein Bild meiner Wetterabfrage der heimischen Wetterstation:
Ich hab schon versucht die Informationen aus darkiop's Blockly zu verwenden Ergebnis ist aber "0". Zumindest so wie ich es jetzt probiert habe.
Kann mir jemand noch einen Tipp geben?
Danke und Gruß, Philipp
-
Hallo,
kann mir bitte jemand bei diesem Thema helfen?
Ich wundere mich das ich dazu nicht wirklich was finde...Timestamp mit blockly umrechnen klingt irgendwie nach Basic-Funktion.
Danke und Gruß, Philipp
-
was genau brauchst Du denn ?
Beispiel:
Ergebnis:
Test: 26.05.2020 16:10:59
oder eben letzte Änderung...
Test: 26.05.2020 13:11:58
oder
am 26.05.2020 um 16:27:02
-
alles klar das ist genau das was ich suche
Danke!
-
Ich habe ein Problem mit der Konvertierung von Timestamp.
Der Timestamp 1671658670 erzeugt bei der Konvertierung folgendes Zeit:
Tue Jan 20 1970 09:20:58 GMT+0100 (Mitteleuropäische Normalzeit)Richtig wäre aber Mittwoch, 21. Dezember 2022 22:37:50.
Wo liegt mein Fehler?
-
@kleinesa Prüf mal die Systemzeit auf dem Rechner wo der ioBroker installiert ist.
A.