{"id":1260,"date":"2021-05-18T16:26:03","date_gmt":"2021-05-18T14:26:03","guid":{"rendered":"http:\/\/archiv.etscheid.biz\/?p=1260"},"modified":"2023-02-17T12:59:04","modified_gmt":"2023-02-17T11:59:04","slug":"iobroker-blockly-script-absolute-feuchte-berechnen","status":"publish","type":"post","link":"https:\/\/etscheid.biz\/blog\/2021\/05\/18\/iobroker-blockly-script-absolute-feuchte-berechnen\/","title":{"rendered":"iobroker Blockly Script absolute Feuchte berechnen"},"content":{"rendered":"\n<p>In einem <a href=\"https:\/\/etscheid.biz\/blog\/2017\/04\/06\/kellerbelueftung-mit-smart-home-von-der-telekom\/\" data-type=\"post\" data-id=\"241\" target=\"_blank\" rel=\"noreferrer noopener\">\u00e4lteren Beitrag<\/a> hatte ich schon mal geschrieben, wie ich meinen Keller mit Frischluft versorge, damit die Luftfeuchtigkeit nicht zu hoch wird. Leider konnte ich mit dem Smart Home der Telekom nur grob den Zeitpunkt ermitteln, wann gel\u00fcftet werden soll. Nun nutze ich den iobroker um meine Homematic Komponenten abzufragen und zu steuern. Aus diesem Grund war es mir jetzt wichtig, die absolute Luftfeuchte von innen und aussen zu ermitteln.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/etscheid.biz\/blog\/wp-content\/uploads\/2021\/09\/old-hygrometer-gold-steampunk-1132104.jpg\" alt=\"Old Hygrometer Gold Steampunk  - rschaller98 \/ Pixabay\" width=\"320\" height=\"213\" \/><figcaption class=\"wp-element-caption\"><a href=\"https:\/\/pixabay.com\/users\/rschaller98\">rschaller98<\/a> \/ Pixabay<\/figcaption><\/figure>\n<\/div>\n\n\n<!--more-->\n\n\n\n<p>Leider habe ich nur sehr umfangreiche Scripte gefunden, die ich so nicht haben wollte. Mein Ziel war es ein einfaches Blockly Script zu nutzen, welches mit die absolute Luftfeuchte von innen und aussen errechnet. Aus einem Threat im iobroker Forum habe ich Teile \u00fcbernehmen k\u00f6nnen. <\/p>\n\n\n\n<p>Mein Script besteht aus zwei Teilen: Dem ersten Teil, wo ich zwei Variablen nutze um die absolute Luftfeuchte auszurechnen. Es ist die Temperatur (temperature) und die relative Luftfeuchte (relFeuchte). Diese beiden Werte nimmt das Script und nutzt es f\u00fcr die Berechnung. Die Variable &#8222;absfeuchte&#8220; enth\u00e4lt dann den berechneten Wert.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/etscheid.biz\/blog\/wp-content\/uploads\/2021\/05\/image.png\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/etscheid.biz\/blog\/wp-content\/uploads\/2021\/05\/image.png\" alt=\"\" \/><\/a><figcaption class=\"wp-element-caption\">Quelle: Screenshot ioborker Blockly<\/figcaption><\/figure>\n\n\n\n<p>Im Zweiten Teil kommt der Wert meine Temperatur Sensors. Ich bef\u00fcllte also die beiden Variablen &#8222;temperature&#8220; und &#8222;relFeuchte&#8220; mit dem Werten aus dem Sensor und erhalte die absolute Luftfeuchte. Diesen Wert schreibe ich dann in einen Datenpunkt. Ich nutze also zweimal diese Berechnung, einmal f\u00fcr aussen und einmal f\u00fcr innen und erhalten zwei Datenpunkte, die ich miteinander vergleich kann (abs Feuchte aussen und abs Feuchte Keller).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/etscheid.biz\/blog\/wp-content\/uploads\/sites\/5\/2023\/02\/absolute-feuchte.png\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"863\" height=\"429\" src=\"https:\/\/etscheid.biz\/blog\/wp-content\/uploads\/sites\/5\/2023\/02\/absolute-feuchte.png\" alt=\"Absolute Feuchte Berechnen\" class=\"wp-image-1795\" srcset=\"https:\/\/etscheid.biz\/blog\/wp-content\/uploads\/sites\/5\/2023\/02\/absolute-feuchte.png 863w, https:\/\/etscheid.biz\/blog\/wp-content\/uploads\/sites\/5\/2023\/02\/absolute-feuchte-300x149.png 300w, https:\/\/etscheid.biz\/blog\/wp-content\/uploads\/sites\/5\/2023\/02\/absolute-feuchte-768x382.png 768w, https:\/\/etscheid.biz\/blog\/wp-content\/uploads\/sites\/5\/2023\/02\/absolute-feuchte-543x270.png 543w\" sizes=\"auto, (max-width: 863px) 100vw, 863px\" \/><\/a><figcaption class=\"wp-element-caption\">Absolute Feuchte Berechnen Quelle: Screenshot iobroker Blockly<\/figcaption><\/figure>\n\n\n\n<p>Ist nun der Wert der absoluten Feuchte aussen niedriger als innen, so kann gel\u00fcftet werden.   Mit einem zweiten Script Schalte ich nun den L\u00fcfter an und aus, in Abh\u00e4ngigkeit davon, wie hoch die absolute Luftfeuchte ist.<\/p>\n\n\n\n<p><strong>Im Teil 2 beschreibe ich, wie ich damit einen L\u00fcfter steuere: <a href=\"https:\/\/etscheid.biz\/blog\/2023\/02\/17\/iobroker-blockly-script-luefter-steuern\/\" data-type=\"post\" data-id=\"1799\" target=\"_blank\" rel=\"noreferrer noopener\">Link<\/a><\/strong><\/p>\n\n\n\n<p>PS: Mit dem Netatmo Adapter bekommt man direkt die absolute Feuchte der einzelnen Sensoren angezeigt und braucht nicht mehr umrechnen.<\/p>\n\n\n\n<p>Auf Seite zwei findet ihr den Export des Blockly Scripts, damit man nicht m\u00fchsam selbst alles erstellen muss:<\/p>\n\n\n\n<!--nextpage-->\n\n\n\n<p>Code f\u00fcr den Blockly import:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;xml xmlns=\"https:\/\/developers.google.com\/blockly\/xml\"&gt;\n  &lt;variables&gt;\n    &lt;variable id=\")Vz0,u.-.k*4g:m~W}7W\"&gt;temperature&lt;\/variable&gt;\n    &lt;variable id=\")(A+CMXkz]`wvY;?c89W\"&gt;relFeuchte&lt;\/variable&gt;\n    &lt;variable id=\"l*On1=aiKKj0p:|T=fm{\"&gt;absfeuchte&lt;\/variable&gt;\n    &lt;variable type=\"timeout\" id=\"timeout1\"&gt;timeout1&lt;\/variable&gt;\n    &lt;variable type=\"timeout\" id=\"timeout2\"&gt;timeout2&lt;\/variable&gt;\n  &lt;\/variables&gt;\n  &lt;block type=\"procedures_defnoreturn\" id=\"a.7eeV&#091;s:u5??`4e3Od;\" x=\"-37\" y=\"-413\"&gt;\n    &lt;mutation&gt;\n      &lt;arg name=\"temperature\" varid=\")Vz0,u.-.k*4g:m~W}7W\"&gt;&lt;\/arg&gt;\n      &lt;arg name=\"relFeuchte\" varid=\")(A+CMXkz]`wvY;?c89W\"&gt;&lt;\/arg&gt;\n    &lt;\/mutation&gt;\n    &lt;field name=\"NAME\"&gt;feuchte&lt;\/field&gt;\n    &lt;comment pinned=\"false\" h=\"80\" w=\"160\"&gt;Beschreibe diese Funktion \u2026&lt;\/comment&gt;\n    &lt;statement name=\"STACK\"&gt;\n      &lt;block type=\"variables_set\" id=\"GLoUl42Ssmd5x{%ngji+\"&gt;\n        &lt;field name=\"VAR\" id=\"l*On1=aiKKj0p:|T=fm{\"&gt;absfeuchte&lt;\/field&gt;\n        &lt;value name=\"VALUE\"&gt;\n          &lt;block type=\"math_arithmetic\" id=\"$9dk$%bCfi).WmTQ0YvS\" inline=\"false\"&gt;\n            &lt;field name=\"OP\"&gt;DIVIDE&lt;\/field&gt;\n            &lt;value name=\"A\"&gt;\n              &lt;shadow type=\"math_number\" id=\"@|]|kf(~;UXSj{r-Py.}\"&gt;\n                &lt;field name=\"NUM\"&gt;1&lt;\/field&gt;\n              &lt;\/shadow&gt;\n              &lt;block type=\"math_arithmetic\" id=\"drl{z6M9~)QK=1jWZwS1\" inline=\"false\"&gt;\n                &lt;field name=\"OP\"&gt;MULTIPLY&lt;\/field&gt;\n                &lt;value name=\"A\"&gt;\n                  &lt;shadow type=\"math_number\" id=\"?(XoR_CDs1f)=_zC_s`c\"&gt;\n                    &lt;field name=\"NUM\"&gt;1&lt;\/field&gt;\n                  &lt;\/shadow&gt;\n                  &lt;block type=\"math_arithmetic\" id=\"Ii^SaP2Kig\/a4yQeL2Kp\" inline=\"false\"&gt;\n                    &lt;field name=\"OP\"&gt;MULTIPLY&lt;\/field&gt;\n                    &lt;value name=\"A\"&gt;\n                      &lt;shadow type=\"math_number\" id=\"W]Ok6Ex(k9gJWN%Vl0(?\"&gt;\n                        &lt;field name=\"NUM\"&gt;1&lt;\/field&gt;\n                      &lt;\/shadow&gt;\n                      &lt;block type=\"math_arithmetic\" id=\"G_aJ68Y!9?zmeHy=4+6O\" inline=\"false\"&gt;\n                        &lt;field name=\"OP\"&gt;MULTIPLY&lt;\/field&gt;\n                        &lt;value name=\"A\"&gt;\n                          &lt;shadow type=\"math_number\" id=\"rS7,,?%z$GHN(0DP-)Wa\"&gt;\n                            &lt;field name=\"NUM\"&gt;1&lt;\/field&gt;\n                          &lt;\/shadow&gt;\n                          &lt;block type=\"math_number\" id=\"Ss;2=UpBXrr%ru]F\/HcD\"&gt;\n                            &lt;field name=\"NUM\"&gt;6.112&lt;\/field&gt;\n                          &lt;\/block&gt;\n                        &lt;\/value&gt;\n                        &lt;value name=\"B\"&gt;\n                          &lt;shadow type=\"math_number\" id=\"Q_;jA]edTjm#:$`BlH8l\"&gt;\n                            &lt;field name=\"NUM\"&gt;1&lt;\/field&gt;\n                          &lt;\/shadow&gt;\n                          &lt;block type=\"math_single\" id=\"PgF}b=!D4^{n0iWk|%7z\"&gt;\n                            &lt;field name=\"OP\"&gt;EXP&lt;\/field&gt;\n                            &lt;value name=\"NUM\"&gt;\n                              &lt;shadow type=\"math_number\" id=\"tV|:2_&#091;M=j?P!6L7vh1^\"&gt;\n                                &lt;field name=\"NUM\"&gt;9&lt;\/field&gt;\n                              &lt;\/shadow&gt;\n                              &lt;block type=\"math_arithmetic\" id=\"4A4-v3;A2z}(iC1}\/|;J\" inline=\"false\"&gt;\n                                &lt;field name=\"OP\"&gt;DIVIDE&lt;\/field&gt;\n                                &lt;value name=\"A\"&gt;\n                                  &lt;shadow type=\"math_number\" id=\"\/DEPg%|MS4iI54Xg6-E:\"&gt;\n                                    &lt;field name=\"NUM\"&gt;1&lt;\/field&gt;\n                                  &lt;\/shadow&gt;\n                                  &lt;block type=\"math_arithmetic\" id=\"s9-wArpJZT$DZJF(:oe_\"&gt;\n                                    &lt;field name=\"OP\"&gt;MULTIPLY&lt;\/field&gt;\n                                    &lt;value name=\"A\"&gt;\n                                      &lt;shadow type=\"math_number\" id=\"wU{rm.Y~Cc:*cKP-pI6n\"&gt;\n                                        &lt;field name=\"NUM\"&gt;17.67&lt;\/field&gt;\n                                      &lt;\/shadow&gt;\n                                    &lt;\/value&gt;\n                                    &lt;value name=\"B\"&gt;\n                                      &lt;shadow type=\"math_number\" id=\"(6gfCw,CHBNtyNrq4xf6\"&gt;\n                                        &lt;field name=\"NUM\"&gt;1&lt;\/field&gt;\n                                      &lt;\/shadow&gt;\n                                      &lt;block type=\"variables_get\" id=\"_K@|_&#091;8M3NUw?.VA(],?\"&gt;\n                                        &lt;field name=\"VAR\" id=\")Vz0,u.-.k*4g:m~W}7W\"&gt;temperature&lt;\/field&gt;\n                                      &lt;\/block&gt;\n                                    &lt;\/value&gt;\n                                  &lt;\/block&gt;\n                                &lt;\/value&gt;\n                                &lt;value name=\"B\"&gt;\n                                  &lt;shadow type=\"math_number\" id=\"._D6XRUnVpSD:3e;r6u&#091;\"&gt;\n                                    &lt;field name=\"NUM\"&gt;1&lt;\/field&gt;\n                                  &lt;\/shadow&gt;\n                                  &lt;block type=\"math_arithmetic\" id=\"};.N1a,UzboZAd@o+^jr\"&gt;\n                                    &lt;field name=\"OP\"&gt;ADD&lt;\/field&gt;\n                                    &lt;value name=\"A\"&gt;\n                                      &lt;shadow type=\"math_number\" id=\"&#091;:o6ZaA4M%CmKmi}Fb07\"&gt;\n                                        &lt;field name=\"NUM\"&gt;1&lt;\/field&gt;\n                                      &lt;\/shadow&gt;\n                                      &lt;block type=\"math_number\" id=\"?e~,rPM&#091;rLNAX88SQw6*\"&gt;\n                                        &lt;field name=\"NUM\"&gt;243.5&lt;\/field&gt;\n                                      &lt;\/block&gt;\n                                    &lt;\/value&gt;\n                                    &lt;value name=\"B\"&gt;\n                                      &lt;shadow type=\"math_number\" id=\")0kFf`)\/(A}-,6o=d9]?\"&gt;\n                                        &lt;field name=\"NUM\"&gt;1&lt;\/field&gt;\n                                      &lt;\/shadow&gt;\n                                      &lt;block type=\"variables_get\" id=\"Gw.PQ]#i.P)4H?q0:uis\"&gt;\n                                        &lt;field name=\"VAR\" id=\")Vz0,u.-.k*4g:m~W}7W\"&gt;temperature&lt;\/field&gt;\n                                      &lt;\/block&gt;\n                                    &lt;\/value&gt;\n                                  &lt;\/block&gt;\n                                &lt;\/value&gt;\n                              &lt;\/block&gt;\n                            &lt;\/value&gt;\n                          &lt;\/block&gt;\n                        &lt;\/value&gt;\n                      &lt;\/block&gt;\n                    &lt;\/value&gt;\n                    &lt;value name=\"B\"&gt;\n                      &lt;shadow type=\"math_number\" id=\"=QJ@}_89oaSc6TkLXqL{\"&gt;\n                        &lt;field name=\"NUM\"&gt;1&lt;\/field&gt;\n                      &lt;\/shadow&gt;\n                      &lt;block type=\"math_number\" id=\"+-RP-jJ\/Cl8j~X(iqtKk\"&gt;\n                        &lt;field name=\"NUM\"&gt;2.1674&lt;\/field&gt;\n                      &lt;\/block&gt;\n                    &lt;\/value&gt;\n                  &lt;\/block&gt;\n                &lt;\/value&gt;\n                &lt;value name=\"B\"&gt;\n                  &lt;shadow type=\"math_number\" id=\";`Yd*+h-@*2XfUACe)O8\"&gt;\n                    &lt;field name=\"NUM\"&gt;1&lt;\/field&gt;\n                  &lt;\/shadow&gt;\n                  &lt;block type=\"variables_get\" id=\"tMo|!n{{H-zc)qWU3Be9\"&gt;\n                    &lt;field name=\"VAR\" id=\")(A+CMXkz]`wvY;?c89W\"&gt;relFeuchte&lt;\/field&gt;\n                  &lt;\/block&gt;\n                &lt;\/value&gt;\n              &lt;\/block&gt;\n            &lt;\/value&gt;\n            &lt;value name=\"B\"&gt;\n              &lt;shadow type=\"math_number\" id=\"H=hU4(hGj-&#091;YSN#G(cZ}\"&gt;\n                &lt;field name=\"NUM\"&gt;1&lt;\/field&gt;\n              &lt;\/shadow&gt;\n              &lt;block type=\"math_arithmetic\" id=\"=Xf0xz;M.wOqwduBl|O+\"&gt;\n                &lt;field name=\"OP\"&gt;ADD&lt;\/field&gt;\n                &lt;value name=\"A\"&gt;\n                  &lt;shadow type=\"math_number\" id=\"*=pAEW@=`5jlHQO4GUyX\"&gt;\n                    &lt;field name=\"NUM\"&gt;1&lt;\/field&gt;\n                  &lt;\/shadow&gt;\n                  &lt;block type=\"math_number\" id=\"(11}Qz2^*N((&#091;RQo~\/lT\"&gt;\n                    &lt;field name=\"NUM\"&gt;273.15&lt;\/field&gt;\n                  &lt;\/block&gt;\n                &lt;\/value&gt;\n                &lt;value name=\"B\"&gt;\n                  &lt;shadow type=\"math_number\" id=\"cS*9f1Zsst}!M]qx+5mO\"&gt;\n                    &lt;field name=\"NUM\"&gt;1&lt;\/field&gt;\n                  &lt;\/shadow&gt;\n                  &lt;block type=\"variables_get\" id=\"lzNp]xQRt$;C}pPC=%vO\"&gt;\n                    &lt;field name=\"VAR\" id=\")Vz0,u.-.k*4g:m~W}7W\"&gt;temperature&lt;\/field&gt;\n                  &lt;\/block&gt;\n                &lt;\/value&gt;\n              &lt;\/block&gt;\n            &lt;\/value&gt;\n          &lt;\/block&gt;\n        &lt;\/value&gt;\n        &lt;next&gt;\n          &lt;block type=\"debug\" id=\"a%5zx.dK7PlF5.J+8MkO\"&gt;\n            &lt;field name=\"Severity\"&gt;log&lt;\/field&gt;\n            &lt;value name=\"TEXT\"&gt;\n              &lt;shadow type=\"text\" id=\"6-p*!}%Tylz*Wa5W=np`\"&gt;\n                &lt;field name=\"TEXT\"&gt;test&lt;\/field&gt;\n              &lt;\/shadow&gt;\n              &lt;block type=\"variables_get\" id=\"Is`6&#091;Nqd5u4(DbI=P;{|\"&gt;\n                &lt;field name=\"VAR\" id=\"l*On1=aiKKj0p:|T=fm{\"&gt;absfeuchte&lt;\/field&gt;\n              &lt;\/block&gt;\n            &lt;\/value&gt;\n          &lt;\/block&gt;\n        &lt;\/next&gt;\n      &lt;\/block&gt;\n    &lt;\/statement&gt;\n  &lt;\/block&gt;\n  &lt;block type=\"schedule\" id=\";E?1!*zS91l}%a,0h1C%\" x=\"-137\" y=\"38\"&gt;\n    &lt;field name=\"SCHEDULE\"&gt;*\/5 * * * *&lt;\/field&gt;\n    &lt;statement name=\"STATEMENT\"&gt;\n      &lt;block type=\"timeouts_settimeout\" id=\"KPzO`l37})U;e~rx$H0t\"&gt;\n        &lt;field name=\"NAME\"&gt;timeout1&lt;\/field&gt;\n        &lt;field name=\"DELAY\"&gt;1&lt;\/field&gt;\n        &lt;field name=\"UNIT\"&gt;sec&lt;\/field&gt;\n        &lt;statement name=\"STATEMENT\"&gt;\n          &lt;block type=\"procedures_callnoreturn\" id=\"1V~xi_&#091;Zomm@ztc\/%bI4\" inline=\"false\"&gt;\n            &lt;mutation name=\"feuchte\"&gt;\n              &lt;arg name=\"temperature\"&gt;&lt;\/arg&gt;\n              &lt;arg name=\"relFeuchte\"&gt;&lt;\/arg&gt;\n            &lt;\/mutation&gt;\n            &lt;value name=\"ARG0\"&gt;\n              &lt;block type=\"get_value\" id=\"_!-?=(~4ef@V5qpBlO,^\"&gt;\n                &lt;field name=\"ATTR\"&gt;val&lt;\/field&gt;\n                &lt;field name=\"OID\"&gt;hm-rpc.0.KEQ0053726.1.TEMPERATURE&lt;\/field&gt;\n              &lt;\/block&gt;\n            &lt;\/value&gt;\n            &lt;value name=\"ARG1\"&gt;\n              &lt;block type=\"get_value\" id=\"\/=IW.6p:Yr~G\/BWJyvu@\"&gt;\n                &lt;field name=\"ATTR\"&gt;val&lt;\/field&gt;\n                &lt;field name=\"OID\"&gt;hm-rpc.0.KEQ0053726.1.HUMIDITY&lt;\/field&gt;\n              &lt;\/block&gt;\n            &lt;\/value&gt;\n            &lt;next&gt;\n              &lt;block type=\"update\" id=\"9o$7%?OYK5%`,iE_jsQs\"&gt;\n                &lt;mutation xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" delay_input=\"false\"&gt;&lt;\/mutation&gt;\n                &lt;field name=\"OID\"&gt;0_userdata.0.Temperaturen.abs_Feuchte_aussen&lt;\/field&gt;\n                &lt;field name=\"WITH_DELAY\"&gt;FALSE&lt;\/field&gt;\n                &lt;value name=\"VALUE\"&gt;\n                  &lt;block type=\"math_rndfixed\" id=\"2H0+CS^7XG6oop`R3~Wo\"&gt;\n                    &lt;field name=\"n\"&gt;2&lt;\/field&gt;\n                    &lt;value name=\"x\"&gt;\n                      &lt;shadow type=\"math_number\"&gt;\n                        &lt;field name=\"NUM\"&gt;3.1234&lt;\/field&gt;\n                      &lt;\/shadow&gt;\n                      &lt;block type=\"variables_get\" id=\"F:bp0~(,=KpV`w8hx6Fu\"&gt;\n                        &lt;field name=\"VAR\" id=\"l*On1=aiKKj0p:|T=fm{\"&gt;absfeuchte&lt;\/field&gt;\n                      &lt;\/block&gt;\n                    &lt;\/value&gt;\n                  &lt;\/block&gt;\n                &lt;\/value&gt;\n              &lt;\/block&gt;\n            &lt;\/next&gt;\n          &lt;\/block&gt;\n        &lt;\/statement&gt;\n        &lt;next&gt;\n          &lt;block type=\"timeouts_settimeout\" id=\"vIK,Gi?|U3FAp#,z@bnh\"&gt;\n            &lt;field name=\"NAME\"&gt;timeout2&lt;\/field&gt;\n            &lt;field name=\"DELAY\"&gt;1&lt;\/field&gt;\n            &lt;field name=\"UNIT\"&gt;sec&lt;\/field&gt;\n            &lt;statement name=\"STATEMENT\"&gt;\n              &lt;block type=\"procedures_callnoreturn\" id=\"w,!Qcnja}mlB3hIg,syx\" inline=\"false\"&gt;\n                &lt;mutation name=\"feuchte\"&gt;\n                  &lt;arg name=\"temperature\"&gt;&lt;\/arg&gt;\n                  &lt;arg name=\"relFeuchte\"&gt;&lt;\/arg&gt;\n                &lt;\/mutation&gt;\n                &lt;value name=\"ARG0\"&gt;\n                  &lt;block type=\"get_value\" id=\";V5{}tqG$$S`r)Yr?M^_\"&gt;\n                    &lt;field name=\"ATTR\"&gt;val&lt;\/field&gt;\n                    &lt;field name=\"OID\"&gt;sonoff.0.DVES_072BA1.SI7021_Temperature&lt;\/field&gt;\n                  &lt;\/block&gt;\n                &lt;\/value&gt;\n                &lt;value name=\"ARG1\"&gt;\n                  &lt;block type=\"get_value\" id=\"#60#sZdE++8+M+~nvL3A\"&gt;\n                    &lt;field name=\"ATTR\"&gt;val&lt;\/field&gt;\n                    &lt;field name=\"OID\"&gt;sonoff.0.DVES_072BA1.SI7021_Humidity&lt;\/field&gt;\n                  &lt;\/block&gt;\n                &lt;\/value&gt;\n                &lt;next&gt;\n                  &lt;block type=\"update\" id=\"3z\/W0Yn;?O{^$p?oRWR]\"&gt;\n                    &lt;mutation xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" delay_input=\"false\"&gt;&lt;\/mutation&gt;\n                    &lt;field name=\"OID\"&gt;0_userdata.0.Temperaturen.abs_Feuchte_Keller&lt;\/field&gt;\n                    &lt;field name=\"WITH_DELAY\"&gt;FALSE&lt;\/field&gt;\n                    &lt;value name=\"VALUE\"&gt;\n                      &lt;block type=\"math_rndfixed\" id=\"JT8-9U#`14B|DPm_QGHZ\"&gt;\n                        &lt;field name=\"n\"&gt;2&lt;\/field&gt;\n                        &lt;value name=\"x\"&gt;\n                          &lt;shadow type=\"math_number\"&gt;\n                            &lt;field name=\"NUM\"&gt;3.1234&lt;\/field&gt;\n                          &lt;\/shadow&gt;\n                          &lt;block type=\"variables_get\" id=\"N@xPx|:LDn8Y:FMOdet3\"&gt;\n                            &lt;field name=\"VAR\" id=\"l*On1=aiKKj0p:|T=fm{\"&gt;absfeuchte&lt;\/field&gt;\n                          &lt;\/block&gt;\n                        &lt;\/value&gt;\n                      &lt;\/block&gt;\n                    &lt;\/value&gt;\n                  &lt;\/block&gt;\n                &lt;\/next&gt;\n              &lt;\/block&gt;\n            &lt;\/statement&gt;\n          &lt;\/block&gt;\n        &lt;\/next&gt;\n      &lt;\/block&gt;\n    &lt;\/statement&gt;\n  &lt;\/block&gt;\n&lt;\/xml&gt;<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>In einem \u00e4lteren Beitrag hatte ich schon mal geschrieben, wie ich meinen Keller mit Frischluft versorge, damit die Luftfeuchtigkeit nicht zu hoch wird. Leider konnte ich mit dem Smart Home der Telekom nur grob den Zeitpunkt ermitteln, wann gel\u00fcftet werden soll. Nun nutze ich den iobroker um meine Homematic Komponenten abzufragen und zu steuern. Aus &hellip; <\/p>\n<p class=\"read-more\"><a class=\"readmore-btn\" href=\"https:\/\/etscheid.biz\/blog\/2021\/05\/18\/iobroker-blockly-script-absolute-feuchte-berechnen\/\">+<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":1325,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[244,245,237,238,88,246],"class_list":["post-1260","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-smart-home","tag-absolute-feuchte","tag-blockly","tag-iobroker","tag-iobroker-admin-4-2-1","tag-keller","tag-luefter"],"_links":{"self":[{"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/posts\/1260","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/comments?post=1260"}],"version-history":[{"count":7,"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/posts\/1260\/revisions"}],"predecessor-version":[{"id":1817,"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/posts\/1260\/revisions\/1817"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/media\/1325"}],"wp:attachment":[{"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/media?parent=1260"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/categories?post=1260"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/etscheid.biz\/blog\/wp-json\/wp\/v2\/tags?post=1260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}