NEWS
History ändern oder ergänzen?
-
Gibt es eine Möglichkeit Daten zu einer History hinzuzufügen? Also ich schreibe immer einmal am Tag einen Datenpunkt in die History, habe aber vergessen, das für die letzten paar Tag anzuschalten. Allerdings weiss ich noch die Werte und würde diese jetzt gerne im Nachhinein hinzufügen.
Ähnliche Frage: Kann man zwei Histories zusammenlegen? Also z.B. wenn ein Temperatursensor kaputt geht, und ein neuer dann eine neue ID und eine neue History hat.
-
Geht beides.
Du kannst per Skript Daten in die History schreiben. Komplett mit eigenen Angaben.Hab neulich was anderes im Forum gefragt, die Lösung passt da aber auch.
https://forum.iobroker.net/topic/62075/zeitstemlel-von-sql-historyeintrag-manipulieren/3Über die Alias-ID (in den Settings verfügbar, wenn du die History für den Datenpunkt aktivkerst) kannst du die alten Werte in den neuen Datenpunkt übernehmen (streng genommen, verwendet der neue Datenpunkt dann den alten).
EDIT
Hab mich grade mal daran versucht Daten zu schreiben.
Mit diesem Blockly klappt es.<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="Civ)@a`PPOAP;Au`yrk7">id</variable> <variable id="He?L*;%S5ZxhQdVQ|nwK">value</variable> <variable id="}H`Md*ym;;=9MQYQ+d#g">ts</variable> <variable id="}FYTizs{~u7qb%G~dwNB">ack</variable> <variable id="mbSwYNv,Ng@m[=[1wvlp">from</variable> <variable id="n]Oh`3dmP!HF^Id)E2cC">q</variable> </variables> <block type="procedures_defcustomnoreturn" id="byaN9|n~rP|LoWSf8_V~" x="-187" y="-838"> <mutation statements="false"> <arg name="id" varid="Civ)@a`PPOAP;Au`yrk7"></arg> <arg name="value" varid="He?L*;%S5ZxhQdVQ|nwK"></arg> <arg name="ts" varid="}H`Md*ym;;=9MQYQ+d#g"></arg> <arg name="ack" varid="}FYTizs{~u7qb%G~dwNB"></arg> <arg name="from" varid="mbSwYNv,Ng@m[=[1wvlp"></arg> <arg name="q" varid="n]Oh`3dmP!HF^Id)E2cC"></arg> </mutation> <field name="NAME">Sql</field> <field name="SCRIPT">ewogICAgbGV0IHN0YXRlbWVudCA9IGAKICAgICAgICBSRVBMQUNFIElOVE8gaW9icm9rZXIudHNfbnVtYmVyIAogICAgICAgICAgICAoaWQsIHRzLCB2YWwsIGFjaywgX2Zyb20sIHEpIAogICAgICAgICAgICBWQUxVRVMgKChTRUxFQ1QgaWQgRlJPTSBpb2Jyb2tlci5kYXRhcG9pbnRzIFdIRVJFIG5hbWUgPSAiJHtpZH0iKSwgJHt0c30sICR7dmFsdWV9LCAke2Fja30sICR7ZnJvbX0sICR7cX0pCiAgICBgCiAgICAKICAgIHNlbmRUbygic3FsLjAiLCAicXVlcnkiLCBzdGF0ZW1lbnQsIGUgPT4gewogICAgICAgIGlmIChlICYmIGUuZXJyb3IpIHsKICAgICAgICAgICAgbG9nKGUuZXJyb3IpCiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gbG9nKCJEb25lISIpCiAgICAgICAgfQogICAgfSkKfQo=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_callcustomnoreturn" id="KIg}!gS-U_Q,4VS(Y;ag" x="-187" y="-787"> <mutation name="Sql"> <arg name="id"></arg> <arg name="value"></arg> <arg name="ts"></arg> <arg name="ack"></arg> <arg name="from"></arg> <arg name="q"></arg> </mutation> <value name="ARG0"> <block type="text" id="DxgSLx$~EyIX~8JHOLN!"> <field name="TEXT">0_userdata.0.sqlnummer</field> </block> </value> <value name="ARG1"> <block type="math_number" id="VwIr0SM1gpzH}fLap/,5"> <field name="NUM">9</field> </block> </value> <value name="ARG2"> <block type="time_get" id="v8^^Zqii`2`lnLSSwwpz"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> </block> </value> <value name="ARG3"> <block type="math_number" id="9$_Ioh[7,!JS0{?tgRI+"> <field name="NUM">1</field> </block> </value> <value name="ARG4"> <block type="math_number" id="24j,lq_?zyj-~=}ej%@,"> <field name="NUM">1</field> </block> </value> <value name="ARG5"> <block type="math_number" id="J{v_.^f0|TOmC)1c3!QP"> <field name="NUM">0</field> </block> </value> </block> </xml>
-
@david-g said in History ändern oder ergänzen?:
<xml xmlns="https://developers.google.com/blockly/xml">
Danke, wie kann man denn bei Blockly eine beliebige Zeit angeben? Ich finde da nur aktuelle Zeit.
-
-
@david-g Ok, das klappt jetzt. Aber wenn ich das skript laufen lasse passiert rein gar nichts.
-
Was steht im Log?
Unter ID ein nen Datenpunkt einegtragen, wo in der Datenbank schon was zu geschrieben steht (muss sein, sonst findet das Skript nicht, wo es den Wert hinlegen soll)?