Helios KWL per ModbusTCP regeln/steuern

Begonnen von hugomckinley, 27 Juli 2017, 22:48:40

Vorheriges Thema - Nächstes Thema

Norbert.Roller

Das ist korrekt für einen einzelnen Wert.
Jedoch benötige ich aktuelle begleitende Werte, die ich aber gerade nicht aktualisiere.

Beispiele:
Anlage läuft Manuell mit Lüfterstufe 4
Automatik setzen v00101=0. Eine Lüfterstufe wird nicht gesetzt, da diese von der Heliossteuerung selbst ermittelt und gesetzt wird.
Der v00102=Lüfterstufe wird aber erst beim nächsten Poll aktualisiert. Also stosse ich einen manuell Poll an und verarbeite die Werte. Wann der manuelle Poll fertig ist, kann ich jedoch nicht wissen, oder ?

hugomckinley

#61
Wenn es wirklich halbwegs aktuell sein soll, dann würde ich wie du beschrieben hast wirklich einfach warten. (Aber auf jeden Fall mit einem FHEM-sleep und nicht mit Perl)
Oder alternativ gezielt einzelne Register auslesen unmittelbar nach dem Setzen der Automatik, dann sollte das als nächstes in der Queue von FHEM sein und du kannst dann mit einem aktuellen Wert weiter machen. (Ich glaube, dass das Lesen eines Registers atomar ist und nicht asynchron)
Einen Status in der Form eines Ready-Flags gibt es jedenfalls nicht.
----------------------------------------------------
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, ...

masterkey

Hallo zusammen,

Ich hab das Helios Modul per ModbusTCP vor ca. 2 Jahren auf meinem Fhem-Server installiert aber seitdem nicht wirklich benutzt. Jetzt habe ich folgendes vor:

Ich hab eine Fiabro Switch übrig. Damit möchte ich gerne den Partymodus der KWL für 30 Minuten einschalten. Ich hab allerdings keinen Taster sondern nur einen Schalter. Der Schalter soll also egal ob ich ein oder aus schalte den Party-Modus einschalten und wenn ich nochmal drücke (ein oder aus) wieder ausschalten. Ist das so möglich und wenn ja wie?

VG,

masterkey

hugomckinley

Ein notify auf den Schalter machen (egal ob ein oder aus) und dann mit ähnlich {helios_req_level("KWL_EG_KG",3,30)} für 30 Minuten den Level 3 aktvieren.
Der Partymodus von Helios ist nichts anderes als das.

Grüße und einen guten Rutsch
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, ...

masterkey

@hugomckinley: Danke!

Ich versuche das gerade umzusetzen. Habe es so eingerichtet, aber es funktioniert noch nicht:

Ich habe es mit "ZWave_Node_2.1:.* set {helios_req_level("KWL",3,30)}" versucht (siehe Anhang). Da tut sich allerdings nichts.

Kann es sein, dass ich erst noch das helios-Modul extra updaten muss? Oder wird das automatisch geupdatet wenn ich fhem update? Wenn nicht, wie mache ich das?

hugomckinley

Du musst das ohne set machen, es handelt sich dabei um eine Perlfunktion die aufgerufen wird.
So sieht das z.B. bei mir aus DG_WC_Taster_Btn_01:Short.* { helios_req_level("KWL_OG_DG",4,10)}
Der erste Post sollte alles erklären, wenn was unklar ist, bitte melden, dann werde ich das ergänzen.

Zum Testen kannst du auch nur { helios_req_level("KWL_OG_DG",4,10)} im Befehlsfenster in FHEM probieren, dann siehst du, ob es funktioniert.

Ich würde dir generell die aktuelle Version des Skripts empfehlen. Da du ja noch nichts damit gemacht hast, würde ich die Anlage einfach löschen und das aktuelle Script verwenden.

Gruß,
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, ...

hugomckinley

Version 1.8 ist online:

Bugfix: Ein Neustart von FHEM führt dazu, dass die sleeps, die die Lüfterstufen wieder zurücksetzen sollen nicht mehr ausgeführt werden und so die Anlage ewig auf einem zu hohen Level läuft. Solche Zombie-Requests werden nun bei jedem Stufenwechsel bereinigt.

Nur Update des Scripts ist nötig.
----------------------------------------------------
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, ...

masterkey

Zitat von: hugomckinley am 02 Januar 2022, 17:13:18
Du musst das ohne set machen, es handelt sich dabei um eine Perlfunktion die aufgerufen wird.
So sieht das z.B. bei mir aus DG_WC_Taster_Btn_01:Short.* { helios_req_level("KWL_OG_DG",4,10)}
Der erste Post sollte alles erklären, wenn was unklar ist, bitte melden, dann werde ich das ergänzen.

Zum Testen kannst du auch nur { helios_req_level("KWL_OG_DG",4,10)} im Befehlsfenster in FHEM probieren, dann siehst du, ob es funktioniert.

