NEWS
Test Freestyle Libre LibreLinkUp
-
Ich habe dein Blockly noch nicht richtig verstanden.
Du schreibst Datum liegt in: libre.X.general.sensor.a
Und wo ist der DP im blockly ?
Und wie rechnest du diesen dann um ?Weiterhin zeigt dein eingestelltes Blockly andere DP als der Scrrenshot:
-
@bahnuhr
Der Datenpunkt "letzter Tausch" ist ein Alias und hinter diesem liegt "libre.X.general.sensor.a".Der Datenpunkt "libre.X.general.sensor.a" ist das Aktivierungsdatum des Sensors im Handy, dies ist allerdings ein Hex Format. Um dies in ein normales Datum umzuwandeln und die Differenz von heutigen Datum abzuziehen, also das Alter des Sensors, benötigt man diesen Teil vom Blockly:
Wenn man aber nicht das Alter des Sensors haben will, sondern nur das Datum der Aktivierung reicht auch dies:
Der Rest vom Blockly ist nur da um die Restlaufzeit in Tagen von den Stunden zu trennen und darzustellen, das schaut dann in der Visualisierung so aus:
-
@skyx3
Ich habe nochmal einen kleinen Rundungsfehler behoben und die Titel etwas besser beschrieben:<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="#vzG9aWhz|;gfN4n)T6g">Alter des Sensors</variable> <variable id=".J)CTmL9ogje^96O(sCE">Restlaufzeit</variable> <variable id="|ID!mE{~=VpHFy^j]V!1">Restlaufzeit abzüglich Tage</variable> </variables> <block type="schedule" id="I#B83b9;5pM~~a$iXQZ1" x="137" y="-113"> <field name="SCHEDULE">*/5 * * * *</field> <statement name="STATEMENT"> <block type="controls_if" id="n`bmzZWzu=LPf*mGDEvo"> <value name="IF0"> <block type="logic_compare" id="EQltsvUgTL=a9gN~t{::"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="ia^=UK`~pk}@BwDTV33o"> <field name="ATTR">val</field> <field name="OID">alias.0.Diabetes.letzter_Tausch</field> </block> </value> <value name="B"> <block type="math_number" id="azRCG4}6jg|Qn!NqN[}}"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="Wkzt1E/0QY14wRtcjxF9"> <field name="COMMENT">Berechnung Alter des Sensors</field> <next> <block type="variables_set" id="COS^[FTn{:6~p6Tjk!9t"> <field name="VAR" id="#vzG9aWhz|;gfN4n)T6g">Alter des Sensors</field> <value name="VALUE"> <block type="math_arithmetic" id="UE4!x7Vjk+7rAk*}[yE_" inline="false"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="AK7y#r-ZL(}A4/m=hGO~"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="$|Q8O#N%jeacsaO4/-J2" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="qfh3jPJ`WsFp{~_qSa^b"> <field name="NUM">1</field> </shadow> <block type="time_get" id="Z~U95u;zD?u?D{jt_N)I"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> </block> </value> <value name="B"> <shadow type="math_number" id="4sqSFY4JQTFiU~gh?7+j"> <field name="NUM">1</field> </shadow> <block type="convert_from_date" id="/N#)J@bQC_V3bG+EENqy"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> <value name="VALUE"> <block type="math_arithmetic" id="31!zp]DxJ=tpoWbzEG%r"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="25bG(UE8?^ipR|d;h0X("> <field name="NUM">1</field> </shadow> <block type="get_value" id="x,6==aKcyyVwk4U[^xR9"> <field name="ATTR">val</field> <field name="OID">alias.0.Diabetes.letzter_Tausch</field> </block> </value> <value name="B"> <shadow type="math_number" id="oukO+j9+c,S6Qw:Hz/d|"> <field name="NUM">1000</field> </shadow> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="i?4JJp?zv6!;h0l{#xV@"> <field name="NUM">86400000</field> </shadow> </value> </block> </value> <next> <block type="comment" id="$BgyJiO(EkH@`s1Fv$FV"> <field name="COMMENT">Berechnungs Restlaufzeit des Sensors</field> <next> <block type="variables_set" id="{[eT-N=C*JQ1]S9oeotQ"> <field name="VAR" id=".J)CTmL9ogje^96O(sCE">Restlaufzeit</field> <value name="VALUE"> <block type="math_arithmetic" id="nP_~7A|@R~1MuU+PYWZM"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="[Uo2upe@*N_2hCvEzdPn"> <field name="NUM">14</field> </shadow> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="ECP_(j@L[Oh+p6-uG?a#"> <field name="VAR" id="#vzG9aWhz|;gfN4n)T6g">Alter des Sensors</field> </block> </value> </block> </value> <next> <block type="variables_set" id="T^FCprlb7KwI;i2xhA7}"> <field name="VAR" id="|ID!mE{~=VpHFy^j]V!1">Restlaufzeit abzüglich Tage</field> <value name="VALUE"> <block type="math_arithmetic" id=";WF{/suilbVRR#QThgs_"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="i`raoCs/gN,Gqqv%!QYJ"> <field name="NUM">1</field> </shadow> <block type="math_rndfixed" id="vJ8.eP*j..35i@+#7lw`"> <field name="n">2</field> <value name="x"> <shadow type="math_number" id="Jly4J1e]Y^g9x59+0w7d"> <field name="NUM">3.1234</field> </shadow> <block type="variables_get" id="(LwY1RkqIr-U=*^!dnzj"> <field name="VAR" id="#vzG9aWhz|;gfN4n)T6g">Alter des Sensors</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id=":pUl5xa?y0$B@xx?fgSz"> <field name="NUM">1</field> </shadow> <block type="math_round" id="7/IM.yFR.Hb=I2~Ekr+%"> <field name="OP">ROUNDDOWN</field> <value name="NUM"> <shadow type="math_number"> <field name="NUM">3.1</field> </shadow> <block type="variables_get" id="RQ^8X;p!CtDrNuX3h?us"> <field name="VAR" id="#vzG9aWhz|;gfN4n)T6g">Alter des Sensors</field> </block> </value> </block> </value> </block> </value> <next> <block type="comment" id="4Wu/(q;Aiwh:Vqd4#BYT"> <field name="COMMENT">Text Visualisierung</field> <next> <block type="update" id="H7yk;!er?J7eX5mKek`V"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.VirtuelleDevices.Diabetes.Sensor_Alter</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="|MP[)C0zLk4~X@KE6BBP"> <mutation items="9"></mutation> <value name="ADD0"> <block type="text" id="J=3|NL*6-umJ$4{gNge|"> <field name="TEXT">Sensor in Verwendung: <b><br></field> </block> </value> <value name="ADD1"> <block type="math_round" id="sGC$y!ZRDxZU6)uNsoUJ"> <field name="OP">ROUNDDOWN</field> <value name="NUM"> <shadow type="math_number" id="tJyFJ)9$Y$l8l)W_v}J*"> <field name="NUM">3.1</field> </shadow> <block type="variables_get" id="l5B,d0rc%-bDQ$NZ*{8k"> <field name="VAR" id="#vzG9aWhz|;gfN4n)T6g">Alter des Sensors</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="NW72.wY%0C%$PI/X-u3Z"> <field name="TEXT"> Tage und </field> </block> </value> <value name="ADD3"> <block type="math_round" id="*]ttQE:1J:O|Et4$bnLw"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="CQ3=T]I8cu}C6#:1/ZH/"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="?roZ)r%e}B9Rk*/!1EqE"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="oE9fs:Y+ks4{Pw7I679t"> <field name="NUM">24</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="ab!!Vw@b.AT4R/,f8Nr4"> <field name="NUM">10</field> </shadow> <block type="variables_get" id="%Q0P_y{sahwdL!,J-u7Q"> <field name="VAR" id="|ID!mE{~=VpHFy^j]V!1">Restlaufzeit abzüglich Tage</field> </block> </value> </block> </value> </block> </value> <value name="ADD4"> <block type="text" id="Kwk~aOYZ]aTv$;An)hYj"> <field name="TEXT"> Stunden</b><br>Sensortausch in:<br><b></field> </block> </value> <value name="ADD5"> <block type="math_round" id="bOa%obujAW?^M(pkPe#G"> <field name="OP">ROUNDDOWN</field> <value name="NUM"> <shadow type="math_number" id="aV-dj.lG?gq#)W~;@qPn"> <field name="NUM">3.1</field> </shadow> <block type="variables_get" id="VAbuvB(I;#)![^PNr=EF"> <field name="VAR" id=".J)CTmL9ogje^96O(sCE">Restlaufzeit</field> </block> </value> </block> </value> <value name="ADD6"> <block type="text" id="(vxP]A;5@$hEFSp-uVb*"> <field name="TEXT"> Tagen und </field> </block> </value> <value name="ADD7"> <block type="math_round" id="b@:vu@cZ$D$dee^?geJo"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="BOOmywVUR8k9DZoOy@1}"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="=Bm!TOb]M}Xh%5B?4_g,"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="6SF]LI8U*R@f{,wA/.*T"> <field name="NUM">24</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="7tkH!L`~yYdlmiC7g0IU"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="j=ToU[KCR-xh`tW[2=B7"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="Gds8Z,-mPg]G?_g]NW_C"> <field name="NUM">24</field> </shadow> </value> <value name="B"> <shadow type="math_number"> <field name="NUM">10</field> </shadow> <block type="variables_get" id="]!Kxw{K1nDOatT|jB3b1"> <field name="VAR" id="|ID!mE{~=VpHFy^j]V!1">Restlaufzeit abzüglich Tage</field> </block> </value> </block> </value> </block> </value> </block> </value> <value name="ADD8"> <block type="text" id="nd7Jd+!.5-wyo9}PT4^7"> <field name="TEXT"> Stunden</field> </block> </value> </block> </value> <next> <block type="comment" id="/Y3J`fOKQ(JAU;Iu{8L}"> <field name="COMMENT">Datenpunkt für Trigger</field> <next> <block type="update" id="qeZrB9`8sIS)g#0bn334"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.VirtuelleDevices.Diabetes.Sensor_Alter_2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_tonumber" id="5nw]@W06Tgu0(*dY-WQ`"> <value name="VALUE"> <block type="variables_get" id="{{c]uj.R4(r)K0{!X:K%"> <field name="VAR" id=".J)CTmL9ogje^96O(sCE">Restlaufzeit</field> </block> </value> </block> </value> <next> <block type="comment" id="gjnt5~YilkeSR?E0[JOn"> <field name="COMMENT">Aktivierungsdatum des Sensors</field> <next> <block type="update" id="a*lh,xvJ/z,TMsb}LRDj"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.VirtuelleDevices.Diabetes.Aktivierungsdatum_Sensor</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_from_date" id="aClZMSP(^0(^0SpO`TmH"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">TT.MM.JJJJ SS:mm</field> <value name="VALUE"> <block type="math_arithmetic" id="TDNCEyX%A0f3B_3=Id=m"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="get_value" id="!FNVD?@zF[Ln+O$WI,q#"> <field name="ATTR">val</field> <field name="OID">alias.0.Diabetes.letzter_Tausch</field> </block> </value> <value name="B"> <shadow type="math_number" id=")_,chWXajhl91ir8u#d{"> <field name="NUM">1000</field> </shadow> </value> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </xml>
-
Hat Libre wieder etwas geändert ?
Im log kommt:
libre.0 2023-10-04 15:41:26.246 error Login failed. Please check your credentials and login to the app and accept the terms of use.
edit:
Erledigt.
Beim Handy abmelden und dann wieder anmelden. Klappt. -
@skyx3 sagte in Test Freestyle Libre LibreLinkUp:
Datenpunkt "libre.X.general.sensor.a" ist das Aktivierungsdatum des Sensors
Hat bei meinem letzten Sensor nicht geklappt.
DP wird nicht aktualisiert.Klappt das bei dir noch ?
-
Hallo, ich möchte die BZ-Werte meiner Tochter, die ich in der LibreLinUp App sehen kann, auch in den iobroker übernehmen und weiter verarbeiten. Mit dieser libre-Adapter soll das ja klappen. Leider schaffe ich das noch nicht.
Installiet habe ich zuerst die version 0.0.4 und jetzt die 0.0.5.
Im Log steht:... libre.0 2023-12-11 08:25:41.932 info terminating libre.0 2023-12-11 08:25:41.430 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason libre.0 2023-12-11 08:25:41.429 debug Plugin sentry destroyed libre.0 2023-12-11 08:25:41.427 info terminating libre.0 2023-12-11 08:25:41.425 info Got terminate signal TERMINATE_YOURSELF libre.0 2023-12-11 08:25:35.020 error {"status":0,"data":{"redirect":true,"region":"eu"}} libre.0 2023-12-11 08:25:35.019 debug {"status":0,"data":{"redirect":true,"region":"eu"}} libre.0 2023-12-11 08:25:33.973 info starting. Version 0.0.5 (non-npm: TA2k/ioBroker.libre#dac7569094db0d63e5e867a0ca41ec11e0f1a22f) in /opt/iobroker/node_modules/iobroker.libre, node: v18.17.1, js-controller: 5.0.12 ...
die libre-Instanz zeigt das rote X bei "Verbunden mit Gerät oder Dienst"
App-Email und App-Password sind korrekt eingetragen. Was kann ich noch tun?
danke und Gruß -
@best57 Ist dein Account in Deutschland angemeldet? du könntest in der region Einstellung in der Instanz mal eu probieren statt de
-
@best57 sagte in Test Freestyle Libre LibreLinkUp:
node: v18.17.1
Ist ein totes Gleis. Bring das per
iob nodejs-update
auf den aktuellen Stand. Ggf. zuvor
iob fix
ausführen. -
@thomas-braun @tombox
danke, eure Tipps haben geholfen. Laut LOG kommen jetzt regelmäßig alle Daten an. Nun habe ich aber noch das gleiche Problem, wie @skyx3 oben beschrieben. Die Datenpunkte in libre.x.xxx.general.glucoseMeasurement werden nicht aktualisiert. Wohl aber alle in libre.x.xxx.graph.graphDataxx. Gibts da noch einen Hinweis? Wie hat @skyx3 das gelöst?
danke & Gruß -
@best57 mal debug log einschalten und schauen was für Daten kommen
-
@tombox debug-LOG ist aktiv. Da sehe ich, dass alle Daten ankommen und wie ich schon sagte, die Objekte in .graphDataxx werden regfelmäßig aktualisiert.
log-Auszug:
{"FactoryTimestamp":"12/12/2023 8:47:54 AM","Timestamp":"12/12/2023 9:47:54 AM","type":1,"ValueInMgPerDl":95,"TrendArrow":3,"TrendMessage":null,"MeasurementColor":4,"GlucoseUnits":1,"Value":95,"isHigh":false,"isLow":false}
-
@best57 general information werden nur bei adapter start aktualisiert graph wird im interval aktualisiert
gibt es Daten die nicht im graph sind?
-
@tombox ok, das war mir nicht klar. Dann muss ich mit den Daten im graph auskommen. Ich denke, das wird gehn.
-
@best57 Ich kann auch die general data regelmässig aktualisieren aber bisher war das keine Anforderung
-
@tombox ich werde mein Projekt schrittweise ausbauen. Falls es erfoderlich sein soll, komme ich auf dein Angebot zurück. Danke jedenfalls!
-
@bahnuhr Ja, funktioniert noch.
-
@best57 Ich lasse den Adapter alle 60sec via Skript neustarten.
-
@g-hawk Ich versuche das Blockli zum laufen zu bekommen der Datenpunkt über alex geht aber alles andere nicht kannst du mir helfen
gruß Marko -
@bahnuhr sagte in Test Freestyle Libre LibreLinkUp:
@skyx3 sagte in Test Freestyle Libre LibreLinkUp:
Datenpunkt "libre.X.general.sensor.a" ist das Aktivierungsdatum des Sensors
Hat bei meinem letzten Sensor nicht geklappt.
DP wird nicht aktualisiert.Klappt das bei dir noch ?
Habe immer noch das Problem, dass bei einem Sensorwechsel das Datum (libre.X.general.sensor.a) nicht aktualisiert wird.
Vielleicht kann man sich dies mal anschauen.
Nur ein Neustart des Adapters hilft dann. -
Hallo,
ich habe mir den Adapter heute zum ersten Mal installiert, Version 0.0.4 (so wurde sie in iobroker angeboten). Es treten aber die folgenden Fehler auf:
2024-03-08 15:59:25.538 error {"data":{"minimumVersion":"4.7.0"},"status":920}
2024-03-08 15:59:25.537 error AxiosError: Request failed with status code 403Hab ich da nicht die aktuellste Version? Wenn nein, wie kann ich die installieren?
Vielen Dank, Gruß
Sven