Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Vraag


  • roanbbb
  • Registratie: November 2015
  • Laatst online: 25-01-2021
Mijn vraag
Beste tweakers,

Ik ben bezig met het automatisch schakelen van mijn mechanische ventilatie.
De MV box kan op afstand op stand 1 of stand 3. Met behulp van 2 Aqara temperature, humidity and pressure sensor wil ik de MV aan laten slaan bij een verschil van de luchtvochtigheid.
Het inschakelen van de MV gaat nu goed, echter schakelt hij niet meer uit als de luchtvochtigheid begint te dalen.

Lua:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
return {
    on = {
        devices = {
            'Badkamer TH',
            'Slaapkamer TH'
            
        }
    },
    execute = function(domoticz, device)
        
        domoticz.log('************  Mechanische Ventilatie v2.0   ******************', domoticz.LOG_INFO)
        
        local humverschil 
        
        humverschil = domoticz.devices('Badkamer TH').humidity - domoticz.devices('Slaapkamer TH').humidity
        
        
        
        if (domoticz.devices('Badkamer TH').humidity > 52) then
         if (humverschil > 20 ) then
            
            domoticz.log('Vochtig in de Badkamer. MV aanzetten.', domoticz.LOG_INFO)
            if (domoticz.devices('Ventilatie').level ~= 100) then
                domoticz.devices('Ventilatie').dimTo(100)
            end
         end
    else
            domoticz.log('NIET vochtig in de Badkamer. Badkamer: ' ..domoticz.devices('Badkamer TH').humidity ..'% verschil Slaapkamer: ' ..humverschil, domoticz.LOG_INFO)
            
            if (domoticz.devices('Ventilatie').level ~= 0) then
                domoticz.devices('Ventilatie').dimTo(0)
                domoticz.log('MV uitzetten.', domoticz.LOG_INFO)
            end
    end
        
        domoticz.log('************  einde Mechanische Ventilatie v2.0   ******************', domoticz.LOG_INFO)
        
    end
}


Relevante software en hardware die ik gebruik
Raspberry pi
Domoticz

Wie heeft er een idee wat dit precies kan zijn?
De logging geeft dit weer als die uit zou moeten schakelen:
2021-01-19 20:00:44.521 Status: dzVents: Info: Handling events for: "Slaapkamer TH", value: "16.4;60.21;0"
2021-01-19 20:00:44.521 Status: dzVents: Info: ------ Start internal script: Ventilator: Device: "Slaapkamer TH (zigbee)", Index: 468
2021-01-19 20:00:44.521 Status: dzVents: Info: ************ Mechanische Ventilatie v2.0 ******************
2021-01-19 20:00:44.522 Status: dzVents: Info: ************ einde Mechanische Ventilatie v2.0 ******************
2021-01-19 20:00:44.522 Status: dzVents: Info: ------ Finished Ventilator

Beste antwoord (via roanbbb op 20-01-2021 11:18)


  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 08:39
Wat is je badkamer luchtvochtigheid op het moment dat je uit wil schakelen? Als ik je logging zo zie komt hij niet in het else gedeelte van de eerste if, dus zou die voorwaarde van de badkamerluchtvochtigheid die hoger dan 52 is nog actief zijn.

Zet anders eens al je inputwaarden zoals de luchtvochtigheden in een logregel die je voor alle IF's schrijft. Dan kan je beter interpreteren wat de loop van je programma is.

Alle reacties


  • Murkmans
  • Registratie: April 2018
  • Laatst online: 07:57
roanbbb schreef op dinsdag 19 januari 2021 @ 19:16:
Mijn vraag
Beste tweakers,

Ik ben bezig met het automatisch schakelen van mijn mechanische ventilatie.
De MV box kan op afstand op stand 1 of stand 3. Met behulp van 2 Aqara temperature, humidity and pressure sensor wil ik de MV aan laten slaan bij een verschil van de luchtvochtigheid.
Het inschakelen van de MV gaat nu goed, echter schakelt hij niet meer uit als de luchtvochtigheid begint te dalen.
Hoe stuur je je ventilatie aan nu? Via wifi of iets dergelijks?
Ik heb er zelf 1 in blockly staan voor ventilatie (ook met co2).
Kan ze wel delen, kan je het zo overnemen.

