39_STELLMOTOR - ventilsteuerung mit R/L-Motor und relais, zB.Heizungsmischer 3.0

Begonnen von epsrw1, 24 Mai 2014, 15:52:17

Vorheriges Thema - Nächstes Thema

Morgennebel

Nun, wir haben zwei Thesen zum Ursprung des Problemes - die INPUT-Seite und das STELLMOTOR-Modul selbst.

Beides läßt sich testen und eingrenzen.

Dein Pi ist ausgelastet, was meine These (STELLMOTOR und FHEM beschäftigt/geblockt) stützt.

Ich würde daher vorschlagen, eine zweite FHEM-Instanz in Deinem Fall probeweise zu installieren. Die lauscht auf einem anderen Port (z.B. 9083) und kümmert sich nur um das STELLMOTOR-Modul. Alternativ einen zweiten Pi nur für das STELLMOTOR-Modul. Anbindung über FHEM2FHEM.

Sind danach die Probleme weg, hast Du eine Lösung und wir wissen mehr...

Ciao, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Morgennebel

Gerade eben wieder einen Fehler bei mir bemerkt:


2018-01-01_21:40:00 EG.HWR.Fussbodenmischer position: 43   << addLog
2018-01-01_21:45:00 EG.HWR.Fussbodenmischer position: 43   << addLog
2018-01-01_21:45:14 DI_MischerCommands wait_timer: no timer
2018-01-01_21:45:14 EG.HWR.Fussbodenmischer position: 44
2018-01-01_21:45:14 DI_MischerCommands cmd_nr: 3
2018-01-01_21:45:14 DI_MischerCommands cmd: 3
2018-01-01_21:45:14 DI_MischerCommands cmd_event: EG.Heizung.Mischer.Vorlauf
2018-01-01_21:45:14 DI_MischerCommands cmd_3
2018-01-01_21:45:32 DI_MischerCommands wait_timer: 01.01.2018 21:51:32 cmd_3 EG.Heizung.Mischer.Vorlauf
2018-01-01_21:50:00 EG.HWR.Fussbodenmischer position: 44   << addLog
2018-01-01_21:51:32 DI_MischerCommands wait_timer: no timer
2018-01-01_21:51:32 EG.HWR.Fussbodenmischer position: 45
2018-01-01_21:51:32 DI_MischerCommands cmd_nr: 3
2018-01-01_21:51:32 DI_MischerCommands cmd: 3
2018-01-01_21:51:32 DI_MischerCommands cmd_event: EG.Heizung.Mischer.Vorlauf
2018-01-01_21:51:32 DI_MischerCommands cmd_3
2018-01-01_21:51:51 DI_MischerCommands wait_timer: 01.01.2018 21:57:51 cmd_3 EG.Heizung.Mischer.Vorlauf
2018-01-01_21:55:01 EG.HWR.Fussbodenmischer position: 45   << addLog
2018-01-01_21:57:51 DI_MischerCommands wait_timer: no timer
2018-01-01_21:57:51 EG.HWR.Fussbodenmischer position: 46
2018-01-01_21:57:51 DI_MischerCommands cmd_nr: 3
2018-01-01_21:57:51 DI_MischerCommands cmd: 3
2018-01-01_21:57:51 DI_MischerCommands cmd_event: EG.Heizung.Mischer.Vorlauf
2018-01-01_21:57:51 DI_MischerCommands cmd_3
2018-01-01_21:58:10 DI_MischerCommands wait_timer: 01.01.2018 22:04:10 cmd_3 EG.Heizung.Mischer.Vorlauf
2018-01-01_22:00:00 EG.HWR.Fussbodenmischer position: 46   << addLog
2018-01-01_22:04:10 DI_MischerCommands wait_timer: no timer
2018-01-01_22:04:10 EG.HWR.Fussbodenmischer position: 47
2018-01-01_22:04:10 DI_MischerCommands cmd_nr: 3
2018-01-01_22:04:10 DI_MischerCommands cmd: 3
2018-01-01_22:04:10 DI_MischerCommands cmd_event: EG.Heizung.Mischer.Vorlauf
2018-01-01_22:04:10 DI_MischerCommands cmd_3
2018-01-01_22:04:29 DI_MischerCommands wait_timer: 01.01.2018 22:10:29 cmd_3 EG.Heizung.Mischer.Vorlauf
2018-01-01_22:05:00 EG.HWR.Fussbodenmischer position: 47   << addLog
2018-01-01_22:25:07 EG.HWR.Fussbodenmischer position: 47   << addLog
2018-01-01_22:25:12 DI_MischerCommands wait_timer: no timer
2018-01-01_22:25:12 EG.HWR.Fussbodenmischer position: 48
2018-01-01_22:25:12 DI_MischerCommands cmd_nr: 3
2018-01-01_22:25:12 DI_MischerCommands cmd: 3
2018-01-01_22:25:12 DI_MischerCommands cmd_event: EG.Heizung.Mischer.Vorlauf
2018-01-01_22:25:12 DI_MischerCommands cmd_3
2018-01-01_22:40:46 DI_MischerCommands last_cmd: cmd_3
2018-01-01_22:40:46 DI_MischerCommands disabled
2018-01-01_22:40:46 DI_MischerCommands mode: disabled
2018-01-01_22:40:46 EG.HWR.Fussbodenmischer position: -619
2018-01-01_22:40:59 EG.HWR.Fussbodenmischer position: -619   << addLog
2018-01-01_22:43:58 EG.HWR.Fussbodenmischer position: 1
2018-01-01_22:44:30 DI_MischerCommands initialize
2018-01-01_22:45:00 EG.HWR.Fussbodenmischer position: 1   << addLog
2018-01-01_22:50:01 EG.HWR.Fussbodenmischer position: 1   << addLog


