zwei Lüfter sollen gleichzeitig einschalten - es schaltet jedoch nur einer

Begonnen von Issi, 28 Dezember 2013, 03:05:17

Vorheriges Thema - Nächstes Thema

Issi

Hallo Forum

Folgende Situation bei mir Zuhause:
Ich gebe eine Temperatur vor (mit einem FHT80b) und es sollen gleichzeitig ein Zuluftventilator (per FS20WS1) und ein Abluftventilator (per FS20st) eingeschaltet werden.

Habe mit Hilfe diesen Code eingefügt:

notify:
define n_Heizung notify Thermostat_Wohnzimmer:actuator.* {}


code:
if (ReadingsVal("Thermostat_Wohnzimmer","actuator",20) >= 50) {
    fhem("set Zuluftventilator on");
   fhem("set Steckdose_Abluftventilator on");
  }
  if (ReadingsVal("Thermostat_Wohnzimmer","actuator",20) <= 30) {
    fhem("set Zuluftventilator off");
   fhem("set Steckdose_Abluftventilator off");
  }


Jetzt zu meinem Problem (eigentlich zwei):
Auf meiner Weboberfläche schalten beide "Lampen" (Lampe ein=gelb / Lampe aus=grau) aber es schaltet nur ein Aktoren Vorort - und zwar die Steckdose für den Abluftventilator (Steckdose_Abluftventilator).
Der Wechselschalter (FS20WS1) schaltet nicht - wenn ich jetzt von der Weboberfläche nochmal auf die (jetzt) gelbe Lampe klicke schaltet er ohne Probleme ein.

Das gleiche beim ausschalten, ich gebe z.B. 10°C am FHT80b vor und es schaltet wieder nur der "Steckdose_Abluftventilator" aus (es gehen aber beide gelbe Lampen aus).
Wenn ich nun nochmal auf die bereits graue Lampe klicke geht der "echte" FS20WS1 auch ohne Probleme aus.

Von der Programmierung her sollte es funktionieren, ebenso vom aktuellen Standort.

Hat jemand eine Idee?


Danke und Gruss
Dennis


EDIT:
Im Logfile wird angezeigt das beide Aktoren schalten, es werden auch keine Fehler angezeigt.

Strippenzieher

#1
Ich könnte durchaus falsch liegen, aber probier mal am Ende der Zeilen statt ";" ob es mit ";;" funktioniert ...

if (ReadingsVal("Thermostat_Wohnzimmer","actuator",20) >= 50) {
    fhem("set Zuluftventilator on");;
   fhem("set Steckdose_Abluftventilator on");;
}
  if (ReadingsVal("Thermostat_Wohnzimmer","actuator",20) <= 30) {
    fhem("set Zuluftventilator off");;
   fhem("set Steckdose_Abluftventilator off")
}


oder so ähnlich vielleicht ... Es könnte auch sein, dass noch einige Klammern"{()}" für das 2. if bei mir fehlen ...

MFG Chris

maxritti

Ich meine gestern das gleiche Problem gehabt zu haben.
Bei mir stehen nun mehrere Befehle mit ;; getrennt in dem fhem(...) Aufruf.
Also in etwa so:

if (ReadingsVal("Thermostat_Wohnzimmer","actuator",20) >= 50) {
    fhem("set Zuluftventilator on ;; set Steckdose_Abluftventilator on")
}
  if (ReadingsVal("Thermostat_Wohnzimmer","actuator",20) <= 30) {
    fhem("set Zuluftventilator off ;; set Steckdose_Abluftventilator off")
}

Strippenzieher

@ maxritti
Ich wollte den Code nicht zu weit verändern um keine Verwirrung zu stiften, aber so in etwa hätte ich es auch geschrieben, ich war mir auch nicht ganz sicher, ob die ";;" am Ende des ersten If codes nötig sind ...

Issi

So, ich habe es mal so gemacht wie maxritte empfohlen hatte.
Die ersten zwei mal hat der WS1 sofort geschaltet und ich hatte mich schon gefreut - aber: danach schaltet er nur ganz ganz selten, gefühlte 30%.

