Hallo zusammen,
mit der Hilfe von @SpacerX, seinem Beitrag und @mickym habe ich es geschafft, den Durchschnitt der Werte aus den gespeicherten Daten in der InfluxDB auslesen und diesen dann in einen Datenpunkt zu schreiben.
Ich wollte euch daher an meiner Lösung teilhaben lassen:
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="fYyJ=y.Qe_5LkMTl8V]">flux</variable>
<variable id="N,zaD%}Jd:vQKKFbFFom">result</variable>
</variables>
<block type="on" id="HJqJD14VObvA5xdkp@XP" x="-37" y="-163">
<field name="OID">hass.0.entities.sensor.pro_6000_3bd3_toothbrush_state.state</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="debug" id="te$c!Vg
9eR)94,quVP|" disabled="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="QX$
6aE=K%p44m(mkx/i"><field name="TEXT">test</field>
</shadow>
<block type="get_value" id="jiHp,qVh5
DKN98lVUV/"> <field name="ATTR">val</field> <field name="OID">hass.0.entities.sensor.pro_6000_3bd3_toothbrush_state.state</field> </block> </value> <next> <block type="logic_switch_case" id="$/or(OmT2,SMkN)8EA*_"> <value name="CONDITION"> <block type="on_source" id="c8HD^oXkr2e,/pkjT.j]"> <field name="ATTR">state.val</field> </block> </value> <value name="CASECONDITION0"> <block type="text" id="?5NYDLmMi
(kUD_U+(xd"><field name="TEXT">idle</field>
</block>
</value>
<statement name="CASE0">
<block type="control" id="?OcHgJV3B,(asS=j--0y">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.zahnbuerste.aktuell</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="convert_tonumber" id="/P:1PQZi}@LF!Sp9WtJV">
<value name="VALUE">
<block type="get_value" id="9v%[/]Yw[6eb8kSrO=WT">
<field name="ATTR">val</field>
<field name="OID">hass.0.entities.sensor.pro_6000_3bd3_time.state</field>
</block>
</value>
</block>
</value>
<next>
<block type="timeouts_wait" id="+FfQdUxfvl@BqV},E!S7">
<field name="DELAY">2</field>
<field name="UNIT">sec</field>
<next>
<block type="variables_set" id="_4XQaNkrIdT3K7C}Pwy)">
<field name="VAR" id="fYyJ=y.Qe_5LkMTl8V]">flux</field>
<value name="VALUE">
<block type="text_join" id="E5dUqCwNmdqcA;./7z%{">
<mutation items="7"></mutation>
<value name="ADD0">
<block type="text" id="tcx}m-3FTybo6=5]gXA(">
<field name="TEXT">from(bucket: "iobroker")</field>
</block>
</value>
<value name="ADD1">
<block type="text" id="q!LCP;p6RX~it#=YHQ+j">
<field name="TEXT">|> range(start: -14d, stop: now())</field>
</block>
</value>
<value name="ADD2">
<block type="text" id="v+sulC@Snmcu2-1W{(25">
<field name="TEXT">|> filter(fn: (r) => r["_measurement"] == "0_userdata.0.zahnbuerste.aktuell")</field>
</block>
</value>
<value name="ADD3">
<block type="text" id=",.kRg7LzKj0}5aMl3PM,">
<field name="TEXT">|> filter(fn: (r) => r["_field"] == "value")</field>
</block>
</value>
<value name="ADD4">
<block type="text" id="=K}m~te3@c?$GQc%DWvN">
<field name="TEXT">|> group(columns: ["host", "_measurement"], mode:"by")</field>
</block>
</value>
<value name="ADD5">
<block type="text" id="
_e)f3f;(:7N[eGGx@|f"> <field name="TEXT">|> mean()</field> </block> </value> <value name="ADD6"> <block type="text" id="6=q+$;K8OZv*J(54zhp}"> <field name="TEXT">|> yield(name: "single_avg")</field> </block> </value> </block> </value> <next> <block type="sendto_custom" id="]Z_xq8=!F4a-E1,RBDD2"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="" with_statement="true"></mutation> <field name="INSTANCE">influxdb.0</field> <field name="COMMAND">query</field> <field name="LOG"></field> <field name="WITH_STATEMENT">TRUE</field> <value name="ARG0"> <shadow type="text" id="yv_a*bq^?@[:
)e,1?#6"><field name="TEXT"></field>
</shadow>
<block type="variables_get" id="JOt^(8s6}Ee!0+.V[[#">
<field name="VAR" id="fYyJ=y.Qe_5LkMTl8V]">flux</field>
</block>
</value>
<statement name="STATEMENT">
<block type="control" id="_QX^XF]w!Re-Zxe-peA)">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">0_userdata.0.zahnbuerste.durchschnitt</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="convert_tonumber" id="-nw^BVo.YE35^1:K!G!6">
<value name="VALUE">
<block type="get_attr" id="BM{GEK:hW7/Ea4!O$IPL">
<value name="PATH">
<shadow type="text" id="Mn;So+A)ncB?1FFb:7MY">
<field name="TEXT">result.0.0._value</field>
</shadow>
</value>
<value name="OBJECT">
<block type="convert_object2json" id=")ED+aWOtQ{Npb0sy@c.">
<field name="PRETTIFY">TRUE</field>
<value name="VALUE">
<block type="variables_get" id="Y5K++EYI$X2(%cXjy2Yn">
<field name="VAR" id="N,zaD%}Jd:vQKKFbFFom">result</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="debug" id=",
[nl_,71Tzvs(]ZZGp0"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="~=QzzFT2m#4#Fb3R4yz="> <field name="TEXT">test</field> </shadow> <block type="convert_tonumber" id="dk@3yGhr
1G^5^LS(;V"><value name="VALUE">
<block type="get_attr" id=",G;cxxz[Lf]xXm)^p:X+">
<value name="PATH">
<shadow type="text" id="o+=S7dn|/OY#6Wcc9pdM">
<field name="TEXT">result.0.0._value</field>
</shadow>
</value>
<value name="OBJECT">
<block type="convert_object2json" id="|Ta;,0qe?ZtKwOO)dD,$">
<field name="PRETTIFY">TRUE</field>
<value name="VALUE">
<block type="variables_get" id="ch!DPazljsLz1:R(edb]">
<field name="VAR" id="N,zaD%}Jd:vQKKFbFFom">result</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
</xml>
Ich greife die Zeit meiner Zahnbürste über das Home Assistant Addon ab (dort ist eine Oral B Integration vorhanden). Dazu müssen noch 2 Datenpunkte angelegt werden, aber das seht ihr ja im Blockly Code. Die Datenbankabfrage funktioniert nur mit der Version 2.x. In diesem Beitrag wurde mir geholfen von 1.x auf 2.x zu updaten.