Die Position springt von +48 auf -619. Interessant sind dabei die Zeitstempel:


2018-01-01_22:25:12
2018-01-01_22:40:46


dazwischen ist es zu keinen EVENTS seitens meiner Mischersteuerung gekommen, und zu keinen weiteren addLogs. Das sind gute 15 Minuten - und die 1-Wire-Sensoren zur Mischersteuerung werden alle 60 Sekunden abgefragt.

Vielleicht liegt das Problem doch nicht im STELLMOTOR-Bereich, sondern woanders. Anscheinend ist ja weder addLog (normalerweise alle 5 Minuten) noch ein anderes DOIF ausgeführt worden...

Mein FHEM-Logfile zu dieser Zeit ist auch seltsam:


2018.01.01 22:25:00 1: PERL WARNING: Argument "???" isn't numeric in division (/) at (eval 225956) line 1.
2018.01.01 22:25:13 1: localhost:1883 disconnected, waiting to reappear (MQTTServer)
2018.01.01 22:25:14 1: PERL WARNING: Argument "???" isn't numeric in division (/) at (eval 226096) line 1.
2018.01.01 22:25:15 1: PERL WARNING: Argument "???" isn't numeric in division (/) at (eval 226193) line 1.
2018.01.01 22:25:16 1: PERL WARNING: Argument "???" isn't numeric in division (/) at (eval 226280) line 1.
2018.01.01 22:25:16 1: PERL WARNING: Argument "???" isn't numeric in division (/) at (eval 226341) line 1.
2018.01.01 22:25:16 1: PERL WARNING: Argument "???" isn't numeric in division (/) at (eval 226385) line 1.
2018.01.01 22:25:17 1: PERL WARNING: Argument "???" isn't numeric in division (/) at (eval 226419) line 1.
2018.01.01 22:40:45 1: localhost:1883 reappeared (MQTTServer)
2018.01.01 22:40:52 1: Timeout for PRESENCE_DoLocalPingScan reached, terminated process 8504
2018.01.01 22:40:59 1: PERL WARNING: Argument "???" isn't numeric in division (/) at (eval 226497) line 1.
2018.01.01 22:41:00 1: PERL WARNING: Argument "???" isn't numeric in division (/) at (eval 226589) line 1.
2018.01.01 22:41:01 1: PERL WARNING: Argument "???" isn't numeric in division (/) at (eval 226676) line 1.
2018.01.01 22:41:02 1: PERL WARNING: Argument "???" isn't numeric in division (/) at (eval 226774) line 1.
2018.01.01 22:41:02 1: PERL WARNING: Argument "???" isn't numeric in division (/) at (eval 226855) line 1.
2018.01.01 22:41:02 1: HMLAN_Parse: HMLAN1 new condition disconnected
2018.01.01 22:41:03 1: 10.10.10.20:1000 disconnected, waiting to reappear (HMLAN1)
2018.01.01 22:41:03 1: HMLAN_Parse: HMLAN1 new condition disconnected
2018.01.01 22:41:03 1: HMLAN_Parse: HMLAN2 new condition disconnected
2018.01.01 22:41:03 1: 192.168.1.51:1000 disconnected, waiting to reappear (HMLAN2)
2018.01.01 22:41:03 1: HMLAN_Parse: HMLAN2 new condition disconnected
2018.01.01 22:41:03 1: HMLAN_Parse: HMLAN2 new condition init
2018.01.01 22:41:03 1: 192.168.1.51:1000 reappeared (HMLAN2)
2018.01.01 22:41:03 1: HMLAN_Parse: HMLAN1 new condition init
2018.01.01 22:41:03 1: 10.10.10.20:1000 reappeared (HMLAN1)
2018.01.01 22:41:03 1: HMLAN_Parse: HMLAN2 new condition ok
2018.01.01 22:41:03 1: HMLAN_Parse: HMLAN1 new condition ok


