ETA Heizung auslesen

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

Moderator: Co-Administratoren

cRemE-fReSh
Beiträge: 40
Registriert: 30.12.2012, 12:43
Danksagung erhalten: 7 Mal

Re: ETA Heizung auslesen

Beitrag von cRemE-fReSh » 17.01.2022, 19:44

Wkrueckel hat geschrieben:
14.01.2022, 13:25
Was ich gerne verwirklichen möchte ist, dass sobald mein Pufferspeicher über 100% Wassertemperatur kommt, die Heizung zwar zum Absenken der Temperatur auf macht, die Raum Thermostate davon aber nichts mitbekommen.
Hallo Werner,

ich verstehe leider nicht ganz, was du machen möchtest.

Du hast einen Pufferspeicher. Soweit verstanden. Wie viele Thermometer hat der? 4?
Soweit mir das bekannt ist, ist die Temperatur, auf die deine ETA deinen Puffer aufheizt, auch abhängig von deiner Temperaturkurve für den Heizungskreislauf. 100% sind deshalb eine relative Angabe.
Deinen Heizkreislauf gehe ich davon aus, steuert auch deine ETA.

Warum willst du nun aber deine Heizkörper (oder meinst du mit Heizung den Kessel?) aufmachen. Und was haben deine Raumthermostate damit zu tun?

Den Heizkreislauf kannst du, wie auf dem ETA Touchdisplay, auch über die Schnittstelle ein- und ausschalten. Bzw. auch zwischen Tag und Nacht wechseln, etc. Meinst du das?
Wenn du aber doch eh Raumthermostate hast, weshalb willst du dann mit deiner ETA manuell den Heizkreislauf ein- und ausschalten?

Viele Grüße

Wkrueckel
Beiträge: 10
Registriert: 30.12.2021, 12:18
System: Access Point

Re: ETA Heizung auslesen

Beitrag von Wkrueckel » 18.01.2022, 07:47

Hallo cRemE-fReSh,

ich beheize mit Stückholz ,ETA SH20, an dem zwei Pufferspeicher mit 1900L angeschlossen sind.
Da ich meistens am Abend mit Kesselanschüren beginne und ich versuche meinen Pufferspeicher nahe der 100%
Pufferladung zu bringen passiert manchmal folgendes.
Am Abend anfeuern Heizkessel -> zu viel Holz in den Kessel gelegt -> der Heizkreis geht nach Schaltuhr in Absenkmodus -> Der Pufferspeicher wird über 100% Pufferladung geladen und die Heizungssteuerung macht über die Sicherungsschaltung den Heizkreis wieder in Betrieb um die Überschüssige Temperatur vom Puffer abzubauen -> Dieses kann aber nicht gelingen da die Heizköperthermostate "HmIP-eTRV-2" auch auf Absenkung stehen.
Und da so meine Idee sollte ein Programm eingreifen und im Fall das die Sicherheitsschaltung wieder auf Betrieb geht auch die Heizköperthermostate "HmIP-eTRV-2 für die Zeit solange die Sicherheitsschaltung aktive ist öffnen.

Das der Plan, doch leider bekomme ich keine Daten in den Systemvariablen angezeigt.

LG Werner

Xel66
Beiträge: 14147
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 583 Mal
Danksagung erhalten: 1497 Mal

Re: ETA Heizung auslesen

Beitrag von Xel66 » 18.01.2022, 08:15

Wkrueckel hat geschrieben:
18.01.2022, 07:47
Das der Plan, doch leider bekomme ich keine Daten in den Systemvariablen angezeigt.
Da dem Vernehmen nach das Script dem Vernehmen nach funktioniert, liegt es entweder an der Abfrage durch das Script (Adresse etc.) oder an der Benennung der Systemvariablen. Die Namen müssen exakt der Schreibweise im Script entsprechen. Da die Faktenlage äußerst dünn ist, kann man auch nicht viel mehr dazu sagen.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

cRemE-fReSh
Beiträge: 40
Registriert: 30.12.2012, 12:43
Danksagung erhalten: 7 Mal

Re: ETA Heizung auslesen

Beitrag von cRemE-fReSh » 18.01.2022, 20:44

Wkrueckel hat geschrieben:
18.01.2022, 07:47
Hallo cRemE-fReSh,