Ich würde dir generell die aktuelle Version des Skripts empfehlen. Da du ja noch nichts damit gemacht hast, würde ich die Anlage einfach löschen und das aktuelle Script verwenden.

Gruß,
Hugo

Super! Vielen Dank. So funktioniert es.

Mir ist nur noch was aufgefallen was evtl ein Bug ist.

Wenn ich time_list 08:00|0 18:00|1 setze (also um 08:00Uhr soll die Lüftung bis 18:00Uhr aus sein), dann kann ich zwar mit
{ helios_req_level("KWL_OG_DG",4,10)}
die Lüftung auf Stufe 4 einschalten aber sie setzt sich nach den 10 Minuten nicht mehr zurück auf 0 sondern bleibt auf Stufe 4. Die Mindestlüfterstufe in Helios ist korrekt auf 0 gesetzt.

tgut

Hallo Hugo,

vielen Dank für das tolle Modul. Hab es vor Kurzem installiert und läuft problemlos.

Zitat von: michisa86888 am 25 Februar 2019, 20:07:59
Könnte man in die Readingsgroup auch noch den internen Feuchtefühler Abluft mit auf nehmen?
Würde den Wert gerne benutzen um andere Geräte abhänging zur aktuellen Luftfeuchte zu steuern..
Wäre dies möglich bzw. findet sich der Wert bereits in irgendeinem Reading?

Vielleicht noch eine Info zu den Anfrage von Michi: Das Register für die berechnete interne Feuchtigkeit ist v02136 (zumindest bei meiner KWL EC 500W ET L mit easyControls v2.27).

Grüße

hugomckinley

Ist das tatsächlich die Feuchte? Bei mir ist der Wert 0 (ich habe die gleiche Anlage)
Woher hast du die Info?

Das Label ist bei mir "Vor:"


Gruß,
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, ...

hugomckinley

Zitat von: masterkey am 03 Januar 2022, 13:34:15
Super! Vielen Dank. So funktioniert es.

Mir ist nur noch was aufgefallen was evtl ein Bug ist.

Wenn ich time_list 08:00|0 18:00|1 setze (also um 08:00Uhr soll die Lüftung bis 18:00Uhr aus sein), dann kann ich zwar mit
{ helios_req_level("KWL_OG_DG",4,10)}
die Lüftung auf Stufe 4 einschalten aber sie setzt sich nach den 10 Minuten nicht mehr zurück auf 0 sondern bleibt auf Stufe 4. Die Mindestlüfterstufe in Helios ist korrekt auf 0 gesetzt.

Das Script kann die Anlage nicht auf Stufe "0" regeln.
Ich weiß nicht was es dann macht muss ich gestehen.
Deinen Anwendungsfall kannst du aber mit:
Zitat{helios_limit_level("KWL","0","480")}
begrenzt die maximale Lüfterstufe für 480 Minuten auf Level 0 (Lüftung aus, muss in der KWL freigegeben sein). z.B. der Nachbar heizt seinen Kamin an und man will den Geruch nicht im Haus haben.
aus dem ersten Post abdecken.

Ich hoffe das löst dein Problem.

Gruß,
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, ...

masterkey

Ah ok, du meinst, dass ich dann mit einem Timer (z.B. dem WeekdayTimer) um 8 Uhr mit:

{helios_limit_level("KWL","0","600")}

die Lüftung ausschalte und dann um 18 Uhr mit

{ helios_req_level("KWL",1,840)}

wieder ein auf Stufe 1?





hugomckinley

Das { helios_req_level("KWL",1,840)} ist nicht nötig.
Die Anlage wechselt nach den 600 Minuten in die Stufe, die durch die Automatik (oder andere Parameter, z.B. Toilettenlüftug o.ä.) festgelegt wurde.
Kann irgendein Wert zwischen 1 und 4 sein, aber eben nicht 0 ;-)

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, ...

masterkey

Leider funktioniert das auch nicht so wie ich es gerne hätte.
Wenn über den timer um 08:00 Uhr das limit gesetzt wird mit:
{helios_limit_level("KWL","0","600")}
kann ich zwar über meinen switch und das notify mit:

ZWave_Node_2.1:reportedState:.* { helios_req_level("KWL",4,15)}

die Lüfuntg auf 4 stellen. Nach den 15 Minuten fällt die Anlage aber auf Stufe 1 zurück weil die time_list auf 06:00|1 20:00|1 steht.


hugomckinley

Das ist merkwürdig, das sollte so nicht passieren.
Du solltest nichtmal auf den Level 4 kommen.
Kann ich mir auch nicht erklären, da das manual_limit das letzte ist, was ziehen sollte.
Was steht denn jeweils in den Readings manual_limit, last_auto_level und max_allowed_level? (vor dem Drücken, nach dem Drücken und nach den 15 Minuten)

----------------------------------------------------
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, ...