Infos und Ergänzungen rund um Raumthermostate, Stellantriebe

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

mrMuppet
Beiträge: 220
Registriert: 22.04.2011, 20:29
Hat sich bedankt: 1 Mal

Re: Infos und Ergänzungen rund um Raumthermostate, Stellantr

Beitrag von mrMuppet » 15.04.2012, 18:42

Hallo Anli!

Ich glaube mit der Heizungsschaltung über Teddy-code, aber ohne die Zeit-Komponente komme ich gut klar. Nur führt der Script so wie er im Moment ist anscheinend dazu, dass der Status des Heizungs-Hauptschalters fast jede Minute aktualisiert wird. Heut kam dann eine Meldung, die Batterie sei langsam leer. Ich überlege jetzt ob die Statusabfrage tatsächlich zu einem erhöhten Energieverbrauch führt.
Kannst du noch mal drüberschaun, wie ich das ausschalte?

Vielen Dank!

Code: Alles auswählen

    object o_debug = dom.GetObject("Programmausfuehrung debug");
    string s_debug = "Heizungssteuerung: Start: " # system.Date("%d.%m.%Y %T");
    var vts = o_debug.State(s_debug);

    object o_waermeanforderung = dom.GetObject("Wa");
    object d_heizung = dom.GetObject("HeizungMain");

    ! Stellantriebe aus dem WebUI-Programm abfragen
    object o_prg = dom.GetObject($this$);
    integer i_count=0;
    integer i_summe=0;
    string s_address;
    object o_dp_err;
    object o_chn;
    object o_dp = dom.GetObject(o_prg.Rule().RuleCondition(0).CndSingleCondition(i_count).LeftVal());

    while (o_dp) {
      o_chn = dom.GetObject(o_dp.Channel());
      s_address = o_chn.Address();
      o_dp_err=dom.GetObject("BidCos-RF." # s_address # ".ERROR");
      if (o_dp_err.Value() == 0) {
        i_summe = i_summe + o_dp.Value();
      }
      i_count = i_count + 1;
      o_dp = dom.GetObject(o_prg.Rule().RuleCondition(0).CndSingleCondition(i_count).LeftVal());
    }

    ! Heizung bei Bedarf schalten
    object d_heizung_state = dom.GetObject("BidCos-RF." # d_heizung.Address() # ":1.STATE");
    time t_timestamp = d_heizung_state.Timestamp();
    time t_now = system.Date("%Y-%m-%d %H:%M:%S").ToTime();
    integer i_diff = t_now.ToInteger() - t_timestamp.ToInteger();

    s_debug = s_debug # ", i_summe: " # i_summe.ToString() # ", i_diff: " # i_diff.ToString() # ", Status d_heizung: " # d_heizung_state.State().ToString();
    var vts = o_debug.State(s_debug);
    if ((i_summe <= 15) && (!d_heizung_state.State())) {
      d_heizung_state.State(true);
    }
    if ((i_summe >= 25) && (d_heizung_state.State())) {
      d_heizung_state.State(false);
    }

    ! Wärmeanforderung aktualisieren
    if (o_waermeanforderung.State() != i_summe) {
      o_waermeanforderung.State(i_summe);
    }

    var vts = o_debug.State(s_debug # ", Ende: " # system.Date("%d.%m.%Y %T") # "\n");
58 Kanäle in 44 Geräten
Wand-Tablet mit Mediola
Yamaha AVR, Dreambox, Squeezebox, FreeNAS, Fritzbox, SeduLight, FireTV, Chromecast

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: Infos und Ergänzungen rund um Raumthermostate, Stellantr

Beitrag von anli » 16.04.2012, 14:27

Hallo.

Der Heizungsaktor wird halt so häufig abgefragt (benötigt Batteriekapazität), wie das Skript läuft und gesetzt, wenn er nicht dem erwarteten Status entspricht ( (benötigt Batteriekapazität). Beides lässt sich nur ändern, indem Du die Wartezeit zwischen den einzelnen Skriptaufrufen veränderst - also die Zeiten in Deinem Programm.

Code: Alles auswählen

    if ((i_summe <= 15) && (!d_heizung_state.State())) {
      d_heizung_state.State(true);
    }
    if ((i_summe >= 25) && (d_heizung_state.State())) {
      d_heizung_state.State(false);
    }
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

mrMuppet
Beiträge: 220
Registriert: 22.04.2011, 20:29
Hat sich bedankt: 1 Mal

Re: Infos und Ergänzungen rund um Raumthermostate, Stellantr

Beitrag von mrMuppet » 17.04.2012, 20:57

Also komme ich doch nicht drum rum den "&& (i_diff > 600)" einzubauen. Leider hatte ich ja das Problem, dass bei mir i_diff leider nie so hohe Werte erreichte. Aus diesem Grund hatte ich diese Bedingung ja "ausgebaut".

Also muss ich noch weiter an der Fehleranalyse arbeiten: Anli, wie kann ich dir helfen mein Problem einzugrenzen?
58 Kanäle in 44 Geräten
Wand-Tablet mit Mediola
Yamaha AVR, Dreambox, Squeezebox, FreeNAS, Fritzbox, SeduLight, FireTV, Chromecast

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: Infos und Ergänzungen rund um Raumthermostate, Stellantr

Beitrag von anli » 18.04.2012, 08:54

Hallo.

Grundsätzlich würde ich es so laufen lassen, wie es jetzt läuft. Eventuell halt die Zeitkomponente im aufrufenden Programm etwas hochsetzen. Ansonsten kannst Du die i_diff-Zeit verringern: Angegeben ist ja ein Wert in Sekunden. 600 entspricht also 10 Minuten. Bei Dir wurden meine ich Werte um 5 Minuten erreicht, also 300. Damit könntest Du experimentieren. Das wird jedoch nicht soviel bringen, da der Aktor bisher ja auch nur gesetzt wird, wenn sein aktueller Status (Abfrage, die unabhängig von i_diff durch JEDEN Skriptaufruf erfolgt) nicht dem gewünschten Status entspricht. Aus meiner Sicht also am sinnvollsten:
- entweder Aktor einsetzen, der batterieunabhängig arbeitet
- oder einen Akku statt einer Batterie einsetzen wenn möglich
- oder die Anzahl der Aufrufe des Skripts verringern (also zum Beispiel nur alle zwei statt jede Minute)
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

mrMuppet
Beiträge: 220
Registriert: 22.04.2011, 20:29
Hat sich bedankt: 1 Mal

Re: Infos und Ergänzungen rund um Raumthermostate, Stellantr

Beitrag von mrMuppet » 18.04.2012, 22:43

Mhmm... irgendwas verstehe ich immer noch nicht!
Also ich hab die Wartezeit doch komplett rausgenommen, weil ich maximal i_diff 180 erreicht habe und die Heizung deshalb nicht an ging. Wird also vermutlich mit 300 auch nicht klappen!
Und soll der Script nicht eigentlich nur dann ausgeführt werden, wenn sich die Stellmotoren bewegt haben?
58 Kanäle in 44 Geräten
Wand-Tablet mit Mediola
Yamaha AVR, Dreambox, Squeezebox, FreeNAS, Fritzbox, SeduLight, FireTV, Chromecast

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: Infos und Ergänzungen rund um Raumthermostate, Stellantr

Beitrag von anli » 19.04.2012, 08:47

mrMuppet hat geschrieben:Und soll der Script nicht eigentlich nur dann ausgeführt werden, wenn sich die Stellmotoren bewegt haben?
Jein. Es ist nicht zeitabhängig wie ich geschrieben hatte - das hatte ich falsch in Erinnerung. Es wird jedoch jedes Mal ausgeführt, wenn die Stellantriebe ihre aktuelle Stellung melden. Das passiert bei jedem Stellantrieb meine ich alle drei Minuten. Wenn Du also drei Stellantriebe hast, kann es sein, dass die im ungünstigsten Fall jede Minute das Programm auslösen (in der ersten Minute der erste SA, in der zweiten Minute der zweite SA und in der dritten Minute der dritte SA). Das geschieht unabhängig von einer Änderung der Stellung, da ja als Bedingung "bei Aktualisierung" und nicht "bei Änderung" angegeben ist. Das verbraucht entsprechend Batteriekapazität am Heizungsaktor. Das ist wahrscheinlich auch der Grund, warum i_diff bei Dir maximal 180 (=3 Minuten) wird.
Wie gesagt, grundsätzlich würde ich am Programmaufbau jetzt nichts ändern, sondern den Aktor an der Heizung gegen einen nicht batteriebetriebenen tauschen oder einen Akku einsetzen.
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

mrMuppet
Beiträge: 220
Registriert: 22.04.2011, 20:29
Hat sich bedankt: 1 Mal

Re: Infos und Ergänzungen rund um Raumthermostate, Stellantr

Beitrag von mrMuppet » 06.05.2012, 19:10

Was war denn noch mal der Grund warum das nicht funktioniert, wenn ich das Programm bei Änderung der Stellmotoren ausführen lasse? Ich mein ich hätte hier mal die Begründung dafür gelesen, kann sie aber gerade nicht finden und auch logisch nicht erschliessen...
58 Kanäle in 44 Geräten
Wand-Tablet mit Mediola
Yamaha AVR, Dreambox, Squeezebox, FreeNAS, Fritzbox, SeduLight, FireTV, Chromecast

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: Infos und Ergänzungen rund um Raumthermostate, Stellantr

Beitrag von anli » 06.05.2012, 21:55

mrMuppet hat geschrieben:Was war denn noch mal der Grund warum das nicht funktioniert, wenn ich das Programm bei Änderung der Stellmotoren ausführen lasse? Ich mein ich hätte hier mal die Begründung dafür gelesen, kann sie aber gerade nicht finden und auch logisch nicht erschliessen...
Den Grund kenne ich leider auch nicht mehr :(
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

geisli
Beiträge: 14
Registriert: 08.05.2012, 21:17

Re: Infos und Ergänzungen rund um Raumthermostate, Stellantr

Beitrag von geisli » 18.07.2012, 07:58

Habe mal eine Frage zum Verknüpfen
Stellantrieb und Wandthermostat
Beim Wandthermostat welche wählt man da aus
Da steht 2x Sender und ein Empfänger

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: Infos und Ergänzungen rund um Raumthermostate, Stellantr

Beitrag von anli » 18.07.2012, 08:24

geisli hat geschrieben:Habe mal eine Frage zum Verknüpfen
Stellantrieb und Wandthermostat
Beim Wandthermostat welche wählt man da aus
Da steht 2x Sender und ein Empfänger
Kanal eins am Thermostat ist für Temp. & Luftfeuchtigkeit, Kanal zwei für den Stellantrieb und Kanal drei (der Empfänger) für einen TFK/DGK.
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“