ich beheize mit Stückholz ,ETA SH20, an dem zwei Pufferspeicher mit 1900L angeschlossen sind.
Da ich meistens am Abend mit Kesselanschüren beginne und ich versuche meinen Pufferspeicher nahe der 100%
Pufferladung zu bringen passiert manchmal folgendes.
Am Abend anfeuern Heizkessel -> zu viel Holz in den Kessel gelegt -> der Heizkreis geht nach Schaltuhr in Absenkmodus -> Der Pufferspeicher wird über 100% Pufferladung geladen und die Heizungssteuerung macht über die Sicherungsschaltung den Heizkreis wieder in Betrieb um die Überschüssige Temperatur vom Puffer abzubauen -> Dieses kann aber nicht gelingen da die Heizköperthermostate "HmIP-eTRV-2" auch auf Absenkung stehen.
Und da so meine Idee sollte ein Programm eingreifen und im Fall das die Sicherheitsschaltung wieder auf Betrieb geht auch die Heizköperthermostate "HmIP-eTRV-2 für die Zeit solange die Sicherheitsschaltung aktive ist öffnen.

Das der Plan, doch leider bekomme ich keine Daten in den Systemvariablen angezeigt.

LG Werner
Vielen Dank. Verstanden. Ich hatte nur einen Pelletofen im Kopf. Bei einem Scheitholzofen ist das natürlich nochmal was anderes...
Klingt nach einer sinnvollen Idee.

Eventuell postest du einfach mal dein Skript.

Viele Grüße

Wkrueckel
Beiträge: 10
Registriert: 30.12.2021, 12:18
System: Access Point

Re: ETA Heizung auslesen

Beitrag von Wkrueckel » 20.01.2022, 09:08

Hallo cRemE-fReSh, hallo zusammen,

ich habe das Script von " Wheeler » 14.11.2021, 22:00 " genommen und angepasst. Zumindest bekomme ich jetzt Daten aus meiner ETA Heizung heraus. Da ich die Software 2.5x in meiner Heizung installiert habe scheint es das gleiche Problem wie bei Wheeler zu sein das ab der ETA Software 2.5x oder 3.5x in der xml Datei etwas geändert wurde. Was mir aber nicht gelingt ist das bei der Abfrage nach dem Heizungszustand die Systemvariable "Bereit" - "<eta version="1.0"><value advTextOffset="2000" unit="" uri="/user/var/48/10391/0/0/12000" strValue="Bereit" scaleFactor="1" decPlaces="0">2012</value></eta> angezeigt wird. Hier wir der "decPlaces Wert 2012 zurückgegeben und angezeigt. Kann man das im Script umstellen, das der "strValue" Wert zurück gegeben wird?
Ich werde mal, sobald ich fertig bin mein Programm hier veröffentlichen und mir den Rat von Euch holen. Denn sicher gibt es zum Schluss viele Verbesserungs Möglichkeiten.

Gruß Werner

cRemE-fReSh
Beiträge: 40
Registriert: 30.12.2012, 12:43
Danksagung erhalten: 7 Mal

Re: ETA Heizung auslesen

Beitrag von cRemE-fReSh » 20.01.2022, 23:20

Für die Abfrage von nicht numerischen Werten (z.B. Kesselzustand, Heizung, etc.) gibt es ein anderes Script.

Für ETA <V3.54.0 sieht das so aus:

Code: Alles auswählen

string parameterList = "ETA_Kesselzustand,/40/10021/0/0/12000
\tETA_Heizung,/120/10101/0/0/12092
";

string parameter;
string variable;
string url;
string urlComplete;
string etaXml;

!CUxD Verweis
string cuxdAdress = "CUxD.CUX2801002:4.";

!Adresse ETA 
string serverAdress = "http://192.168.188.111:8080//user/var";