Der lokal laufende MQTT-Server ist nicht mehr erreichbar und erst nach 15 Minuten wieder da? Beide HMLAN verabschieden sich?

Zu dieser Zeit verband sich der FHEM-Server über WiFi mit einer sehr sehr weit entfernten Fritz!Box. Die Verbindung ist typischerweise 1-2 MBit. Nach dem Reboot um 23:02 wurde dann wieder der WiFi-Repeater genutzt und ich habe volle 54 MBit.

Grüüüüübel...

Ciao, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

tpoetschan

Hi Morgennebel,

werde ich so ausprobieren und berichten. Hast noch einen Tipp bzgl. der Relais?
Der Eltako-Bus kann ja nicht zwei mal per USB in jede Fhem Instanz gesetzt werden. Was tun? Fhem2Fhem?, häng ich da dann nicht wieder in Delays drin?

Zu deinem Problem - das ich so nicht beobachten kann bei mir: Wie steuerst du den Mischer stand an?
Errechnest du hier etwas? Oder arbeitest du wie ich mit +1, +2 ?

Kannst ja mal deine Steuerung hier reinkopieren... oder finde ich die irgendwo auf den Seiten dieses Topics?

Viele Grüße

TSB

Das Modul verursacht leider häufige Abstürze der Heizungssteuerung. Habe es nun raus genommen und durch eine simple Steuerung ohne absolute Positionsdaten des Mischers ersetzt, was in der Praxis genauso gut funktioniert.

Vielleicht hilft es ja jemanden das bei sich auch entsprechend im Programmcode zu ersetzen:
use vars qw ($utilsMischerTime $utilsMischerDriveSec);
$utilsMischerTime = 0;
$utilsMischerDriveSec = 245;

# ...
sub xyz {
  my $mischerPause = 5;

  # VT: berechnete Vorlauftemperatur
  # VTist: anliegende Vorlauftemperatur
  if (abs($VT - $VTist) > 0.6 and time()-$utilsMischerTime > $mischerPause) {
    my $mischerDiff = 1;
    if (abs($VT - $VTist) > 4) {
      $mischerDiff = int(abs($VT - $VTist))*1.2;
      $mischerDiff = 3 if $mischerDiff < 3;
      $mischerDiff = 15 if $mischerDiff > 15;
    }
    if ($VT < $VTist) {
      $mischerDiff *= -1;
    }

    my $sleep = abs($mischerDiff)*100/$utilsMischerDriveSec;
    $utilsMischerTime = time();
    if ($mischerDiff > 0) {
      fhem("set MischerL off");
      fhem("set MischerR on");
      fhem("sleep ".$sleep."; set MischerR off;");
    } else {
      fhem("set MischerR off");
      fhem("set MischerL on");
      fhem("sleep ".$sleep."; set MischerL off;");
    }
  }
}

