How To: Helios KWL Wohnraumbelüftung über Modbus TCP mit fhem

Begonnen von fhem_TS, 28 August 2016, 13:03:52

Vorheriges Thema - Nächstes Thema

enno

Moin Tobias, Hugo, Stefan,

danke, dass ihr das hier weiter voranbringt. Ich komme leider im Moment nicht zum Umbau, aber die nächsten Ferien sind in Sicht, dann werde ich das mal wie oben beschrieben einführen.

Gruss
Enno
Einfacher FHEM Anwender auf Intel®NUC

fhem_TS

Hallo Hugo,

ich habe jetzt folgendes Problem: Das Auslesen der ganzen Werte funktioniert einwandfrei.
Sobald ich jetzt aber versuche die Helios zu regeln, Modus auf Manuell setzen und Lüfterstufe auf  als Beispiel, dann bekomme ich Fehlermeldungen wie Timeout2 und Queue too long.
Regelst du deine Helios über fhem oder liest du "nur" aus?

Gruß
Tobias
fhem@RPi3
FS20 <-> Busware CUL
Homematic <-> HM-USB

hugomckinley

#47

Hallo Tobias,
ich habe ein notify auf einem Taster, welches mir den Modus auf Manuell und die Lüfterstufe auf 4 setzt. Das funktioniert einwandfrei.
Die Meldungen mit der queue-Länge und das Timeout hatte ich auch mal im Log, kann aber jetzt nicht mehr feststellen was da der Grund war.
Aber das war mit ziemlicher Sicherheit noch während der intensiven Umbauten an meinem ModbusAttr-Objekt und kam vom Herumspielen.

Ich mache z.B. nur ein set KWL_OG_DG Register v00102=4

Update: Hatte gerade 2 Stromausfälle ud nach dem Reboot war das Log jedesmal voll mit 2017.05.19 21:53:59 3: KWL_EG_KG: Send queue too long (101), dropping new request


Grüße
Hugo
----------------------------------------------------
FHEM in TrueNAS-Jail
HMLGW + HM-Komponenten, alexa-fhem, Modbus/TCP, Modbus/RS485, LG-WebOS, Firmata, 1wire, ESP-RGBWW, DaikinAC per WLAN, Shellys, Denon AVR, Fronius WR, Helios Wohnraumlüftung, ...

fhem_TS

Hallo Hugo,

bei mir lag das daran, dass ich zuviele Requests in zu kurzer Zeit in die Queue gepackt habe.
Ich habe im define der Helios die Timings angepasst :

dev-timing-commDelay 0.2
dev-timing-sendDelay 0.2


Das Auslesen und Steuern habe ich über ein DOIF und passende Subs bewerkstelligt. (Auszug aus der cfg)

define di_Helios_Event DOIF ([Helios_KWL:state] eq "disconnected")\
()\
({DebianMail('somebody@anymail.org','Helios aus!','>120 Minuten')})\
DOELSEIF ([+:05] and [Helios_KWL:state] eq "opened")\
({Fn_KWL_NonPrio_auslesen()})\
({Fn_KWL_NonPrio_Dummies_fuellen()},\
IF ([KWL_FHEM_Steuerung] ne "Nein")\
  ({Fn_KWL_NonPrio_Regelung()}))
attr di_Helios_Event wait 7200,0:0,30



Das DOIF liest alle 5 Minuten die Daten aus der Helios, wenn diese erreichbar ist.
Falls die Anlage länger als 120 Minuten nicht erreichbar ist bekomme ich eine Benachrichtigung.
Nach der Funktion Fn_KWL_NonPrio_auslesen(Alle Register in die Queue schreiben) habe ich ein wait für 30 Sekunden vor der Funktion Fn_KWL_NonPrio_Dummies_fuellen eingebaut.
Seitdem läuft es zuverlässig.

In der Fn_KWL_NonPrio_Regelung regele ich in Abhängigkeit von einem dummy die Lüfterstufen.

Gruß
Tobias
fhem@RPi3
FS20 <-> Busware CUL
Homematic <-> HM-USB

hugomckinley

Soda, jetzt läuft die Sache mal halbwegs bei mir.
Ich habe den aktuellen Stand hier für alle Interessierten festgehalten:https://forum.fhem.de/index.php/topic,74788.0.html

Danke an alle Mitstreiter, die das ermöglicht haben!

Grüße,
Hugo
----------------------------------------------------
FHEM in TrueNAS-Jail
HMLGW + HM-Komponenten, alexa-fhem, Modbus/TCP, Modbus/RS485, LG-WebOS, Firmata, 1wire, ESP-RGBWW, DaikinAC per WLAN, Shellys, Denon AVR, Fronius WR, Helios Wohnraumlüftung, ...