@bahnuhr Hey hier ist mein Lösung/ Ansatz
Ich hab das ganze so gemacht! Vielleicht hilf dir das!
Wemos D1 mini mit diesen Drucksensor. Habe bewusst einen größen Sensor genommen.100 Psi = ca 6,89 Bar warum erkläre ich gleich!.Meine Heizung hat einen max Druck von 4 Bar. Laut Datenblatt sollte an den Sensor 5 V liegen,da aber der Analog Einang nur max 3.3 V vertragen kann hab ich deshalb den größeren genommen Sprich. 4,5 V= 6,89 Bar und ich max 4 Bar brauche , entspricht also einen Max Ausgangsspannung am Analogen Eingang ca 3,3V = 5,05 Bar. Damit ich mir den Analogen Eingang ohne Widerstand kaputt mache :). Du Kannst natürlich einen kleineren Sensor nehmen, nur ich wollte es ohne Widerstand nicht Riskieren. Aber!!! , der Sensor funktioniert auch mit 3,3 V !, und somit hätte ich mir den größeren Drucksensor auch sparen können, probieren statt studieren :D, naja egal. Nun zur Rechnung!
Auf mein Wemos läuft Tasmota, habe den Sensor angeschlossen und er zeigte mir ohne einen Druck den Wert "114" an. Ich habe dieses als Korrektur in BLockly subtrahiert damit ich den Wert 0 habe.
Um das ganze zu verstehen hab ich mir das ganze erstmal schriftlicht runtergerechnet also:
liegen 3.3 V an dem Analogen Eingang bekommst du einen Wert von 1024 angezeigt.
3,3V:1024 = 0,0032 Sprich 0,0032V sind 1 Digi Analogwert.
3,3V= 6,89Bar das teilen wir durch sich selbst. einmal 1 V= 2,087 Bar .
So 1 Digit sind 0,0032V und das teilen wir durch 1 V sind ca 312,5 Digits hab das einfach abgerundent auf 310.
Entspricht das ganze 1 Digit=0,0032V=0,0067 Bar und diesen Wert einfach mit deinen Angezeigten Wert von Tasmota ( Drucksensor) Multiplizieren. wobei ich den von 0,0067 auf ca 0,0082 Korrigiert habe ( Toleranz). habe mir das System so gebastellt, passt soweit. Habe jetzt keinen geeichten Manometer am Kessel,aber der Wert passt sowie es angezeigt wird.
Hier ist der Blocklyscript
Die Werte,werden an 2 verschiedenen Datenpunkten geschrieben.
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="f|!^sQM$r%Iek$J8`(b,">Analogwert Korrektur</variable>
<variable id="VTXb/=THqURV92j-Z`1c">umrechnung in Volt</variable>
<variable id="p*=ZhSX6;c7F`2L]t-|M">umrechnung in Bar</variable>
</variables>
<block type="on" id="X;}AU{oP.;@5vkIR0nQ[" x="138" y="138">
<field name="OID">sonoff.0.Heizung-Drucksensor.ANALOG_A0</field>
<field name="CONDITION">any</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="variables_set" id="VA.lTh9pC!([~uGlY5]-">
<field name="VAR" id="f|!^sQM$r%Iek$J8`(b,">Analogwert Korrektur</field>
<value name="VALUE">
<block type="math_arithmetic" id="Y4S#:=V2mha,K56bN.r+">
<field name="OP">MINUS</field>
<value name="A">
<shadow type="math_number" id="i=73j1xn*GCDscbk~$5Z">
<field name="NUM">1</field>
</shadow>
<block type="get_value" id="/=Sb!!b]Qr#E-/j6,_^r">
<field name="ATTR">val</field>
<field name="OID">sonoff.0.Heizung-Drucksensor.ANALOG_A0</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="rVr?*$}MjY?/6O9!PCn%">
<field name="NUM">114</field>
</shadow>
<block type="math_number" id=":yU|UQ|vWl-BQ[:s)*7p">
<field name="NUM">114</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="J#|e8|X*Hp:{W:|J:8e(">
<field name="VAR" id="VTXb/=THqURV92j-Z`1c">umrechnung in Volt</field>
<value name="VALUE">
<block type="math_arithmetic" id="nh~RxHD$f6FagDb_d4-B">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number" id="nLsK:IZ)0Rx).Tg$q,0}">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id=")4XcnR.~95$?cia@K~DK">
<field name="VAR" id="f|!^sQM$r%Iek$J8`(b,">Analogwert Korrektur</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="rJqxd@#76P~A9mFhSXr9">
<field name="NUM">32</field>
</shadow>
<block type="math_number" id="5IbFk[w?SXa[PfAE7/S$">
<field name="NUM">0.004</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="SS:Ys[fGR]$PAYH(@s%d">
<field name="VAR" id="p*=ZhSX6;c7F`2L]t-|M">umrechnung in Bar</field>
<value name="VALUE">
<block type="math_rndfixed" id="c64Q)%T~B7FW4Q:@=#9^">
<field name="n">2</field>
<value name="x">
<shadow type="math_number" id="jz1ZKogdX%om{D!.^2}N">
<field name="NUM">3.1234</field>
</shadow>
<block type="math_arithmetic" id="7RT3zXBy2%q0FXoj_kKO">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number" id=";ma10FV-x7/%Hj2pYq)n">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="J1XJ83QfAj)3lPkX8swd">
<field name="VAR" id="f|!^sQM$r%Iek$J8`(b,">Analogwert Korrektur</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="]vm2GIFm2YT.,iqu:qOZ">
<field name="NUM">1</field>
</shadow>
<block type="math_number" id="s]?~bd6*[BH(Vl~3Osw1">
<field name="NUM">0.0082</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="control" id="!BRWrov~7D^$r.~}YO)n">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">javascript.0.Druckanzeige</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id="vh]l3AF@nU`z}|ihIFXg">
<field name="VAR" id="p*=ZhSX6;c7F`2L]t-|M">umrechnung in Bar</field>
</block>
</value>
<next>
<block type="control" id="FSIuu@TjnmHRgVz%31)-">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">javascript.0.Druckanzeige-Volt</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="variables_get" id=",0#P.WuJ3a^@9.Fv]2`Y">
<field name="VAR" id="VTXb/=THqURV92j-Z`1c">umrechnung in Volt</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="on" id="/t!hkN_I,gVA/$:rlX6(">
<field name="OID">javascript.0.Druckanzeige</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="I`#7^OVnV`_{Z8wJ%$2a">
<value name="IF0">
<block type="logic_compare" id="b|XCdYFn9mZzkIsu{^q`">
<field name="OP">LT</field>
<value name="A">
<block type="get_value" id="BbT|b)x!@7P};h10Yyws">
<field name="ATTR">val</field>
<field name="OID">javascript.0.Druckanzeige</field>
</block>
</value>
<value name="B">
<block type="math_number" id="}90LO~mJBH6^**YhK?JF">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="telegram" id="e%Nj]-b!.K,B045ShT(9">
<field name="INSTANCE"></field>
<field name="LOG"></field>
<field name="SILENT">FALSE</field>
<field name="PARSEMODE">default</field>
<value name="MESSAGE">
<shadow type="text" id="`ZGsxB`m^WK0O7NlAkVA">
<field name="TEXT">Hey! Bitte überprüfen den Druck der Heizungsanlage</field>
</shadow>
<block type="text_join" id="J-:klG}VIS03)t_7eJ}(">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text" id="8iT+cR;nMf[dq`]`u+O@">
<field name="TEXT">Hey! Bitte überprüfen den Druck der Heizungsanlage. Der Aktuelle Druck beträgt</field>
</block>
</value>
<value name="ADD1">
<block type="get_value" id="1w@lWr-O;xqe]E-(kI3y">
<field name="ATTR">val</field>
<field name="OID">javascript.0.Druckanzeige</field>
</block>
</value>
</block>
</value>
</block>
</statement>
</block>
</statement>
</block>
</next>
</block>
</xml>
Hier ist die Vis Vorlage ```
[{"tpl":"tplJqplotGauge","data":{"oid":"javascript.0.Druckanzeige","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","showTickLabels":true,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"min":"0","max":"4","padding":"","needleThickness":"9","needlePad":"0","hubRadius":"10","ringWidth":"8","shadowOffset":"19","shadowAlpha":"0.4","shadowDepth":"23","intervalInnerRadius":"360","intervalOuterRadius":"229","intervals":"1;3;4","intervalColors":"red;green;red","tickPadding":"0","ticks":"","label":"Heizungsdruck","title":"","ringColor":"#9d9f9f"},"style":{"left":"-44px","top":"-262px","width":"1010px","height":"794px","z-index":"1"},"widgetSet":"jqplot"}]```
code_text
Widget von Justgage