Afbeeldingslocatie: https://tweakers.net/i/mWuk5Ngu8h-bQPQT2GrJWKuHUiw=/800x/filters:strip_icc():strip_exif()/f/image/eXHtNLHTovNYnKmWtku1ebHV.jpg?f=fotoalbum_large

nog makkelijker, hier het schript.
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="domoticzcontrols_ifelseif" id="^JbMbqvFJP;(=td);iVb" x="-775" y="-187"><mutation elseif="2"></mutation><value name="IF0"><block type="logic_operation" id="xbeo7*,MHdj}b/Qj.kv-"><field name="OP">AND</field><value name="A"><block type="logic_compare" id="1sL@q]+yh~/cvL}Xd`1,"><field name="OP">EQ</field><value name="A"><block type="switchvariablesSZ" id="Mz8]e.dpTe3#R/WXPz4W"><field name="Switch">134</field></block></value><value name="B"><block type="logic_states" id="wlF?n-TL`f3HP]JcjO@L"><field name="State">On</field></block></value></block></value><value name="B"><block type="logic_operation" id="3;:zhi/V3vzhgGbZH(lt"><field name="OP">AND</field><value name="A"><block type="logic_operation" id="|L|IyGhiX:1Q]2.GSI00"><field name="OP">AND</field><value name="A"><block type="logic_compare" id="y)QUw/X$z3AVV+~~!TJJ"><field name="OP">LT</field><value name="A"><block type="utilityvariables" id="67fGLIG];;GCVz/!YS;8"><field name="Utility">120</field></block></value><value name="B"><block type="math_number" id="Hw-~GKkml*KV{h[RGeIF"><field name="NUM">1200</field></block></value></block></value><value name="B"><block type="logic_compare" id="pP`_E7:)pILoo8C@ODmR"><field name="OP">GT</field><value name="A"><block type="utilityvariables" id="(--9O,yH)$3/]g+GBj#9"><field name="Utility">120</field></block></value><value name="B"><block type="math_number" id="lbhBwVf]mQhCx30V:5Er"><field name="NUM">600</field></block></value></block></value></block></value><value name="B"><block type="logic_compare" id="iiCo}GeXop.ZQ,:S}_i%"><field name="OP">LT</field><value name="A"><block type="humidityvariables" id="UwR/9Diz4n_0;#,A.]oQ"><field name="Humidity">130</field></block></value><value name="B"><block type="math_number" id="s*rk%V[];chOMVBwFT_O"><field name="NUM">60</field></block></value></block></value></block></value></block></value><statement name="DO0"><block type="logic_setafter" id="C!KC/){ST5!uYVH#W@9Z"><value name="A"><block type="switchvariablesSZ" id="6a*)Z8l8kvP=38DkqJ]3"><field name="Switch">135</field></block></value><value name="B"><block type="logic_states" id=",%zdYPiJZKUjopf:t#00"><field name="State">On</field></block></value><value name="C"><block type="math_number" id="z!*jIRFPg5$EY@2Lg/e-"><field name="NUM">300</field></block></value><next><block type="logic_setafter" id="}C2(c[Ngj,T/}tY5X(AX"><value name="A"><block type="switchvariablesSZ" id="+5q*)ZUb~eS_v~53WzT["><field name="Switch">134</field></block></value><value name="B"><block type="logic_states" id="cLybZw{pD[%y5gPB5aYC"><field name="State">Off</field></block></value><value name="C"><block type="math_number" id="7ek]nrpieSVHu06JEtPh"><field name="NUM">300</field></block></value></block></next></block></statement><value name="IF1"><block type="logic_operation" id="y171]~N{SlPfw$$l33K$"><field name="OP">AND</field><value name="A"><block type="logic_compare" id="B1/;z4`|p:OfqwVR99*P"><field name="OP">EQ</field><value name="A"><block type="switchvariablesSZ" id=".@W$1$HmSf0)h!F}!/Ck"><field name="Switch">134</field></block></value><value name="B"><block type="logic_states" id="E#1NOyp/EYRn=]%E[.1g"><field name="State">Off</field></block></value></block></value><value name="B"><block type="logic_operation" id="uuIrdN#xw?QK3/I*bgZx"><field name="OP">OR</field><value name="A"><block type="logic_compare" id="k3wL1gFJMg7ed*!0J916"><field name="OP">GT</field><value name="A"><block type="utilityvariables" id="+_h^:B2=p{;PnbxZ:g}{"><field name="Utility">120</field></block></value><value name="B"><block type="math_number" id="+GB{zJ7@$Jg[(GAnvIoj"><field name="NUM">1200</field></block></value></block></value><value name="B"><block type="logic_compare" id="TzEKLjd({8Aiv-.@%Jlm"><field name="OP">GT</field><value name="A"><block type="humidityvariables" id="usecKmJ.**$]A2VfdmR4"><field name="Humidity">130</field></block></value><value name="B"><block type="math_number" id="?a;,bIekPKo(}C46V45X"><field name="NUM">60</field></block></value></block></value></block></value></block></value><statement name="DO1"><block type="logic_set" id="7v~Yam[km*japws[E^mj"><value name="A"><block type="switchvariablesSZ" id="KH/C.z?{$+@I/}J{FFEo"><field name="Switch">134</field></block></value><value name="B"><block type="logic_states" id="7`|3[vHsm2g}O4}pNKIQ"><field name="State">On</field></block></value><next><block type="logic_set" id="4TBc*j8@jvAydnM4]Myk"><value name="A"><block type="switchvariablesSZ" id="c:ct!smwa))Mq.+dF;r{"><field name="Switch">135</field></block></value><value name="B"><block type="logic_states" id="B%H_*)Bp#eE0byoai:j~"><field name="State">Off</field></block></value></block></next></block></statement><value name="IF2"><block type="logic_operation" id="OqLpFLH)r2Up]A/ve#=D"><field name="OP">AND</field><value name="A"><block type="logic_operation" id="BS$v)ufX~3dG|q3$h$25"><field name="OP">OR</field><value name="A"><block type="logic_compare" id="RqWrbT75xqr{h=xI`/NZ"><field name="OP">EQ</field><value name="A"><block type="switchvariablesSZ" id="i~9yjQyjlo`P$#b%cKiT"><field name="Switch">135</field></block></value><value name="B"><block type="logic_states" id="Yaa:*.-SMUXN%dNZbAkZ"><field name="State">On</field></block></value></block></value><value name="B"><block type="logic_compare" id="mnOj})$VRVZ1I.R^OP5+"><field name="OP">EQ</field><value name="A"><block type="switchvariablesSZ" id="OPP6I}qjt6jrmyAc;g!r"><field name="Switch">134</field></block></value><value name="B"><block type="logic_states" id="]uF+ZGkR3r}VC[Dc=GL)"><field name="State">On</field></block></value></block></value></block></value><value name="B"><block type="logic_operation" id="au!HTB.37/Y]Z$}Wn6(L"><field name="OP">AND</field><value name="A"><block type="logic_compare" id="h=.PQ0@oF+Dx=f,dklc?"><field name="OP">LT</field><value name="A"><block type="utilityvariables" id="(i!XVriP;;4bW-mpY-_p"><field name="Utility">120</field></block></value><value name="B"><block type="math_number" id="mLyO*b@NON:tXRLP6;d3"><field name="NUM">600</field></block></value></block></value><value name="B"><block type="logic_compare" id="KuyVJ]-NlUWGLrn=/*1h"><field name="OP">LT</field><value name="A"><block type="humidityvariables" id="Yw8Y()%olRnNp]CarFY@"><field name="Humidity">130</field></block></value><value name="B"><block type="math_number" id="mFmah0,ZA;*$c)3n`I){"><field name="NUM">60</field></block></value></block></value></block></value></block></value><statement name="DO2"><block type="logic_setafter" id="VXWAOnEVcV?_6]nf$6{k"><value name="A"><block type="switchvariablesSZ" id="mQqW6NwVXwe|6-P=J*EO"><field name="Switch">135</field></block></value><value name="B"><block type="logic_states" id="7fnioY=#9~vD(6kBm0|#"><field name="State">Off</field></block></value><value name="C"><block type="math_number" id="~J0kdpn_iAjmce+#cpy^"><field name="NUM">600</field></block></value><next><block type="logic_setafter" id="JTtZFdAQ/HA[=P/FqZ:J"><value name="A"><block type="switchvariablesSZ" id="|LCrw-/fG==6mo0BMdSJ"><field name="Switch">134</field></block></value><value name="B"><block type="logic_states" id="#f`TI3y5iffp3T0W$so("><field name="State">Off</field></block></value><value name="C"><block type="math_number" id="!4*9jVUB@G5+/~J$0hK-"><field name="NUM">600</field></block></value></block></next></block></statement></block></xml>