Die Steckdose schaltet wirklich jedes mal.
Auch habe ich die Position des WS1 verändert, er liegt jetzt ca. 1m vom Sender entfernt. Aber wie bereits geschrieben, gebe ich den Schaltbefehl von Hand schaltet er wieder sofort, egal wo er liegt.

UPDATE:
Bin gerade den Beitrag hier am schreiben und der WS1 hat geschaltet, 8 Minuten nachdem die Steckdose bereits geschaltet hatte.
Laut Log hat er auf den 5. Sendebefehl reagiert - die (Ein-)Befehle werden alle 2 Minuten gesendet.

Ist das so richtig oder suche ich jetzt einen Fehler der keiner ist??

Puschel74

Hallo,

ZitatIst das so richtig oder suche ich jetzt einen Fehler der keiner ist??
Vermute ich eher.
Zumindest kein Fehler in FHEM.

Ich hab dir doch in der Firma mal was gesagt wegen LTE  8)
Es kann durchaus sein das sich der WS1 durch LTE "stören" lässt dann verschluckt er den einen oder anderen Befehl und irgendwann klappt es dann wieder.
Du hast ja gesehen das in der Firma der WS1 auch brav jeden Schaltbefehl angenommen hat - auch aus dem notify heraus.

Ich weiß ja auch nicht ob es wirklich an LTE liegt bei dir - ich würde aber erstmal nichts ausschliessen.
Ausser FHEM - den lt. Logfile werden ja beide Schaltbefehle abgesetzt und der ST schaltet ja auch.
Nur der WS1 ist ab und zu mal "taub".

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Issi

Das Ding macht mich noch wahnsinnig.
LTE hab ich hier nicht (zumindest nicht nach dem Handy meiner Frau). Daran kann es (noch) nicht liegen  :)

Wenn ich den Schaltbefehl nachträglich per Hand schicke gehts ja auch.....grumml.

fiedel

Hi Dennis,

diese älteren "nicht LTE festen" FS20 Geräte haben auch ohne LTE eine leichte "Schwerhörigkeit", wenn ihnen funkmäßig irgendwas nicht gefällt. Das kann die Entfernung sein, muss aber nicht. Ich hab diese Probleme z.B. im HWR, wo CUNO und Empfangsmodul nur 4 Meter entfernt sind. Andererseits schaltet ein orig. FS20 Wandtaster das gleiche Modul aus gößerer Entfernung und durch eine Stahlbetondecke zuverlässig. Könnte also durchaus auch mit CUL / CUNO zu tun haben.

Mein Workaround bis ich den Quark mit 1-Wire oder HM ablöse: Ich sende mehrmals zeitlich versetzt. Sieht so aus:

fhem("define FS20_Dose_OFF at +*{3}00:00:10 set FS20_Dose off");;\

Das hilft wirklich, du hast aber den Nachteil, dass es ab und zu erst beim zweiten, oder dritten mal schaltet.

Gruß

Frank

FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Issi

Zitat von: fiedel am 29 Dezember 2013, 08:41:47
Das hilft wirklich, du hast aber den Nachteil, dass es ab und zu erst beim zweiten, oder dritten mal schaltet.

Bei mir wird über den Lüfter die warme Zuluft geregelt (Heizung mit Luftzirkulation) - dann lieber mit dem zweiten Befehl als gar nicht  ;D ;D

Issi

So richtig funktioniert die Lüftersteuerung doch noch nicht.


Was hab ich heute gemacht?

Mein Fhem funktionierte heute den ganzen Tag ohne Probleme (Code für Lüfter noch nicht eingefügt) - soll bedeuten, Solltemp. geändert (z.B. 30°C) --> wurde im FHT80B und im Fhem dropdown angezeigt.
Actuator geht auf 100% und Trend funktioniert auch.
Mehrmals hoch und runter ausprobiert - alles i.O.



Die folgenden Codes eingefügt:

define n_Heizung notify Thermostat_Wohnzimmer:actuator.* {}



Das bearbeitete notify:

if (ReadingsVal("Thermostat_Wohnzimmer","actuator",20) >= 50) {
    fhem("set Zuluftventilator on");
   fhem("set Steckdose_Abluftventilator on");
  }
  if (ReadingsVal("Thermostat_Wohnzimmer","actuator",20) <= 30) {
    fhem("set Zuluftventilator off");
   fhem("set Steckdose_Abluftventilator off");
  }


