Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Script - Messwert dämpfen

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    118

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

Script - Messwert dämpfen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascriptblocklytemplate
1 Beiträge 1 Kommentatoren 475 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    SuFra
    schrieb am zuletzt editiert von Jey Cee
    #1

    Hallo, da ich schon viel von dem Forum profitiert habe möchte ich auch was zurück geben.

    Um schwankende/streuende Messwerte zu dämpfen verwende ich folgendes Script/Blockly:

    blockly 1.jpg


    <xml xmlns="http://www.w3.org/1999/xhtml">
    <variables>
    <variable type="" id="kRhg6c?fJoJ9=+LlrgA">wert_alt</variable>
    <variable type="" id="(TABrixguC}L}$SJVufv">wert_neu</variable>
    <variable type="" id="7@ka{W0ZcZB2/**V0U6
    ">wichtung</variable>
    <variable type="" id="lfJi=yL5G#a:Dd7PtwU8">result</variable>
    <variable type="" id="1M(LjWsX%UA(R)fKp??#">mittelwert</variable>
    </variables>
    <block type="procedures_defreturn" id="B#E__0$8BpSc7r[Bofss" x="-237" y="463">
    <mutation>
    <arg name="wert_alt" varid="kRhg6c?fJoJ9=+LlrgA"></arg>
    <arg name="wert_neu" varid="(TABrixguC}L}$SJVufv"></arg>
    <arg name="wichtung" varid="7@ka{W0ZcZB2/**V0U6
    "></arg>
    </mutation>
    <field name="NAME">Mittelwert</field>
    <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
    <statement name="STACK">
    <block type="variables_set" id="Zi1FnxY2kj4lviI7i,e2">
    <field name="VAR" id="1M(LjWsX%UA(R)fKp??#" variabletype="">mittelwert</field>
    <value name="VALUE">
    <block type="variables_get" id=",!3YAuQN)lMpRR:uzC4k">
    <field name="VAR" id="_kRhg6c?fJoJ9=+LlrgA" variabletype="">wert_alt</field>
    </block>
    </value>
    <next>
    <block type="variables_set" id="0@Rf;rIK5zvOAwPQQ~v"> <field name="VAR" id="1M(LjWsX%UA(R)fKp??#" variabletype="">mittelwert</field> <value name="VALUE"> <block type="math_arithmetic" id="W]H*D_nL_0:uWa^8SoK*"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="jo=%2ESl]DW675#~y_y)"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="{7lBnx2$pVQ;|^bsX2RT"> <field name="VAR" id="1M(LjWsX%UA(R)fKp??#" variabletype="">mittelwert</field> </block> </value> <value name="B"> <shadow type="math_number" id="iE_)$$#[-G-Q%ZarD#ob"> <field name="NUM">8</field> </shadow> <block type="variables_get" id="P]tZ,e:8tnrjKD6XE7Q/"> <field name="VAR" id="7@ka{W0ZcZB2/**V0U6_" variabletype="">wichtung</field> </block> </value> </block> </value> <next> <block type="variables_set" id="}q?xIB(,#[F%4kPn6s3s"> <field name="VAR" id="1M(LjWsX%UA(R)fKp??#" variabletype="">mittelwert</field> <value name="VALUE"> <block type="math_arithmetic" id="ZLK|t.|=AON10u2GkN%="> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="jo=%2ESl]DW675#~y_y)"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="GL/zBCI6JBWBm{H1V2{J"> <field name="VAR" id="1M(LjWsX%UA(R)fKp??#" variabletype="">mittelwert</field> </block> </value> <value name="B"> <shadow type="math_number" id="0uqpP?KFLpIPY{DzYN"> <field name="NUM">59</field> </shadow> <block type="variables_get" id="L2It^Y?+,pPC+tp@Xn}7"> <field name="VAR" id="(TABrixguC}L}$SJVufv" variabletype="">wert_neu</field> </block> </value> </block> </value> <next> <block type="variables_set" id="z~UqNL()E%=)$,e[kSB?"> <field name="VAR" id="lfJi=yL5G#a:Dd7PtwU8" variabletype="">result</field> <value name="VALUE"> <block type="math_arithmetic" id="P4*6eJobY6]wO+$$$/X@"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="jo=%2ESl]DW675#~y_y)"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="--3,IL|K6f:j%U7ltA9J"> <field name="VAR" id="1M(LjWsX%UA(R)fKp??#" variabletype="">mittelwert</field> </block> </value> <value name="B"> <shadow type="math_number" id="BZ=:rI^)+#p7SL1/@g#2"> <field name="NUM">9</field> </shadow> <block type="math_arithmetic" id="iVuXVRhlB|Jlxn$lHHS">
    <field name="OP">ADD</field>
    <value name="A">
    <shadow type="math_number" id="xS?Rk{MQv67t?#(C94#(">
    <field name="NUM">1</field>
    </shadow>
    <block type="variables_get" id="wRcL-3pD1-|)~#lK?d,"> <field name="VAR" id="7@ka{W0ZcZB2/**V0U6_" variabletype="">wichtung</field> </block> </value> <value name="B"> <shadow type="math_number" id="h^}W~,D?+4fqzMeV%OX">
    <field name="NUM">1</field>
    </shadow>
    </value>
    </block>
    </value>
    </block>
    </value>
    </block>
    </next>
    </block>
    </next>
    </block>
    </next>
    </block>
    </statement>
    <value name="RETURN">
    <block type="variables_get" id="b(49sz,]N]h#WiV+J[BW">
    <field name="VAR" id="lfJi=yL5G#a:Dd7PtwU8" variabletype="">result</field>
    </block>
    </value>
    </block>
    <block type="update" id="%DGY;rhA~gKYgsdUsusY" x="-262" y="688">
    <mutation delay_input="false"></mutation>
    <field name="OID">javascript.0.Datenpunkte.Sensoren.Rayniman.Temperatur</field>
    <field name="WITH_DELAY">FALSE</field>
    <value name="VALUE">
    <block type="math_rndfixed" id="@4tF6rwFN+BkPNMrsO9^">
    <field name="n">2</field>
    <value name="x">
    <shadow type="math_number" id="]UN4rmYb4$3|$Jmxmut2">
    <field name="NUM">3.1234</field>
    </shadow>
    <block type="procedures_callreturn" id="JY2#uFZ1?(w!7nN629#!">
    <mutation name="Mittelwert">
    <arg name="wert_alt"></arg>
    <arg name="wert_neu"></arg>
    <arg name="wichtung"></arg>
    </mutation>
    <value name="ARG0">
    <block type="get_value" id="%c5M1.mdbqZ2v?x:+uw"> <field name="ATTR">val</field> <field name="OID">javascript.0.Datenpunkte.Sensoren.Rayniman.Temperatur</field> </block> </value> <value name="ARG1"> <block type="get_value" id="e|iA9EL58Qq9MhE,wiIh"> <field name="ATTR">val</field> <field name="OID">ID auswählen</field> </block> </value> <value name="ARG2"> <block type="math_number" id="^IGxdx.qY,FQa^Bx9f$0"> <field name="NUM">3</field> </block> </value> </block> </value> </block> </value> <next> <block type="debug" id="6{Kt2T?m}nAO(-07ocFV"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="VMAcBIC9W]qaGtwpP?o/"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="iafZpPSzx+x0gUB_eUF;"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="j[#I;1lQcKK|:RpQ^Q8">
    <field name="TEXT">Temperatur : </field>
    </block>
    </value>
    <value name="ADD1">
    <block type="get_value" id="K%=@V$.lF[,eGwgm3wfE">
    <field name="ATTR">val</field>
    <field name="OID">javascript.0.Datenpunkte.Sensoren.Rayniman.Temperatur</field>
    </block>
    </value>
    <value name="ADD2">
    <block type="text" id="3GvGbfvb`=KI}kXd/](S">
    <field name="TEXT">°C</field>
    </block>
    </value>
    </block>
    </value>
    </block>
    </next>
    </block>
    </xml>

    als Script:

    var wert_alt, wert_neu, wichtung, result, mittelwert;
    
    function Mittelwert(wert_alt, wert_neu, wichtung) {
      mittelwert = wert_alt;
      mittelwert = mittelwert * wichtung;
      mittelwert = mittelwert + wert_neu;
      result = mittelwert / (wichtung + 1);
      return result;
    }
    
    setState("javascript.0.Datenpunkte.Sensoren.Rayniman.Temperatur"/*S-Rayniman_Temperatur*/, Math.round((Mittelwert(getState("javascript.0.Datenpunkte.Sensoren.Rayniman.Temperatur").val, getState("ID auswählen").val, 3))*100)/100, true);
    console.log((['Temperatur : ',getState("javascript.0.Datenpunkte.Sensoren.Rayniman.Temperatur").val,'°C'].join('')));
    
    

    Je höher der Wert der Wichtung, um so stärker die Dämpfung.

    Viel Spaß damit :blush:

    HA-Cluster 1x NUC11TNHI50L00, 2x NUC11TNHI30L00, 1x BSi3, 1x BSi5
    LXC's: ioBroker, (3x Redis), PiHole, Grafana, Heimdall, MariaDB, InfulxDB, TasmoAdmin, NTP Server, Zabbix, Frigate, nextCloud, PeaNUT
    VM's: PBS, trueNAS (Plex)

    1 Antwort Letzte Antwort
    1
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen


    Support us

    ioBroker
    Community Adapters
    Donate

    632

    Online

    32.5k

    Benutzer

    81.7k

    Themen

    1.3m

    Beiträge
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
    ioBroker Community 2014-2025
    logo
    • Anmelden

    • Du hast noch kein Konto? Registrieren

    • Anmelden oder registrieren, um zu suchen
    • Erster Beitrag
      Letzter Beitrag
    0
    • Home
    • Aktuell
    • Tags
    • Ungelesen 0
    • Kategorien
    • Unreplied
    • Beliebt
    • GitHub
    • Docu
    • Hilfe