[ Voor 87% gewijzigd door Murkmans op 19-01-2021 22:55 ]


  • roanbbb
  • Registratie: November 2015
  • Laatst online: 25-01-2021
Murkmans schreef op dinsdag 19 januari 2021 @ 22:18:
[...]


Hoe stuur je je ventilatie aan nu? Via wifi of iets dergelijks?
Ik heb er zelf 1 in blockly staan voor ventilatie (ook met co2).
Kan ze wel delen, kan je het zo overnemen.

[Afbeelding]

nog makkelijker, hier het schript.

[...]
Bedankt voor je reactie! Dat ziet er ook goed uit.
Ik stuur mijn ventilatie nu aan met klik aan uit via een 10V led dimmer. Die kan de ventilatie schakkelen op stand 1 en stand 3. 0% is stand 1, 100% is stand 3. Echter schakelt de ventilator dus niet terug naar 0% met het huidige script. Maar waarom is mij niet geheel duidelijk.

Acties:
  • Beste antwoord

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 08:39
Wat is je badkamer luchtvochtigheid op het moment dat je uit wil schakelen? Als ik je logging zo zie komt hij niet in het else gedeelte van de eerste if, dus zou die voorwaarde van de badkamerluchtvochtigheid die hoger dan 52 is nog actief zijn.