Mein Problem:
Mein Fhem setzt keine Befehle mehr ab (Logauszug):
2013.12.29 22:49:13 0: Server started with 19 defined entities (version $Id: fhem.pl 4386 2013-12-15 17:09:05Z rudolfkoenig $, os linux, user fhem, pid 2842)
2013.12.29 22:50:57 2: FHT set Thermostat_Wohnzimmer desired-temp 10.0
2013.12.29 22:52:20 2: FHT set Thermostat_Wohnzimmer desired-temp 30.0
2013.12.29 22:53:10 3: FS20 set Zuluftventilator off
2013.12.29 22:53:10 3: FS20 set Steckdose_Abluftventilator off
2013.12.29 22:55:06 3: FS20 set Zuluftventilator off
2013.12.29 22:55:06 3: FS20 set Steckdose_Abluftventilator off
2013.12.29 22:57:01 3: FS20 set Zuluftventilator off
2013.12.29 22:57:01 3: FS20 set Steckdose_Abluftventilator off
2013.12.29 22:58:57 3: FS20 set Zuluftventilator off
2013.12.29 22:58:57 3: FS20 set Steckdose_Abluftventilator off
2013.12.29 23:00:52 3: FS20 set Zuluftventilator off
2013.12.29 23:00:52 3: FS20 set Steckdose_Abluftventilator off
2013.12.29 23:02:48 3: FS20 set Zuluftventilator off
2013.12.29 23:02:48 3: FS20 set Steckdose_Abluftventilator off
2013.12.29 23:04:43 3: FS20 set Zuluftventilator off
2013.12.29 23:04:43 3: FS20 set Steckdose_Abluftventilator off
2013.12.29 23:06:39 3: FS20 set Zuluftventilator off
2013.12.29 23:06:39 3: FS20 set Steckdose_Abluftventilator off
2013.12.29 23:08:34 3: FS20 set Zuluftventilator off
2013.12.29 23:08:34 3: FS20 set Steckdose_Abluftventilator off
2013.12.29 23:10:30 3: FS20 set Zuluftventilator off
2013.12.29 23:10:30 3: FS20 set Steckdose_Abluftventilator off

FHT set Thermostat_Wohnzimmer desired-temp 10.0 hat noch funktioniert, das Set auf 30°C jedoch nicht mehr.

get CSM raw T02 gibt als Antwort: CSM raw => 2421:413C

Was mir auffällt, der "Aus-Befehl" wird alle 2 Minuten gesendet, ich vermute das deshalb der "Set 30°C Befehl" nicht gesendet werden kann.
Kann der Code so abgeändert werden, dass dieser erst aktiv wird wenn ich die "desired-temp." ändere?


Gruss Dennis

Strippenzieher

könnte es sein das er immer schaltet, wenn der state aktualisiert wird?
Dann würde ich es mal mit event-on-change-reading probieren ...

fiedel

Du solltest in dein Notify noch zusätzliche Bedingungen einfügen: Wenn Thermostat kleiner/gleich 50 und Lüfter gleich off dann schalte Lüfter on. Für aus eben anders herum. Dann wird nur geschaltet, wenn es erforderlich ist. Ansonsten wird das Notify zwar auch immer abgearbeitet, aber wegen der unwahren Bedingung der Befehl nicht ausgeführt. Deine Hysterese (50/30) ist ja schön groß, dann kann auch nichts schwingen.

Gruß

Frank 
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Puschel74

Hallo,

Dennies - lesen, suchen, lesen.
Hab ich dir doch auch in der Firma schon gezeigt - schreibst du auch mal was mit?  ::)

Versuchs mal so (Frank hat dich ja auf die richtige Spur gebracht):
fhem("set Zuluftventilator on") if(Value("Zulufventilator") eq "off");
und bei den 30% mit eq "on"

@Frank
Die 50 und 30 hab ich ihm reingeworfen - sonst wär gleich wieder die Frage gekommen - warum schaltet der so oft  ;D

Grüsle
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

fiedel

FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Puschel74

Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.