From 7c9e19831121c75db7879cd166c004e122828f89 Mon Sep 17 00:00:00 2001 From: Joerg Lehmann Date: Wed, 17 Mar 2021 17:20:20 +0100 Subject: [PATCH] better more commits than less... --- metrics.go | 43 ++++++++++++-------- static/favicon.ico | Bin 5430 -> 5430 bytes static/images/wo-bisch-logo-64x64.png | Bin 1455 -> 1449 bytes static/images/wo-bisch-logo-mit-schrift.png | Bin 0 -> 2559 bytes static/images/wo-bisch-logo-spitz-28x28.png | Bin 0 -> 904 bytes templates/layout.html | 2 +- 6 files changed, 27 insertions(+), 18 deletions(-) create mode 100644 static/images/wo-bisch-logo-mit-schrift.png create mode 100644 static/images/wo-bisch-logo-spitz-28x28.png diff --git a/metrics.go b/metrics.go index ad061cd..d76e160 100644 --- a/metrics.go +++ b/metrics.go @@ -19,6 +19,7 @@ type OneMetric struct { Alias string Readonly bool Timestamp string + PosTimestamp string Lat string Lon string LatJS template.JS @@ -205,9 +206,10 @@ func getLastMetrics(deveui string) OneMetric { url := "http://localhost:8086/api/v2/query?org=wobischorg" data := []byte(fmt.Sprintf(`from(bucket:"wobischbucket") |> range(start:-365d) + |> tail(n:10) |> filter(fn: (r) => r._measurement == "measurement" and r.deveui == "%s") - |> filter(fn: (r) => r._field == "lat" or r._field == "lon" or r._field == "vbat" or r._field == "fw") - |> last(column: "_time") |> yield(name: "last")`, deveui)) + |> filter(fn: (r) => r._field == "lon" or r._field == "lat" or r._field == "vbat" or r._field == "fw") + |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")`, deveui)) req, err := http.NewRequest("POST", url, bytes.NewBuffer(data)) if err != nil { @@ -243,32 +245,39 @@ func getLastMetrics(deveui string) OneMetric { for scanner.Scan() { s := strings.Split(scanner.Text(), ",") fmt.Printf("BlaBla: %v\n", s) - if (len(s) >= 7) && !(strings.HasPrefix(s[5], "_")) { - mytime, err := time.Parse(time.RFC3339, s[5]) + if (len(s) >= 12) && !(strings.HasPrefix(s[3], "_")) { + t, err := time.Parse(time.RFC3339, s[3]) if err != nil { + fmt.Printf("error converting time: %s\n", s[3]) continue } - res.Timestamp = mytime.In(location).Format("02.01.2006 15:04") - value := s[6] - field := s[7] - if field == "lat" { - res.Lat = value - res.LatJS = template.JS(value) - } else if field == "lon" { - res.Lon = value - res.LonJS = template.JS(value) - } else if field == "vbat" { - res.Vbat = value - } else if field == "fw" { - res.Fw = value + + res.Fw = s[8] + res.Timestamp = t.In(location).Format("02.01.2006 15:04") + if s[9] != "0" { + res.Lat = s[9] + res.PosTimestamp = t.In(location).Format("02.01.2006 15:04") } + if s[10] != "0" { + res.Lon = s[10] + res.PosTimestamp = t.In(location).Format("02.01.2006 15:04") + } + res.BatteryPercent = s[11] + } + } + res.Deveui = deveui res.DeveuiJS = template.JS(deveui) + res.LatJS = template.JS(res.Lat) + res.LonJS = template.JS(res.Lon) + res.Alias = getDevAlias(deveui) res.Readonly = false res.ActiveUntil = getActiveUntil(deveui) res.DaysUntilDeactivated = CalcDaysUntil(res.ActiveUntil) + + fmt.Printf("Last Metrics: %v\n", res) return res } diff --git a/static/favicon.ico b/static/favicon.ico index 358d8c84d6175d4b40252c821abde00ea7987858..578b1b4f36bda72bbf1add1f229ceadcf0c42582 100644 GIT binary patch literal 5430 zcmdT|Noy2A6s}2vqe7Udh>FY1NkqW~^gNy-xZwig%}YQJZoj|`iVFydh$j)eh=`zI zaJ{G@pcj#-xu};>+zu*p(ox5Jey@9;>1nH`yJv~y$(QP`df)qA*YdhYV^XHW z&Rpp+W~nizhppW2>oVpkua~ipE@nL;{hqOZZif%QW2*nfI%5R?!?1$dpQ~6txfx&y zb>9=H;vL&Xlam9wsWlqV)*QyzmuYVf;O@n3i?-%)lVkL0m*Hp~ZOx(39(8P{_U{<_ z;IbZ=}%3jxJjB3Sqe(Q38tZS5Jczmce`siywTXWgdTn=Ex#+N4azmhwv@f>iv z32mK&6OHL(A+^7?Kwn}kPM!nKMreQJ_?;>~MfeUT)5i?PD>-6H-QP|G>YP^>cd+k+ zgClz=9X|(bbi@(uI&$+IOl&?G*>;O zX5zaghpp=2ZoRXqYp$)-poHH>xNOmv@4R~Fk7G68g{ptaov&*I{HDb(M-H5a;97Wd z&a-LNmKgGLqyfV@i@rXSoX1-P_a$uSP5ro+8#PR4>?efAO4^Q+%Ua%yc{TNQ13A1R zr_NqUl9PPP;cw4&X^%VPsIju02Bkn3K8 zIZiEu*myrs$phsqP|5(sw2z0KKq2LW4>xX1zo24FUQkXIvgLF!Th5exWXt})>U||$ z%vVx{yz;z7lXwzWbZAl-dWanH_x~xnjG4(wFNkN}Z_@5~zF{x+@BV{)Z4Xgo{WGqj29NJ=J1STb@np$*5PW5K6efX z)-%aN=0PwPi2Ksc$LfHOa9N|(yzk~+Eb$;F{CaElq+jcXCHa*>mmB+T7}yi9E+%-a#k=% z{0PL6>j5IcIl>(JOFfnPIa{AF+>ZAfQ_1@%XN@Ukj4ATuDu$04Gcw|1_~b;t_zCY1 DJctj+ literal 5430 zcmdT|OKTKC5Ux!kt5MvD2tLqVFB8h{3>gvaIhNwVoRH+c^ z3SI3YT17-%sO7o8gXjs`-ROe}ZH7p{Dd=C+7E0JLQ-8Tg#0MegYH|QI`u<1Z9&o*a za7{M$bYN}{>Lf&a?ahY$)^?nv7X)u|Ez;)Q zkPi^exn2K2{~WbWuX&Tlk8m&d<9P-2z8LWC%3An{hks|f2j1hs9!|%q1)p~Kka1Z# zSKD}P=0etnoquVcid*`hdBlOoTFYAao&$d&D;ikX{uBS52JoW}{P_m(CmncMdxdl# z-u$0P$EpSIbMVU??obPVZT4n-?&W!}9~0Mb3HIL|F}y=x(*A?ac}EM-KR?cr{LGgf z{4x%S0eP_J!sHx#)5$HEi^*IrEw2R5l>^PK?8n;>tV?$7H?@!oPZXKQ+L?z7pE#Ofo0GAd4fM-7;%T=S_TI97Yr?y6ZNgzAfKp z_$@?z#B0$Z&ZJ^|$XeI2h!2VRMmpB^YrZSVoJd|h<0YEvB?`(!)lw)EMIx0ktn~Xh PjmO7Bk+$l@Ua)@v^)Gs? diff --git a/static/images/wo-bisch-logo-64x64.png b/static/images/wo-bisch-logo-64x64.png index ec3d7350ea4d8158b4d4da01da6da7fa720093e7..629e8e8e1d5f305f3362127a0298487722efd084 100644 GIT binary patch delta 1368 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 gDS|ZfGB1hBA2-W`V9VJF8vp diff --git a/static/images/wo-bisch-logo-mit-schrift.png b/static/images/wo-bisch-logo-mit-schrift.png new file mode 100644 index 0000000000000000000000000000000000000000..c95166d4b9c16414a8382f63c5ba597f1aba2a2b GIT binary patch literal 2559 zcmV|wqP)EX>4Tx04R}tkv&MmKpe$iQ>7vm5j%)DWT=8*K~%(1t5Adrp;l;o12rOipZjz4s5y%P0g-r?8KzCVK|H-_ z8=UuvBdjQ^#OK6gCS8#Dk?V@bZ=4G*3p_Jorc?985n{2>#!4HrqNx#25l2-`r+gvf zvC4UivsSLM<~{if!#RCrnd>x%kia6AAVGwJDoQBBMvPXS6bmWZkNfxsUB5&wg;V;BhS0*#vEd>=bb;{*sk16O*>U#SB#pQP7X zTJ#9$-3BhMTbi;5T#X>GYS znfN1OSBFF}{IQ^m-~wU@EW3OA<2_fu9`5tJ&&#xoJ3eRTndf=Vx#!;doO|y1b>A0C zD4`Chq>!PC{}^x~Z~`zG*aEBpR#aepDY_D(vYZlNRe+Fj^#r&hz%iw?N@bZD;Po73 z(d+pD<4UQ$bCu=n0G$PuC0?5Y3@@ek4vS#|3ZI0&?7WfVUUUsx0z*JzUB?}J$?TK;w zn@o-e_E_=|6=NuGh6HWqCI;B%9to^7S=0+7fe)KZH(DQEITmINFwOMjexRKI`&>M- zu0RStJQ4Ud<**Ev!16&yI}+Gov`q;M__WblodW(8*e8BB0Nv&;2G$|OWx_uVxYBlY z#B~A}WCY0@UB>x6TYR0LEWUr$+BFGoo!z^f()^VGcP18pbxxLaVu0-lp1Cz9ez$z+ zKuP8NPWzPb{MK+=r9SXGX?wHuHO5?B9OLAI3bWCTf2;L5RQe0H>j9<i2Zp@o)bAC`P z>Q(~G%BbQ#5#XFq)p!C72rwtWD~Yz9q3Rd&;A)vnT+G>Gj{j@V^CfnPJL+1)oh5y= z+HO?1Ug+}-cLlK0T?@qJsatF2tp~Cy>@OJZQo${hm?PpIFc(nEnq8D5s~mnFuyLg-N`9&tM-NLoC~nfQ}je>Wu*W})CN6@hDQW(#ng1(7bIpqT>;kYnY!Ehn1@ zRIA;aWdW|Tj4j3pr-(&tHMtc@aqrBbwbhXMY4W_fV5ZpYl8^TtFkXOu0oK-e@EEUK z>Ig7nq`w&W!yAEA6)uxNYldj`nZmz8@FNoaKP>b!3e4wA(tc4Qv)CmWLM$OXC_Lj5 zsq%%uec}pwEOnkOd^gsZ*DE3mUsT;B{k*$IKdYqegq(I4NV_GD_F19*qQUHGH}LI) z$m@4nDp?d-#EP6Jafe!BPBj<8xztci6Atx+~ghwHO3;RTA0IVQ(yWf$}U+*YS`xwuXR z`@ZbDK=p*YBD-_1qx+z4k!brpBA`iZpDC8H zXu!Ncti*6L?J#o~pNWKO;~cdXFV#ZR@(yO*~f1TS*Ic+7myrh58) zjlKUw+I`uL`2(TN^$Ih{ei&6mS$=;I7HO6XKIb_4YN5U8D#;{L-Q8xQ)%?$|V?KX$ z^V#as{BE}Z8YDj^RpA{{2wP_9Yn;;$g@1(`uU(YrRja~&TIkE&e5VTSUcoOH{G%@Z z*yW0Y9j++YKy@u6?kqRvij0!S8%i@dQT_E-Tc|Exy)ae=Z*$d8sGj^r`gb$>81ED- zUhB=@)&pzBS~VpW)Au(ek$MiYz_i=(zh*nQ!Bw^IOU%7hj%dCi`0L#Gvok8a^8~-x z@k}>ssN;13KNbt!Dzwp#{~tmdpYqs%(4vfZ76i8gkZ zjosp6jhO9ic4t+?WI?_BrdbetKL`HsX`orBQ5FZTviTz!Tz`o(mH%W>tS9rz|4TEh z%N$B5A)zph0h*k$Tw6+}ggm7=GQb*BmSrL1e@rEmph`0=!1W=&lwCpzC6sU={119H VGJs$1o#y}m002ovPDHLkV1mUK*~$O_ literal 0 HcmV?d00001 diff --git a/static/images/wo-bisch-logo-spitz-28x28.png b/static/images/wo-bisch-logo-spitz-28x28.png new file mode 100644 index 0000000000000000000000000000000000000000..ef867dcd472319826d85f45fd41dcbb1c58ff662 GIT binary patch literal 904 zcmV;319$w1P)EX>4Tx04R}tkv&MmKp2MKrivmJ6)T81WT;LSL`5963Pq?8YK2xEOfLO{CJjl7 zi=*ILaPVib>fqw6tAnc`2>yV$xj8AiNQvJig%&a1aoodu-}`d+9U#<7Otad?0Zq5f zWIQIOGpl09D}v}nAI$-oS;m|sCEz>0?h)YoU6g0}*Zn!V)vU#UfJi*c4AUmwAfDc| z4bJ<-VOEe;;&b9LlP*a7$aTfzH_myN1)do;Q^|SaFtM0#VWovx!PJPSh$E_|Q@)V) zSmnIMSu0go`Uwzx2Cnp`zgz=mK1r`O zwa5|BvkhEaH#KDsxZD8-pA6ZQT`5RQ$mM|dGy0|s(0>bbt$BTGoa6KXNKvm6H^9Lm zFq)_Ab)R>4w)XAcnnwSA041h!h>MB1kN^Mx24YJ`L;(K){{a7>y{D4^000SaNLh0L z01ejw01ejxLMWSf00007bV*G`2jv405fT;*AORZy00D$aL_t(Y$Gw(4O9Md=hM)M= z_)&?4@$e5=XeU_v0fL1oQdx-j3nc3A5G9CM*@z%mSlKGrh@D`aM3EFhv``E0wb?*8 z_b$7aOBSXX-rZ-1ot+uz@yfXh1*1R#SOx;)t^hZ{Wez?wxsf0z*cLPdim`@ZOCABl z!TJTK381K*2?ja=`oNlYk`}fZbKtL_Vl0f&Z1}>)1a-?nM}mBdE-xrsbZ;ifoPqn6 zLv|AMC5yh~1ALBben`qdlgW>fJx{K%=`^<$>{<2&QC**9@2ti5>TuVZ#W&{y9I^QF z4#2?T8+HM{SbW8HZwM3}qyAqr1>ctU*!9fnFIggtJK#FzLze|pExJH(9HYJR`4+1Q zr7ILvjfDxi72j%em!gg~?cTd{2FkYo#K3;0C}*m)=IY1|ZIS6E#z(P2K+csG_l<9b9nr+Pjs|qH&GE)j>1n(`d581m*rqCt9kEyqdJ(->b eh0HRt+v^XZh4z_J8~f}40000