Ich möchte einen Sonoff basic als Temperaturschalter benutzen

  • Hallo zusammen.

    Ich möchte einen Sonoffbasic als Temperaturschalter benutzen.

    Ich möchte es mit blockly realisieren.

    Meine Vorstellung als Anhang. Hat schon jemand die Sache so gelöst oder kann mir jemand helfen?


    Reserve DS18B20 Temperature ist mein Temperaturfühler

    Heizung Power ist Ein oder Aus vom Sonoff


    Steffen







    Das Leben ist viel zu kurz, um sich über Nichtigkeiten aufzuregen.;)

  • Ganz einfach.


    Bei zb. 15 Grad einschalten, bei 20 Grad auschalten, unter 20 Grad wieder einschalten.

    Ich habe von Blockly sehr wenig Ahnung, deshalb suche ich Hilfe.


    Steffen

    Das Leben ist viel zu kurz, um sich über Nichtigkeiten aufzuregen.;)

  • Das sieht aber nicht aus, als hättest keine Ahnung, da der Aufbau so perfekt ist ;)


    Post mal den Blockly Export, dann baue ich das um, wobei bei 20 ein und unter 20 wieder wie an, ist zu knapp. Da muss ne größere Hysteres rein, somst schaltet das immer sehr schnell aus und ein.


    Dann was ganz anderes, der DS18B20 hängt doch am Sonoff dran oder? Wenn ja, kannst das mit ner Rule intern machen, ganz ohne IOBroker ;)

  • Danke für die Hilfe. Das mit der Temperatur kannst Du gerne ändern.

    Hier der Export.

    Also hab ich vergessen, der Temperatursensor ist an einem andern Sonoff,



    <xml xmlns="https://developers.google.com/blockly/xml">

    <block type="on" id="X}1-yRbqU795F47q,aE5" x="67" y="81">

    <field name="OID">sonoff.0.Reserve.DS18B20_Temperature</field>

    <field name="CONDITION">any</field>

    <field name="ACK_CONDITION"></field>

    <statement name="STATEMENT">

    <block type="controls_if" id="j0E~Kt.UtWV(dVF5B;Nv">

    <mutation elseif="1"></mutation>

    <value name="IF0">

    <block type="logic_operation" id="C0i*-}Dk2+7JY{@Q{--%" inline="false">

    <field name="OP">AND</field>

    <value name="A">

    <block type="logic_compare" id="0~*+a?SQyy5v/v;GoFqB">

    <field name="OP">LTE</field>

    <value name="A">

    <block type="on_source" id=",YgzG7*2gQOo@3?6Qc(R">

    <field name="ATTR">state.val</field>

    </block>

    </value>

    <value name="B">

    <block type="math_number" id="UL-$W@*W^xNFQmUOm8|_">

    <field name="NUM">15</field>

    </block>

    </value>

    </block>

    </value>

    <value name="B">

    <block type="logic_negate" id=",wuw`2#B{t.uQT@b:l@)">

    <value name="BOOL">

    <block type="get_value" id="0iNN642bsN?)x0Un,V3H">

    <field name="ATTR">val</field>

    <field name="OID">sonoff.0.Reserve.DS18B20_Temperature</field>

    </block>

    </value>

    </block>

    </value>

    </block>

    </value>

    <statement name="DO0">

    <block type="control" id="z=SHAD_,Us$,VE6k?Gi$">

    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>

    <field name="OID">sonoff.0.Heizung.POWER</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="logic_boolean" id="q*;OmD,R@Yq!:{ip:}|^">

    <field name="BOOL">TRUE</field>

    </block>

    </value>

    </block>

    </statement>

    <value name="IF1">

    <block type="logic_operation" id="O~R~IY~TexN8nVGxZw;d" inline="false">

    <field name="OP">AND</field>

    <value name="A">

    <block type="logic_compare" id="a$6qnh@{z;Q8yY$kYser">

    <field name="OP">GT</field>

    <value name="A">

    <block type="on_source" id="wC#FXMSKT/=vrIwOZa9t">

    <field name="ATTR">state.val</field>

    </block>

    </value>

    <value name="B">

    <block type="math_number" id="YF;9oV$P%N|dFhv%#g!9">

    <field name="NUM">20</field>

    </block>

    </value>

    </block>

    </value>

    <value name="B">

    <block type="get_value" id="uK81OG^$(TTZ2{Z?F`C@">

    <field name="ATTR">val</field>

    <field name="OID">sonoff.0.Reserve.DS18B20_Temperature</field>

    </block>

    </value>

    </block>

    </value>

    <statement name="DO1">

    <block type="control" id="(~E4m3AIvz$68uEBM_jv">

    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>

    <field name="OID">sonoff.0.Heizung.POWER</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="logic_boolean" id="NL7t5*a}ylxxns*,eY3k">

    <field name="BOOL">FALSE</field>

    </block>

    </value>

    </block>

    </statement>

    </block>

    </statement>

    </block>

    </xml>

    Das Leben ist viel zu kurz, um sich über Nichtigkeiten aufzuregen.;)

  • Wie Du siehst war Dein Ansatz gar nicht so falsch. Hier musst mit den Temperaturen etwas spielen, da es auch auf die Raumgröße ankommt, wie schnell sich die Temperatur ändern kann und somit das Ein und Ausschalten.


    Das Blockly schaltet an, wenn die Temperatur nicht kleiner 15°C ist, also ab 15,*°C wird eingeschaltet, aber nur wenn es nicht wärmer als 19°C hat. Ausgeschaltet wird bei 21° und wieder ein sobald die 19°C unterschritten werden.


    So weit die Theorie ;)