NEWS
Blockly zur Steuerung der Feuchte im Badezimmer
-
Hallo ioBroker Team,
Ich habe mir da ein Blockly gebastelt wobei ich schon teile aus diesem Forum "geklaut" habe, es grundsätzlich auch funktioniert aber es kommt mir vor das der aus befehl irgendwie nicht funktioniert.
mein wunsch wäre:
bei erkennen des Werts 55% Luftfeuchte den Lüfter mit einer Verzögerung von 5 minuten zu Starten.
einen abschalt befehl zu geben wenn der Wert wieder unter 55% fällt.
zusätzlich habe ich noch einen Schalter mit dem ich den lüfter (auch per ioBroker) Aktivieren oder Dekativieren kann / Könnte.Vielen Herzlichen dank für eure Hilfe.
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id="a-|lV$yn-SI/35=l*|dr" x="-737" y="-762"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="AN:D7IIxiS]/$z6Wqmz)"> <field name="oid">sonoff.0.Badezimmer-Dusche.SI7021_Humidity</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id=".$loA._Mua%0XL#x7lWd"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="vPkU5m[bU_SK[eu;Rnxl" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="H{;/Dyjyv2xKzhU{DyaX"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="fdJoL3UH6I%^+,!eF!+."> <field name="ATTR">val</field> <field name="OID">sonoff.0.Badezimmer-Dusche.SI7021_Humidity</field> </block> </value> <value name="B"> <block type="math_number" id="w:I)8d9?aNY!-@1dni6H"> <field name="NUM">55</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="yG1X5/zB~kgrE)X0GwOk"> <field name="OP">LTE</field> <value name="A"> <block type="on_source" id="PC~n4oAVh?q$cUgW^r6C"> <field name="ATTR">oldState.val</field> </block> </value> <value name="B"> <block type="math_number" id="tzHrN:RO2%uOhgyh8fQY"> <field name="NUM">55</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="$8rx/k9HpQ#BIgp@=!uU"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">sonoff.0.Bad-Hauptschalter.POWER3</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="%h-m1F7q;2?zNAnf]_(_"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_operation" id="pmjM|x.iSgDvEEujmSX+" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="X$F-79eJ!N-QWT:]Fgd_"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="[)[Boq5kaAv?)X*-{mvV"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Badezimmer-Dusche.SI7021_Humidity</field> </block> </value> <value name="B"> <block type="math_number" id="EMXdW24o~!/R=W=JfOde"> <field name="NUM">55</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=";u+_AfrEE`%7^.tJPq(e"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="|%DA[$nVx54,AQo]-eU^"> <field name="ATTR">oldState.val</field> </block> </value> <value name="B"> <block type="math_number" id="c+}o?R4(b]Ci(J({d=ym"> <field name="NUM">55</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="KpoKoS+BUCenALUKbg*U"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Bad-Hauptschalter.POWER3</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="4pmLHFBnJPj4|F~HPtp2"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> </block> </xml>
-
@pmunz
Man sollte immer eine ausreichende Hysterese verwenden, damit nicht ständig ein- und ausgeschaltet wird. Prinzip: -
@pmunz sagte in Blockly zur Steuerung der Feuchte im Badezimmer:
aber es kommt mir vor das der aus befehl irgendwie nicht funktioniert.
woran machst du das Gefühl fest?
ganz abgesehen davon dass der Sinn dieser Steuerung fraglich ist.
- Du hast keine Hysterese drin.
- an bei >55%rH dann aus bei einem kleineren Wert als 55, z.B. 52
- die relative Feuchte ist nicht sinnvoll
- wo kommt denn die frische Luft her? welche rH besitzt diese? (im Winter klappt das vielleicht, aber 40% bei 40°C sind etwa 100% bei 25°C!!!
- Du hast keine Hysterese drin.
-
@paul53 sagte in Blockly zur Steuerung der Feuchte im Badezimmer:
@pmunz
Man sollte immer eine ausreichende Hysterese verwenden, damit nicht ständig ein- und ausgeschaltet wird. Prinzip:Vielen Dank Paul, das ein und auschalten funktioniert jetzt bestens! Danke
Nur wenn ich jetzt einfach meinen lüfter schalter betätige fängt der lüfter zum laufen an, schaltet aber nach paar sekunden wieder aus
das ist warscheindlich weil der wert unter 55% liegt oder? kann ich zusätzlich eine manuele schaltung Realisieren ? die aber dennoch falls der wert dann steigen sollte wiederum einen off befehl gibt?und auch ein danke an @Homoran !
-
@paul53 um so eine Art "Hand - Automatik" Schaltung zu Realisieren.
-
@pmunz sagte: "Hand - Automatik" Schaltung
-
@paul53 Vielen Dank für deine mühen, ich hab das mit der Automatisierten Lüftersteuerung jetzt hinbekommen und funktioniert auch bestens.
Das mit der Hand Auto Schaltung verstehe ich noch nicht ganz, was meinst du mit Werteliste ? muss ich diese erstellen (wie enen datenpunkt) oder wie ist das zu verstehen?
Danke -
@pmunz sagte: Werteliste ? muss ich diese erstellen (wie enen datenpunkt
Erstelle unter "0_userdata.0" einen Datenpunkt vom Typ "number" und ergänze unter "common":
"type": "state", "common": { "name": "Lüfter Modus", "role": "level.mode", "type": "number", "desc": "Manuell erzeugt", "states": { "0": "Aus", "1": "Ein", "2": "Auto" }, "min": 0, "max": 2, "def": 0, "read": true, "write": true },