Zet anders eens al je inputwaarden zoals de luchtvochtigheden in een logregel die je voor alle IF's schrijft. Dan kan je beter interpreteren wat de loop van je programma is.

  • The-Source
  • Registratie: Augustus 2001
  • Laatst online: 23-11 17:33
Wat is de trigger dat het script begint te lopen? Is dat continu of wanneer badkamer verlichting wordt geschakeld? Bij het laatste lijkt mij dat het bij het uitschakelen van het licht de vochtigheid nog niet voldoet voor uitschakeling ventilatie.

Verder wat ook al hierboven wordt gezegd zet even de nodig 'debug' regels in je code die ik het log worden geschreven, en dat kan al zoiets zijn als script regel x zo weet je precies hoe de code loopt

Taal fouten inbegrepen ;)
Mijn AI Art YouTube kanaal


  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 08:39
The-Source schreef op woensdag 20 januari 2021 @ 08:39:
Wat is de trigger dat het script begint te lopen? Is dat continu of wanneer badkamer verlichting wordt geschakeld? Bij het laatste lijkt mij dat het bij het uitschakelen van het licht de vochtigheid nog niet voldoet voor uitschakeling ventilatie.
Zo te zien aan het script is de trigger bij elke verandering in de luchtvochtigheid van de badkamer of de slaapkamer.

  • Knielen
  • Registratie: December 2009
  • Laatst online: 10:36
Ik heb slechte ervaringen met het 'else' statement in DzVents. Probeer eens een 'elseif' met als voorwaarde dat de vochtigheid gelijk of lager is dan 52.

Overigens vraag ik me af of je wel bereikt wat je wilt, je ventilatie gaat nu dus alleen maar uit als het niveau onder de 52% komt, dat haal je op deze natte dagen nooit volgens mij.

Ikzelf gebruik het script in dit topic

[ Voor 13% gewijzigd door Knielen op 20-01-2021 08:52 ]


  • Gizz
  • Registratie: Maart 2001
  • Laatst online: 10:29

Gizz

Dunder-Mifflin, Inc.

roanbbb schreef op woensdag 20 januari 2021 @ 08:20:
[...]
Ik stuur mijn ventilatie nu aan met klik aan uit via een 10V led dimmer. Die kan de ventilatie schakkelen op stand 1 en stand 3. 0% is stand 1, 100% is stand 3.
Dat betekent dat je de juiste spullen in huis hebt voor traploze ventilatie! :) Je bent namelijk niet afhankelijk van die drie standen, elk percentage (en dus voltage van 0-10V) zal je mechanische ventilatie ook op het percentage vermogen tussen de minimum- en maximumstand laten draaien.

Zelf vond ik qua comfort de overstap naar traploos ventileren veel groter dan überhaupt de mogelijkheid om via domotica de mechanische ventilatie aan te sturen. Geen gependel meer, niet hoorbaar dat je mechanische ventilatie terugschakelt van stand 3 naar 2 of andersom.

Niet een oplossing voor je probleem, wel een tip om verder te kijken dan die 3 standen ;)