foreach (parameter, parameterList)
{
	variable = parameter.StrValueByIndex(",",0);
	url = parameter.StrValueByIndex(",",1);
	etaXml = "";
	urlComplete = serverAdress # url;
	WriteLine(urlComplete);
	    
	!hier ist die Abfrage mit CUxD
	dom.GetObject(cuxdAdress # "CMD_SETS").State("wget -q -O - '"#urlComplete#"'");
	dom.GetObject(cuxdAdress # "CMD_QUERY_RET").State(1);
	string eta_xml = dom.GetObject(cuxdAdress # "CMD_RETS").State();

	!Daten mit Suchworten aus XML-File ausfiltern:
	!Wert auslesen zwischen "strValue" und "unit"
	string word= "strValue";
	integer word_laenge = word.Length();
	integer word_strV_position = eta_xml.Find(word)+ word_laenge+2;
	!WriteLine(word_strV_position);
	string daten = eta_xml.Substr((word_strV_position));
	!WriteLine(daten);

	string word= "unit";
	integer word_unit_position = eta_xml.Find(word);
	!WriteLine(word_unit_position);
	integer value_laenge = ( word_unit_position - word_strV_position)-2;
	!WriteLine(value_laenge);
	string Wert = eta_xml.Substr((word_strV_position),value_laenge);
	! WriteLine(Wert);
	  
	!Gesamtausgabe
	WriteLine(Wert);

	!an Systemvareable
	dom.GetObject(variable).State(Wert);
}
Für ETA >=V3.54.0 müsste das so gehen. Bitte testen. Das kann ich nicht probieren...

Code: Alles auswählen

string parameterList = "ETA_Kesselzustand,/40/10021/0/0/12000
\tETA_Heizung,/120/10101/0/0/12092
";

string parameter;
string variable;
string url;
string urlComplete;
string etaXml;

!CUxD Verweis
string cuxdAdress = "CUxD.CUX2801002:4.";

!Adresse ETA 
string serverAdress = "http://192.168.188.111:8080//user/var";

foreach (parameter, parameterList)
{
	variable = parameter.StrValueByIndex(",",0);
	url = parameter.StrValueByIndex(",",1);
	etaXml = "";
	urlComplete = serverAdress # url;
	WriteLine(urlComplete);
	    
	!hier ist die Abfrage mit CUxD
	dom.GetObject(cuxdAdress # "CMD_SETS").State("wget -q -O - '"#urlComplete#"'");
	dom.GetObject(cuxdAdress # "CMD_QUERY_RET").State(1);
	string eta_xml = dom.GetObject(cuxdAdress # "CMD_RETS").State();

	!Daten mit Suchworten aus XML-File ausfiltern:
	!Wert auslesen zwischen "strValue" und "scaleFactor"
	string word= "strValue";
	integer word_laenge = word.Length();
	integer word_strV_position = eta_xml.Find(word)+ word_laenge+2;
	!WriteLine(word_strV_position);
	string daten = eta_xml.Substr((word_strV_position));
	!WriteLine(daten);

	string word= "scaleFactor";
	integer word_unit_position = eta_xml.Find(word);
	!WriteLine(word_unit_position);
	integer value_laenge = ( word_unit_position - word_strV_position)-2;
	!WriteLine(value_laenge);
	string Wert = eta_xml.Substr((word_strV_position),value_laenge);
	! WriteLine(Wert);
	  
	!Gesamtausgabe
	WriteLine(Wert);

	!an Systemvareable
	dom.GetObject(variable).State(Wert);
}
Aber wie schonmal gesagt. Plagt euch nicht mit Homematic-Scripten ab. NodeRed kann das viel viel einfacher. :D

Viele Grüße

Wkrueckel
Beiträge: 10
Registriert: 30.12.2021, 12:18
System: Access Point

Re: ETA Heizung auslesen

Beitrag von Wkrueckel » 23.01.2022, 10:20

Hallo cRemE-fReSh,

Danke für das Script,werde beides mal ausprobieren. Sowohl das Script als auch NodeRed!
Bis die Tage, melde mich wieder, da ich ganz sicher noch viele viele Fragen habe!

Liebe Grüß Werner

Wkrueckel
Beiträge: 10
Registriert: 30.12.2021, 12:18
System: Access Point

Re: ETA Heizung auslesen

Beitrag von Wkrueckel » 24.01.2022, 14:19

Hallo cRemE-fReSh,

dein Script für Zeichenkette funktioniert.
Das NodeRed Zusatzprogramm habe ich mal reingeschaut. Ist ganz schön mächtig das man sicher nicht mal nebenbei beherrscht!!!

Gruß Werner

Wkrueckel
Beiträge: 10
Registriert: 30.12.2021, 12:18
System: Access Point

Re: ETA Heizung auslesen

Beitrag von Wkrueckel » 28.01.2022, 08:54

Hallo zusammen,

die Variablen Funktionieren und doch komme ich mit meiner Idee, das sobald mein Pufferspeicher über 100% Ladung (Stückholzfeuerung bei der man nicht so genau dosieren kann) weiter. Die Thermostate gehen zwar auf doch nicht so lange wie ich es will um die Temperatur wider unter 100% Ladung zu drücken und auf das Standart Wochenprogramm zurück zu kommen. Wer kann helfen! Hier mal mein Programm.
Puffer Überhitzung.jpg
Ich freue mich auf Euere Anregungen. Gruß Werner

MichaelN
Beiträge: 9639
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 697 Mal
Danksagung erhalten: 1614 Mal

Re: ETA Heizung auslesen

Beitrag von MichaelN » 28.01.2022, 09:03

Nur mal so als Anregung: Vielleicht nicht gleich bei 99% wieder zurückschalten, sondern erst bei 95%?
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Antworten

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