Fernsteuerung von inVENTer Lüftungsanlagen: Unterschied zwischen den Versionen

Aus FHEMWiki
 
(14 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=Regler sMove=
=Regler sMove=
inVENTer Lüftungsanlagen werden häufig über den Regler sMove gesteuert. Dieser hat einen Eingang, der an Hand einer Spannung von 0..10 V den Betriebszustand des Gerätes festlegt. Dabei wird gleichzeitig die manuelle Steuerung blockiert. Erkennbar ist dies daran, dass die LED-Anzeige der Leistungsstufe auf dem Frontplatte des sMove blinkt, während sie bei manueller Bedienung konstant leuchtet.
inVENTer Lüftungsanlagen werden häufig über den Regler sMove gesteuert. Dieser hat einen Eingang, der an Hand einer Spannung von 0..10 V den Betriebszustand des Gerätes festlegt. Dabei wird gleichzeitig die manuelle Steuerung blockiert. Erkennbar ist dies daran, dass die LED-Anzeige der Leistungsstufe auf dem Frontplatte des sMove blinkt, während sie bei manueller Bedienung konstant leuchtet. Bei der Einstellung dieser Steuerspannungen ist zu berücksichtigen, dass der Eingangswiderstand (gegen GND) des sMove nur etwa 6,4 kOhm beträgt.
{|class="wikitable"
{| class="wikitable"
|-
|-
|Spannung (V)  
|Spannung (V)  
Zeile 34: Zeile 35:
|}
|}
== Realisierung als HomeMatic-Gerät ==
== Realisierung als HomeMatic-Gerät ==
Verwendet wird ein 8-Kanal Empfangsmodul HM-Mod-Re-8, das mit 8 Open Collector-Ausgängen bestückt ist. Das verhindert die Nutzung des Zustandes "Entlüftung Stufe 3", da sich mit bipolaren Transistoren keine Restspannung von 0,25 V erreichen lässt. Stattdessen wird bei Aktivierung des 8. Kanals des Moduls der in der Schaltung erkennbare MOSFET 2N7000 gesperrt, so dass am Steuerungseingang des sMove keine Spannung mehr anliegt. Damit wird der manuelle Steuermodus wieder aktiviert.
Verwendet wird ein 8-Kanal Empfangsmodul HM-Mod-Re-8, das mit 8 Open Collector-Ausgängen an den OUTn-Pins bestückt ist. Das verhindert in unserer Schaltung die Nutzung des Zustandes "Entlüftung Stufe 3", da sich mit bipolaren Transistoren keine Restspannung von 0,25 V erreichen lässt. Stattdessen wird erst bei Aktivierung des 8. Kanals des Moduls der in der Schaltung erkennbare MOSFET M1 gesperrt, damit der zweite MOSFET M2 durchgeschaltet so dass am Steuerungseingang des sMove keine Spannung mehr anliegt. Diese doppelte Inverterstufe ist nötig, damit beim Reset des HomeMatic-Moduls (=Alle Ausgänge ausgeschaltet) der Regler sMove <nowiki>''</nowiki>keine<nowiki>''</nowiki> Steuerspannung erhält und sich somit im manuellen Modus befindet.
 
 
 
 
 
 
 
 
 


Die anderen 7 Ausgänge werden über Kombinationen von Widerständen so an den Widerstand von 3k Ohm zur Versorgungsspannung angeschlossen, dass sich beim Einschalten des betreffenden OUTn-Pins am Ausgang zum sMove-Regler eine Spannung wie in der Tabelle ergibt; bzw., wenn kein Ausgang geschaltet ist, gerade 8,0 V anliegen (Wärmetausch-Modus Stufe 4). '''Achtung: Dafür muss der Ausgang des Step-Down-Reglers, der die 24 V Betriebsspannung des sMove herunterregelt, auf 11,8 V eingestellt werden.''' Nachstehend der Schaltplan und ein Foto des ersten Aufbaus. Oben ist der Step-Down-Regler erkennbar, ganz unten der MOSFET 2N7000. Die Widerstände sind etwas unterschiedlich in Toleranz und Belastbarkeit - das war gerade so das, was in der Bastelkiste noch herumflog
<gallery mode="packed">
Datei:SMove2.png|Schaltplan
Datei:SMove3.jpg|(Hier in der Prototypversion mit nur einem Inverter)
</gallery>
Eigentlich ist das eine furchtbare Verschwendung, weil zur Codierung der 9 verschiedenen Möglichkeiten 4 Bit ausreichen würden - hier aber 8 Bit verwendet werden. Im vorliegenden Fall war das aber die einfachste und schnellste Möglichkeit zur Realisierung.


Zur Einbindung in FHEM wird nun das [[HM-MOD-Re-8_8-Kanal-Empfangsmodul]] wie üblich an die FHEM-Zentrale angelernt. Als Name dafür habe ich ''WZ.Air.sw'' gewählt, die erzeugten 8 verschiedenen Schaltdevices haben die Namen ''WZ.Air_0n''. Da ich die alle gar nicht sehen will, habe ich eine Lightscene definiert:
[[Datei:SMove4.png|alternativtext=Lightscene|links|mini|Lichtszene zur Steuerung der Anlage]]
sowie ein DOIF
define WZ.Air.N DOIF
([WZ.Air:"level.*manual"])
(setreading WZ.Air current manual,
  set WZ.Air.sc scene manual)
DOELSEIF
( [WZ.Air:"level.*off"] or [WZ.Tuer.K:"open"] )
({fhem("setreading WZ.Air previous ".ReadingsVal("WZ.Air","current","off"));
  fhem("setreading WZ.Air level off");
  fhem("setreading WZ.Air current off")},
  set WZ.Air.sc scene off)
DOELSEIF
([WZ.Air:"level.*(-?\d)"])
({"$EVENT"=~/level.*(-?\d)/;
  my $lvl=$1;
  fhem("setreading WZ.Air current ".$lvl);
  fhem("set WZ.Air.sc scene level".$lvl)})
DOELSEIF
( [WZ.Air:"restore"] or [WZ.Tuer.K:"closed"] )
({my $lvl=ReadingsVal("WZ.Air","previous","off");
  fhem("setreading WZ.Air level $lvl");
  fhem("setreading WZ.Air current $lvl");
  fhem("set WZ.Air.sc scene level$lvl")})


Dieses DOIF reagiert auch auf die Events eines Türsensors und schaltet bei offener (Terrassen-) Tür die Lüftung aus.
[[Datei:SMove5.png|alternativtext=Lightscene|links|mini|Verschiedene Icons bei verschiedenen Zuständen der Lüftung]]
Ferner ein Dummy WZ.Air, das die ganze Angelegenheit steuert und dabei komfortable Icons für die Level off,1,2,3,4 (Pendelbetrieb) sowie -1,-2,-4 (Abluftbetrieb) verwendet
Internals:
    FUUID      5e80d751-f33f-7377-a3ce-92dd408cfbdf4dd4
    NAME      WZ.Air
    NR        692
    STATE      <nowiki><div style="text-align:left"></nowiki>
1:manual
2:manual
<nowiki></div></nowiki>
    TYPE      dummy
    READINGS:
      2020-05-30 12:44:29  current        manual
      2020-05-30 12:44:29  level          manual
      2020-05-30 11:00:17  previous        manual
Attributes:
    devStateIcon 1.off.*:ios-off:level+1 1.*:ios-on-green:level+off  2.off:vent_ventilation@red:level+1 2.manual:vent_ventilation_level_manual_m:level+off 2.1:vent_ventilation_level_0@green:level+2 2.2:vent_ventilation_level_1@green:level+3 2.3:vent_ventilation_level_2@green:level+4 2.4:vent_ventilation_level_3@green:level+off 2.-1:vent_ventilation_level_0@orange:level+-2 2.-2:vent_ventilation_level_1@orange:level+-4 2.-4:vent_ventilation_level_3@orange:level+off
    group      climateControl
    readingList level
    room      Erdgeschoss
    setList    level:off,1,2,3,4,-1,-2,-4,manual
    stateFormat <nowiki><div style="text-align:left"></nowiki>
1:level
2:level
<nowiki></div></nowiki>
    webCmd    level
    webCmdLabel Level


=Etwas Theorie=
(Vielleicht mache ich auch noch eine Zeichnung dafür ...)
R1(=3 k) ist der Widerstand zwischen Speisepannung und Ausgang zum sMove-Regler (VOR dem MOSFET). R2 verbindet diesen Punkt mit GND.
Die gesuchte Spannung (zum sMove-Regler) ist Vs, die Speisespannung der Schaltung ist Vd
Der Innenwiderstand des Reglers ist Rs(=6,4 k), die Kollektor-Emitterspannung der Schaltstufe Vt und der Widerstand der Schaltstufe Rt


Damit ergibt sich Vs als


Vs = ( Vd * R2/(R1+R2) + Vt * R1/(R1+R2) ) / (1 + R1*R2/(Rs*(R1+R2)))


[[Kategorie:Lüftungssteuerung]]
[[Kategorie:Lüftungssteuerung]]

Aktuelle Version vom 8. November 2020, 07:02 Uhr

Regler sMove

inVENTer Lüftungsanlagen werden häufig über den Regler sMove gesteuert. Dieser hat einen Eingang, der an Hand einer Spannung von 0..10 V den Betriebszustand des Gerätes festlegt. Dabei wird gleichzeitig die manuelle Steuerung blockiert. Erkennbar ist dies daran, dass die LED-Anzeige der Leistungsstufe auf dem Frontplatte des sMove blinkt, während sie bei manueller Bedienung konstant leuchtet. Bei der Einstellung dieser Steuerspannungen ist zu berücksichtigen, dass der Eingangswiderstand (gegen GND) des sMove nur etwa 6,4 kOhm beträgt.

Spannung (V) Zustand
0..0,25 Entlüftung Stufe 3
0,75..1,25 Entlüftung Stufe 4
1,75..2,25 Entlüftung Stufe 2
2,75..3,25 Entlüftung Stufe 1
3,75..4,25 Gerät ausgeschaltet
4,75..5,25 Wärmerückgewinnung Stufe 1
5,75..6,25 Wärmerückgewinnung Stufe 2
6,75..7,25 Wärmerückgewinnung Stufe 3
7,75..8,25 Wärmerückgewinnung Stufe 4

Realisierung als HomeMatic-Gerät

Verwendet wird ein 8-Kanal Empfangsmodul HM-Mod-Re-8, das mit 8 Open Collector-Ausgängen an den OUTn-Pins bestückt ist. Das verhindert in unserer Schaltung die Nutzung des Zustandes "Entlüftung Stufe 3", da sich mit bipolaren Transistoren keine Restspannung von 0,25 V erreichen lässt. Stattdessen wird erst bei Aktivierung des 8. Kanals des Moduls der in der Schaltung erkennbare MOSFET M1 gesperrt, damit der zweite MOSFET M2 durchgeschaltet so dass am Steuerungseingang des sMove keine Spannung mehr anliegt. Diese doppelte Inverterstufe ist nötig, damit beim Reset des HomeMatic-Moduls (=Alle Ausgänge ausgeschaltet) der Regler sMove ''keine'' Steuerspannung erhält und sich somit im manuellen Modus befindet.

Die anderen 7 Ausgänge werden über Kombinationen von Widerständen so an den Widerstand von 3k Ohm zur Versorgungsspannung angeschlossen, dass sich beim Einschalten des betreffenden OUTn-Pins am Ausgang zum sMove-Regler eine Spannung wie in der Tabelle ergibt; bzw., wenn kein Ausgang geschaltet ist, gerade 8,0 V anliegen (Wärmetausch-Modus Stufe 4). Achtung: Dafür muss der Ausgang des Step-Down-Reglers, der die 24 V Betriebsspannung des sMove herunterregelt, auf 11,8 V eingestellt werden. Nachstehend der Schaltplan und ein Foto des ersten Aufbaus. Oben ist der Step-Down-Regler erkennbar, ganz unten der MOSFET 2N7000. Die Widerstände sind etwas unterschiedlich in Toleranz und Belastbarkeit - das war gerade so das, was in der Bastelkiste noch herumflog

Eigentlich ist das eine furchtbare Verschwendung, weil zur Codierung der 9 verschiedenen Möglichkeiten 4 Bit ausreichen würden - hier aber 8 Bit verwendet werden. Im vorliegenden Fall war das aber die einfachste und schnellste Möglichkeit zur Realisierung.

Zur Einbindung in FHEM wird nun das HM-MOD-Re-8_8-Kanal-Empfangsmodul wie üblich an die FHEM-Zentrale angelernt. Als Name dafür habe ich WZ.Air.sw gewählt, die erzeugten 8 verschiedenen Schaltdevices haben die Namen WZ.Air_0n. Da ich die alle gar nicht sehen will, habe ich eine Lightscene definiert:

Lightscene
Lichtszene zur Steuerung der Anlage

sowie ein DOIF

define WZ.Air.N DOIF
([WZ.Air:"level.*manual"])
(setreading WZ.Air current manual,
 set WZ.Air.sc scene manual)
DOELSEIF
( [WZ.Air:"level.*off"] or [WZ.Tuer.K:"open"] )
({fhem("setreading WZ.Air previous ".ReadingsVal("WZ.Air","current","off"));
  fhem("setreading WZ.Air level off");
  fhem("setreading WZ.Air current off")},
 set WZ.Air.sc scene off)
DOELSEIF
([WZ.Air:"level.*(-?\d)"])
({"$EVENT"=~/level.*(-?\d)/;
  my $lvl=$1;
  fhem("setreading WZ.Air current ".$lvl);
  fhem("set WZ.Air.sc scene level".$lvl)})
DOELSEIF
( [WZ.Air:"restore"] or [WZ.Tuer.K:"closed"] )
({my $lvl=ReadingsVal("WZ.Air","previous","off");
  fhem("setreading WZ.Air level $lvl");
  fhem("setreading WZ.Air current $lvl");
  fhem("set WZ.Air.sc scene level$lvl")})

Dieses DOIF reagiert auch auf die Events eines Türsensors und schaltet bei offener (Terrassen-) Tür die Lüftung aus.

Lightscene
Verschiedene Icons bei verschiedenen Zuständen der Lüftung

Ferner ein Dummy WZ.Air, das die ganze Angelegenheit steuert und dabei komfortable Icons für die Level off,1,2,3,4 (Pendelbetrieb) sowie -1,-2,-4 (Abluftbetrieb) verwendet

Internals:
   FUUID      5e80d751-f33f-7377-a3ce-92dd408cfbdf4dd4
   NAME       WZ.Air
   NR         692
   STATE      <div style="text-align:left">
1:manual 
2:manual
</div>
   TYPE       dummy
   READINGS:
     2020-05-30 12:44:29   current         manual
     2020-05-30 12:44:29   level           manual
     2020-05-30 11:00:17   previous        manual
Attributes:
   devStateIcon 1.off.*:ios-off:level+1 1.*:ios-on-green:level+off  2.off:vent_ventilation@red:level+1 2.manual:vent_ventilation_level_manual_m:level+off 2.1:vent_ventilation_level_0@green:level+2 2.2:vent_ventilation_level_1@green:level+3 2.3:vent_ventilation_level_2@green:level+4 2.4:vent_ventilation_level_3@green:level+off 2.-1:vent_ventilation_level_0@orange:level+-2 2.-2:vent_ventilation_level_1@orange:level+-4 2.-4:vent_ventilation_level_3@orange:level+off
   group      climateControl
   readingList level
   room       Erdgeschoss
   setList    level:off,1,2,3,4,-1,-2,-4,manual
   stateFormat <div style="text-align:left">
1:level 
2:level
</div>
   webCmd     level
   webCmdLabel Level

Etwas Theorie

(Vielleicht mache ich auch noch eine Zeichnung dafür ...) R1(=3 k) ist der Widerstand zwischen Speisepannung und Ausgang zum sMove-Regler (VOR dem MOSFET). R2 verbindet diesen Punkt mit GND. Die gesuchte Spannung (zum sMove-Regler) ist Vs, die Speisespannung der Schaltung ist Vd Der Innenwiderstand des Reglers ist Rs(=6,4 k), die Kollektor-Emitterspannung der Schaltstufe Vt und der Widerstand der Schaltstufe Rt

Damit ergibt sich Vs als

Vs = ( Vd * R2/(R1+R2) + Vt * R1/(R1+R2) ) / (1 + R1*R2/(Rs*(R1+R2)))