Zelf heb ik het 'ventilatie script' in Node-red gemaakt op basis van CO2-sensoren (slaapkamer, kantoor, huiskamer), fijnstof (keuken) en luchtvochtigheid (badkamer). Geen idee hoe dat precies in Domoticz gaat met scripts, heb nooit de tijd genomen om me daarin te verdiepen.

Canon EOS 5Dm3 + 5D + 7D + 300D + 1000FN + EF 17-40 4L + EF 35 1.4L + EF 50 1.8 + EF 80-200 2.8L + 550EX


  • roanbbb
  • Registratie: November 2015
  • Laatst online: 25-01-2021
Iedereen bedankt voor het meedenken en de tips / suggesties.
Het probleem is verholpen door het verwijderen van de volgende regel:

Lua:
1
if (domoticz.devices('Badkamer TH').humidity > 52) then


2021-01-20 10:58:54.576 Status: dzVents: Info: ------ Start internal script: Ventilator: Device: "Badkamer THH (zigbee)", Index: 456
2021-01-20 10:58:54.576 Status: dzVents: Info: ************ Mechanische Ventilatie v2.0 ******************
2021-01-20 10:58:54.577 Status: dzVents: Info: NIET vochtig in de Badkamer. Badkamer: 51% verschil Slaapkamer: 2
2021-01-20 10:58:54.578 Status: dzVents: Info: ************ einde Mechanische Ventilatie v2.0 ******************
2021-01-20 10:58:54.578 Status: dzVents: Info: ------ Finished Ventilator

Nu schakelt de ventilatie netjes terug naar 0%

[ Voor 58% gewijzigd door roanbbb op 20-01-2021 11:07 ]


  • roanbbb
  • Registratie: November 2015
  • Laatst online: 25-01-2021
Nog een vraag met betrekking tot het script.
Is het ook mogelijk om met LUA een apparaat na een x aantal minuten pas te laten schakelen. Ik zou namelijk graag willen dat de ventilator pas na 15 minuten uit gaat in plaats van direct als de luchtvochtigheid is gedaald.
Lua:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
return {
    on = {
        devices = {
            'Badkamer TH',
            'Slaapkamer TH'
            
        }
    },
    execute = function(domoticz, device)
        
        domoticz.log('************  Mechanische Ventilatie v2.0   ******************', domoticz.LOG_INFO)
        
        local humverschil 
        
        humverschil = domoticz.devices('Badkamer TH').humidity - domoticz.devices('Slaapkamer TH').humidity
        
        
        
        if (domoticz.devices('Badkamer TH').humidity > 52) then
         if (humverschil > 20 ) then
            
            domoticz.log('Vochtig in de Badkamer. MV aanzetten.', domoticz.LOG_INFO)
            if (domoticz.devices('Ventilatie').level ~= 100) then
                domoticz.devices('Ventilatie').dimTo(100)
            end
         end
    else
            domoticz.log('NIET vochtig in de Badkamer. Badkamer: ' ..domoticz.devices('Badkamer TH').humidity ..'% verschil Slaapkamer: ' ..humverschil, domoticz.LOG_INFO)
            
            if (domoticz.devices('Ventilatie').level ~= 0) then
                domoticz.devices('Ventilatie').dimTo(0)
                domoticz.log('MV uitzetten.', domoticz.LOG_INFO)
            end
    end
        
        domoticz.log('************  einde Mechanische Ventilatie v2.0   ******************', domoticz.LOG_INFO)
        
    end
}

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 08:39
roanbbb schreef op zaterdag 23 januari 2021 @ 13:00:
Nog een vraag met betrekking tot het script.
Is het ook mogelijk om met LUA een apparaat na een x aantal minuten pas te laten schakelen. Ik zou namelijk graag willen dat de ventilator pas na 15 minuten uit gaat in plaats van direct als de luchtvochtigheid is gedaald.

[...]
Ja, maar daar komt even wat meer bij kijken. In Domoticz heb je user variables die je zelf naar hartelust kan aanmaken en die je vanuit LUA kan lezen en ook weer beschrijven. Als je je script dan vervolgens niet triggered vanuit een device change, maar on time elke minuut uitvoert (wat voor jou doeleinde prima kan), kan je in die user variabelen een waarde opslaan waarmee je die 15 minuten aftelt. Er zullen wellicht nog wel andere methode zijn, maar dit is wat ik doe.
Pagina: 1