sledge

Zitat von: TSB am 24 Februar 2019, 15:11:50
Das Modul verursacht leider häufige Abstürze der Heizungssteuerung. Habe es nun raus genommen und durch eine simple Steuerung ohne absolute Positionsdaten des Mischers ersetzt, was in der Praxis genauso gut funktioniert.


Könntest Du auf den Teil etwas genauer eingehen? Ich habe das Modul bei mir im Einsatz und stelle bisher keine Abstürze fest - eher eine Fehlerfortpflanzung, die ich derzeit aber der Hardware zuschreibe.

Gruß,

Tom
FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

TSB

Das Problem ist im Thread schon mehrfach aufgeführt, hier mein Beitrag von damals:
https://forum.fhem.de/index.php/topic,23933.msg730114.html#msg730114

Manchmal hilft ein Reset, oft muss aber der Stecker gezogen werden und das Raspi neu starten. Leider hat sich das Problem über die Jahre nicht gelöst.

Da ich aber das Modul in seiner Gänze so nicht brauche habe ich es auf das notwendige reduziert und damit tut auch die Fhem Steuerung wie es soll.

sledge

Ahh. Ok. Danke Dir. Ich habe den Thread zwar "x-mal" durchgelesen, als ich meine Lösung eingerichtet habe - mich aber nicht mehr an diesen Post erinnert.

Das Problem habe ich auch gelegentlich - da ich aber ohnehin 3mal täglich einen Reset des Mischermotors durchführe, scheint das zu passen.

FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

RaspiCOC

Hallo zusammen, zu Beginn der vorletzten Heizperiode, war ich auf der Suche nach einer Lösung, den Mischermotor des Vorlaufs bei mir zu steuern. Ich hatte mich mehr auf den Selbsteinbau der hybriden Anlage (Holz + Gas) konzentriert und war der festen Überzeugung, die Steuerung schnell zusammengefrickelt zu bekommen.

Tatsächlich war es dann auch so. Nach wenigen Stunden stand die komplette Logik (Fenstersteuerung, Gaszuschaltung, Abgasklappe). Aber, zentrales Element ist 39_STELLMOTOR für die Steuerung des Mischers. Eigentlich hatte ich gehofft, dass das Modul irgendwann mal regulär aufgenommen wird. Scheint aber nicht so zu sein.

Ich habe tatsächlich eine Frage zu dem Modul: Ich ermittle die Ziel-Vorlauftemperatur und passe den Mischer nach oben oder unten an. Das mache ich mit einem DOIF und setze den Stellmotor jeweils um 3 Grad hoch bzw. runter. Hat irgendwie auch immer gut funktioniert. Kürzlich schaute ich mal ins Log...

2024.01.21 09:35:15 2: MISCHER_fahren: set MISCHER 92: Unknown argument 92, choose one of calibrate:noArg reset:noArg stop:noArg 1:noArg  2:noArg  8:noArg  9:noArg  10:noArg  16:noArg  21:noArg  27:noArg  33:noArg  44:noArg  50:noArg  55:noArg  66:noArg  77:noArg  88:noArg  99:noArg

Alles voll damit...

In Zeile 256 findet sich:

foreach(1,2,8,9,10,16,21,27,33,44,50,55,66,77,88,99){ $usage .= " ".$_.":noArg "; }
Gibt es irgendeinen Grund, weshalb genau diese Werte im Code enthalten sind? Könnte ich da nicht genausogut 1,2,3,4,5,...97,98,99 aufnehmen?

Und sollte jemand inzwischen etwas Besseres als 39_STELLMOTOR gefunden haben (was ich irgendwie nicht glauben mag, weil das Modul einfach super ist), dann freue ich mich über einen Hinweis!