ETA Heizung auslesen

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

Moderator: Co-Administratoren

NIPIAN
Beiträge: 14
Registriert: 05.09.2018, 16:54
Hat sich bedankt: 5 Mal

Re: ETA Heizung auslesen

Beitrag von NIPIAN » 05.09.2018, 17:09

Aloha!

Seit knapp einem Jahr darf ich nun nen ETA SH 20 zum "Warm machen" nutzen - und seit gestern habe ich hier eine CCU3 herumliegen.
Aber egal was ich durchwälze, umzusetzen versuche und wie ich auch da im WebUI rumklicke... eure Scripts laufen - angeblich fehlerfrei, die IP-Adressen und Variablen stimmen... aber eine Anzeige der durch die Scripts ausgelesenen Daten kann ich nicht erstellen / nicht finden.

Mir geht es darum, für bestimmte Parameter ein Verlaufsdiagramm in Abhängigkeit der Zeit zu erstellen. Aber ich bin a) n absoluter Programmiernoob und b), so wie es sich gerade offenbart, absolut unfähig die passende Anleitung für diese Frage-/Aufgabenstellung zu finden.

Gibt es eine Anleitung "... für Dummies", wie man ein Nicht-Homematic-Gerät in die CCU3 einbindet, sodass ich meine Idee ETA-Daten-Verlaufsdiagramm umsetzen kann?

Vielen Dank schon einmal für eure Hilfe im Voraus!

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

Re: ETA Heizung auslesen

Beitrag von cRemE-fReSh » 05.09.2018, 20:24

Was steht denn in den Variablen drin, die du angelegt hast? Werden diese mit Werten beschrieben?

Eigentlich muss man ja nur:
a) Die Variablen anlegen.
b) Die Skripte anlegen und der einfachheit halber zyklisch (z.B. alle 10 MInuten) ausführen.

Viele Grüße

NIPIAN
Beiträge: 14
Registriert: 05.09.2018, 16:54
Hat sich bedankt: 5 Mal

Re: ETA Heizung auslesen

Beitrag von NIPIAN » 06.09.2018, 00:41

"Eigentlich muss man ja nur" - öi, ich bin echt n noob :) . Ich versuch mich da einzuarbeiten, aber von "Wissenslücken" zu sprechen entspricht eher einem Euphemismus. Ehrlicherweise: Wissenskrater.

Also: ich hab deinen Code übernommen; btw. die Server-Adresse ist nur geelcht.

Code: Alles auswählen

string parameterList = "ETA_Aussentemperatur,/120/10251/0/0/12197
\tETA_Kesseltemperatur,/48/10391/0/0/12161
\tETA_Vorlauftemperatur,/120/10101/0/0/12241
\tETA_Pufferspeicher_Temp_Oben,/120/10251/0/0/12242
\tETA_Pufferspeicher_Temp_Mitte,/120/10251/0/0/12522
\tETA_Pufferspeicher_Temp_Unten,/120/10251/0/0/12244
\tETA_Pufferspeicher_Ladezustand,/120/10251/0/0/12528
";

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

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

!Adresse ETA 
string serverAdress = "http://127.0.0.1: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 etaXml = dom.GetObject(cuxdAdress # "CMD_RETS").State();

	!Daten mit Suchworten aus XML-File ausfiltern:
	string word = "advTextOffset";
	integer word_laenge = word.Length();
	integer word_position = etaXml.Find(word);
	string daten = etaXml.Substr((word_position + word_laenge +5), 100);
	integer word_position = daten.Find(word);
	daten = daten.Substr(0, (word_position -2));
	!ScalFactor auslesen Komma

	!Wert auslesen zwischen "scaleFactor" und "advTextOffset"
	string word= "scaleFactor";
	integer word_laenge = word.Length();
	integer word_scalV_position = etaXml.Find(word)+ word_laenge+2;
	!WriteLine(word_scalV_position);
	!string scaleFactor= etaXml.Substr((word_scalV_position));
	!WriteLine("advTextOffset= " # scaleFactor);

	string word= "advTextOffset";
	integer word_advT_position = etaXml.Find(word);
	!WriteLine(word_advT_position);
	integer value_laenge = ( word_advT_position - word_scalV_position)-2;
	!WriteLine(value_laenge);

	!string scaleFactor= etaXml.Substr((word_scalV_position),value_laenge);
	real Factor= etaXml.Substr((word_scalV_position),value_laenge).ToFloat();
	!WriteLine("Factor= " # Factor);
	
	real zahl = daten.ToFloat()/Factor;

	WriteLine(daten);
	WriteLine(zahl);

	!an Systemvareable
	dom.GetObject(variable).State(zahl); 
}
Das ETA_Script läuft unter Programme und Verknüpfungen und sollte alle 5 Minuten abgearbeitet werden.
Die Systemvariablen habe ich z.B. "ETA_Aussentemperatur,", oder "ETA_Kesseltemperatur,", wie in deinem Script vorgegeben genannt, um erst einmal hier die Fehlerquelle zu minimieren. Mir geht es später vor allem um die Solarkollektorkomponenten. Die uris stimmen.
Die Zahlenwerte verändern sich nach manuellem Scriptstart, oder auch nach dem Abwarten der vorgegebenen Zeit für die Routine, nicht. Sie bleiben stur beim Minimumwert von aktuell 0.

EDIT 06.09.2018, 10:22 nächster Testlauf:

Wenn dieser Code (jeweilige IP-Adressen geelcht) über die Skript testen Funktion läuft

Code: Alles auswählen

string parameterList = "Aussentemperatur,/120/10251/0/0/12197
\tETA_Kesseltemperatur,/48/10391/0/0/12161
\tETA_Vorlauftemperatur,/120/10101/0/0/12241
\tETA_Pufferspeicher_Temp_Oben,/120/10251/0/0/12242
\tETA_Pufferspeicher_Temp_Mitte,/120/10251/0/0/12522
\tETA_Pufferspeicher_Temp_Unten,/120/10251/0/0/12244
\tETA_Pufferspeicher_Ladezustand,/120/10251/0/0/12528
";

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

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

!Adresse ETA 
string serverAdress = "http://127.0.0.1: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 etaXml = dom.GetObject(cuxdAdress # "CMD_RETS").State();

	!Daten mit Suchworten aus XML-File ausfiltern:
	string word = "advTextOffset";
	integer word_laenge = word.Length();
	integer word_position = etaXml.Find(word);
	string daten = etaXml.Substr((word_position + word_laenge +5), 100);
	integer word_position = daten.Find(word);
	daten = daten.Substr(0, (word_position -2));
	!ScalFactor auslesen Komma

	!Wert auslesen zwischen "scaleFactor" und "advTextOffset"
	string word= "scaleFactor";
	integer word_laenge = word.Length();
	integer word_scalV_position = etaXml.Find(word)+ word_laenge+2;
	!WriteLine(word_scalV_position);
	!string scaleFactor= etaXml.Substr((word_scalV_position));
	!WriteLine("advTextOffset= " # scaleFactor);

	string word= "advTextOffset";
	integer word_advT_position = etaXml.Find(word);
	!WriteLine(word_advT_position);
	integer value_laenge = ( word_advT_position - word_scalV_position)-2;
	!WriteLine(value_laenge);

	!string scaleFactor= etaXml.Substr((word_scalV_position),value_laenge);
	real Factor= etaXml.Substr((word_scalV_position),value_laenge).ToFloat();
	!WriteLine("Factor= " # Factor);
	
	real zahl = daten.ToFloat()/Factor;

	WriteLine(daten);
	WriteLine(zahl);

	!an Systemvareable
	dom.GetObject(variable).State(zahl); 
}
erfolgt diese Ausgabe:
Wenn ich dieses Testskript über die Skript testen Funktion laufen lasse

Code: Alles auswählen

!VERWENDET für Werte 
!String art und url muß in jeden Script oben eingefügt werden
!ab Zeile "!ab hier keine Aenderung alle gleich" - sind alle Scripte gleich.

string art = "ETA_Vorlauf";
string url = "/120/10101/0/0/12241";

string art = "ETA_Vorlauftemperatur";
string url = "/120/10101/0/0/12241";

!ab hier keine Aenderung alle gleich
!CUxD Verweis
 string cux = "CUxD.CUX2801001:1."; 

 !Adresse ETA 
 string adr = "http://127.0.0.1:8080/user/var";

 !Gesamte URL
  string urlges = adr # url;
 
 WriteLine(urlges);
	    
!hier ist die Abfrage mit CUxD
 dom.GetObject(cux # "CMD_SETS").State("wget -q -O - '"#urlges#"'");
 dom.GetObject(cux # "CMD_QUERY_RET").State(1);
 string eta_xml = dom.GetObject(cux # "CMD_RETS").State();

!Daten mit Suchworten aus XML-File ausfiltern:
 string word = "advTextOffset";
 integer word_laenge = word.Length();
 integer word_position = eta_xml.Find(word);
 string daten = eta_xml.Substr((word_position + word_laenge +5), 100);
 integer word_position = daten.Find(word);
 daten = daten.Substr(0, (word_position -2));

!ScalFactor auslesen Komma

!Wert auslesen zwischen "scaleFactor" und "advTextOffset"
 string word= "scaleFactor";
 integer word_laenge = word.Length();
 integer word_scalV_position = eta_xml.Find(word)+ word_laenge+2;
 !WriteLine(word_scalV_position);
 !string scaleFactor= eta_xml.Substr((word_scalV_position));
 !WriteLine("advTextOffset= " # scaleFactor);

 string word= "advTextOffset";
 integer word_advT_position = eta_xml.Find(word);
 !WriteLine(word_advT_position);
  integer value_laenge = ( word_advT_position - word_scalV_position)-2;
 !WriteLine(value_laenge);

 !string scaleFactor= eta_xml.Substr((word_scalV_position),value_laenge);
 real Factor= eta_xml.Substr((word_scalV_position),value_laenge).ToFloat();
 !WriteLine("Factor= " # Factor);
 
 real zahl = daten.ToFloat()/Factor;

 WriteLine(daten);
 WriteLine(zahl);

!an Systemvareable
 dom.GetObject(art).State(zahl); 
dann bekomme ich folgende Ausgabe:
Das Tolle ist, wenn ich das letzte Skript über die Skript testen Funktion laufen lasse, dann wird die Systemvariable "ETA_Vorlauftemperatur" korrekt angepasst, die Systemvariable "ETA_Vorlauf" verharrt jedoch stur auf "0.00". Das lässt sich mit jeder Uri reproduzieren. Nehme ich unterschiedliche Uris, beharrt "ETA_Vorlauf" dennoch auf seine "0.00", während "ETA_Vorlauftemperatur" brav seine Anzeige aktualisiert.
Zuletzt geändert von NIPIAN am 06.09.2018, 10:20, insgesamt 1-mal geändert.

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

Re: ETA Heizung auslesen

Beitrag von cRemE-fReSh » 06.09.2018, 21:50

Hi,

also die IP Adresse 127.0.0.1 ist sicherlich nicht korrekt. Unter der Adresse findet sich deine CCU3 selbst wieder. Bitte schau mal im Touch Control der ETA nach, was die korrekte IP Adresse ist.

Weiter noch etwas, was ich vorrausgesetzt habe: Hast du CuxD Installiert und das Gerät entsprechend der Anleitung angelegt?

Viele Grüße

NIPIAN
Beiträge: 14
Registriert: 05.09.2018, 16:54
Hat sich bedankt: 5 Mal

Re: ETA Heizung auslesen

Beitrag von NIPIAN » 06.09.2018, 22:34

Hoi,

ich sach ja, hab die IP geelcht - sprich: wenn jemand die IP attackieren will, nachdem er den Beitrag gelesen hat, kann er das gerne tun - unter stophiphop hat das wohl mal auf beeindruckende Art und Weise funktioniert :D. Die IP zum Ansteuern vom ETA im Skript ist korrekt und ungleich 127.0.0.1, eher in die Richtung 192.xx.xx.xx ^^.

Zum CuxD: Version 2.1.0, cuxd_2.1.0_ccurm.tar.gz installiert. Gerät installiert wie unter der Folgenden url beschrieben, da kein Installationsguide zur CCU3 zu finden war: https://homematic.simdorn.net/cuxd-installation/, anschließender Neustart der CCU3.

Status des CuXD - IP-Adressen diesmal mit xx.xx.xx unkenntlich gemacht:

Code: Alles auswählen

USB 1-1 - (9514) [HUB] - Thu Sep  6 08:59:05 2018
  USB 1-1.1 - (ec00) [FF] - no driver - Thu Sep  6 08:59:05 2018
  USB 1-1.5 - USB DISK [STORAGE] - Thu Sep  6 08:59:05 2018
  Kein TTY-Device connected!

  Erfolgreich mit HomeMatic-CCU 127.0.0.1:8181 verbunden!

  als RPC-Server(INIT) von HomeMatic-CCU (1644) angefordert!

  Diese Web-Seite wurde aufgerufen von: 192.xx.xx.xx

  CUxD-Uptime(2.1.0):    0 Tag(e) 13:25:24, 64720 Bytes belegt, Compiled Aug 16 2018 13:10:28
  CCU-Uptime(3.37.8):    0 Tag(e) 13:26:02, load-average: 0.00 0.00 0.00, 10s-cpu-load: 0.7%
  Speicher:  Total 994136k  Used 284980k  Free 709156k  (Cached 98960k)
  CPU(1): ARMv7 Processor rev 4 (v7l) [38.40 bogomips]
  CPU(2): ARMv7 Processor rev 4 (v7l) [38.40 bogomips]
  CPU(3): ARMv7 Processor rev 4 (v7l) [38.40 bogomips]
  CPU(4): ARMv7 Processor rev 4 (v7l) [38.40 bogomips]
  Linux version 4.14.34 (jenkins@entw-build-10) (gcc version 6.4.0 (Buildroot 2018.05-g13768df-dirty)) #1 SMP PREEMPT Wed Aug 29 12:19:08 CEST 2018
  aktive CCU-Prozesse: ReGaHss(1) rfd(1) hs485d(0) java(1)

  Filesystem: /                  ext4     (ro) Total     999320k  Used     521128k (52.1%)  Free     478192k (47.9%)
  Filesystem: /dev               devtmpfs (rw) Total     492460k  Used          0k ( 0.0%)  Free     492460k (100.0%)
  Filesystem: /dev/shm           tmpfs    (rw) Total     497068k  Used          0k ( 0.0%)  Free     497068k (100.0%)
  Filesystem: /tmp               tmpfs    (rw) Total     497068k  Used        112k ( 0.0%)  Free     496956k (100.0%)
  Filesystem: /run               tmpfs    (rw) Total     497068k  Used         88k ( 0.0%)  Free     496980k (100.0%)
  Filesystem: /var               tmpfs    (rw) Total     497068k  Used       2820k ( 0.6%)  Free     494248k (99.4%)
  Filesystem: /media             tmpfs    (rw) Total     497068k  Used          0k ( 0.0%)  Free     497068k (100.0%)
  Filesystem: /usr/local         ext4     (rw) Total    2083379k  Used      34980k ( 1.7%)  Free    2048399k (98.3%)
  Filesystem: /mnt/boot_par      vfat     (ro) Total     261868k  Used      39492k (15.1%)  Free     222376k (84.9%)
  Filesystem: /media/usb0        vfat     (rw) Total    1905376k  Used        128k ( 0.0%)  Free    1905248k (100.0%)

  CCU-MAC:     B8:27:EB:E8:99:8E
  HM-Config:   /etc/config/homematic.regadom(703449) OK! - Thu Sep  6 20:59:37 2018
  CUxD-Config: /tmp/cuxd.ps.sav(672) - D - Thu Sep  6 22:24:05 2018
               /usr/local/addons/cuxd/cuxd.ps(672) - D - Thu Sep  6 19:59:05 2018
               /usr/local/addons/cuxd/cuxd.ps.bak(591) - D - Thu Sep  6 08:57:59 2018

  aktuelle Parameter: (* = bei Änderung Neustart erforderlich)

	*LISTENPORT      '8700'
	*HM-HOST         '127.0.0.1'
	*HM-SCRIPTPORT   '8181'
	*HM-REGAPORT     '1999'
	*RPCHOST         '127.0.0.1'
	*RPCPORT         '8701'
	 HTTP-REFRESH    '5'
	 TERMINALLINES   '25'
	 RCVLOGSIZE      '10000'
	 CUXINITCMD      'X21'
	 LOGFILE         ''
	 LOGLEVEL        '1'
	 LOGSIZE         '1000000'
	 LOGFILEMOVE     ''
	 DEVLOGFILE      ''
	 DEVLOGSIZE      '100000'
	 DEVLOGMOVE      ''
	 DEVLOGMOVE-HR   ''
	 DEVLOGEXPORT    ''
	 DEVTIMEFORMAT   '%Y-%m-%dT%X'
	 DEVDATAFORMAT   ''
	 DEVLOGOLDALIAS  '0'
	 SUBSCRIBE-RF    '1'
	 SUBSCRIBE-WR    '1'
	 AUTOSAVE        '1'
	 MOUNTCMD        ''
	 UMOUNTCMD       ''
	 BACKUPCMD       ''
	 SYSLOGMOVE      ''
	 SYSLOGMOVEDAILY ''
	 TH-DIR          ''
	 TH-DIR-FILTER   ''
	 ADDRESS-BUFFER  '120'
	 CLOUDMATIC_CMD  '/etc/config/addons/mh/cloudmatic'
	 WEBCAMCONFIG    '/usr/local/addons/cuxd/webcamconfig.ini'
	 WEBCAMSNAPSHOT  '/tmp/snapshots'
	 WEBCAMCACHE     '/tmp/webcams'
	 SYSLOGFILENAME  '/var/log/messages'
	 CUXD-CHARTS     '/etc/config/addons/www/cuxchart/index.html'
	 DFU_ERASE       './dfu-programmer $TARGET$ erase'
	 DFU_FLASH       './dfu-programmer $TARGET$ flash $HEXFILE$'
	 DFU_START       './dfu-programmer $TARGET$ start'


  Aktuelle Geräteeinstellungen - 1 Gerät(e), 16 Channel(s):

  	CUX2801001:1	rmax(65535) t(3600s) p(0)
			KEY-SHORT CMD_SHORT(wget -q -O - 'http://192.xx.xx.xx:8080/user/var/120/10221/0/0/12197')
			KEY-LONG CMD_LONG()
	CUX2801001:2	rmax(65535) t(3600s) p(0)
			KEY-SHORT CMD_SHORT()
			KEY-LONG CMD_LONG()
	CUX2801001:3	rmax(65535) t(3600s) p(0)
			KEY-SHORT CMD_SHORT()
			KEY-LONG CMD_LONG()
	CUX2801001:4	rmax(65535) t(3600s) p(0)
			KEY-SHORT CMD_SHORT()
			KEY-LONG CMD_LONG()
	CUX2801001:5	rmax(65535) t(3600s) p(0)
			KEY-SHORT CMD_SHORT()
			KEY-LONG CMD_LONG()
	CUX2801001:6	rmax(65535) t(3600s) p(0)
			KEY-SHORT CMD_SHORT()
			KEY-LONG CMD_LONG()
	CUX2801001:7	rmax(65535) t(3600s) p(0)
			KEY-SHORT CMD_SHORT()
			KEY-LONG CMD_LONG()
	CUX2801001:8	rmax(65535) t(3600s) p(0)
			KEY-SHORT CMD_SHORT()
			KEY-LONG CMD_LONG()
	CUX2801001:9	rmax(65535) t(3600s) p(0)
			KEY-SHORT CMD_SHORT()
			KEY-LONG CMD_LONG()
	CUX2801001:10	rmax(65535) t(3600s) p(0)
			KEY-SHORT CMD_SHORT()
			KEY-LONG CMD_LONG()
	CUX2801001:11	rmax(65535) t(3600s) p(0)
			KEY-SHORT CMD_SHORT()
			KEY-LONG CMD_LONG()
	CUX2801001:12	rmax(65535) t(3600s) p(0)
			KEY-SHORT CMD_SHORT()
			KEY-LONG CMD_LONG()
	CUX2801001:13	rmax(65535) t(3600s) p(0)
			KEY-SHORT CMD_SHORT()
			KEY-LONG CMD_LONG()
	CUX2801001:14	rmax(65535) t(3600s) p(0)
			KEY-SHORT CMD_SHORT()
			KEY-LONG CMD_LONG()
	CUX2801001:15	rmax(65535) t(3600s) p(0)
			KEY-SHORT CMD_SHORT()
			KEY-LONG CMD_LONG()
	CUX2801001:16	rmax(65535) t(3600s) p(0)
			KEY-SHORT CMD_SHORT()
			KEY-LONG CMD_LONG()


  gefundene Adressen (aktuelle zuerst 22:24:29):

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

Re: ETA Heizung auslesen

Beitrag von cRemE-fReSh » 06.09.2018, 22:42

Ah. Klar das das nicht geht.
Bitte passe die CuxD Adresse im Skript gemäß der Adresse in dem von dir geposteten Testskript an. Die Adresse in meinem Skript ist auf Grund meiner Konfiguration abweichend, copy&paste geht deshalb bei dir nicht. Dann sollte es funktionieren. So wie es ja auch das Testskript macht.
Viele Grüße

NIPIAN
Beiträge: 14
Registriert: 05.09.2018, 16:54
Hat sich bedankt: 5 Mal

Re: ETA Heizung auslesen

Beitrag von NIPIAN » 06.09.2018, 22:54

Hoi,

ah, ich hab das echt ein paar Mal durchgelesen, aber die 2 offenbar immer als 1 gedacht.

Nun bekommt die Systemvariable "Aussentemperatur" einen Wert. Aber alle anderen, z.B. "ETA_Pufferspeicher_Ladezustand" halten die 0.00.

EDIT: alles zurück, hab die CCU3 noch mal neu gestartet - jetzt funktionierts! Vielen Dank!
Hab zwar keine Ahnung, warum, aber jetzt erstmal eure scripts verstehen. Gebt mir ein paar Wochen^^.

Benutzeravatar
Wheeler
Beiträge: 75
Registriert: 27.01.2011, 22:50
Wohnort: Feldkirchen-Westerham
Hat sich bedankt: 5 Mal
Danksagung erhalten: 1 Mal

Re: ETA Heizung auslesen

Beitrag von Wheeler » 09.11.2021, 19:42

Hallo zusammen,

ich habe gerade die ETA Anlage auf die Version 3.54.0 upgedated und leider läuft das Script jetzt nicht mehr richtig. Evtl. wurde die API verändert? (nicht in den Release Notes angegeben)

Die Werte scheinen noch abgeholt zu werden, aber irgendwie nicht in meinen Variablen geschrieben. Alle Variablen haben den Wert 0 :(
Hier der Output vom Script wenn ich im Editor auf Ausführen klicke:

Code: Alles auswählen

http://192.168.10.239:8080//user/var/120/10601/0/0/12197

unit="°C" uri="//user/var/120/10601/0/0/12197%0A" strValue="3,8" scaleFactor="10" decPlaces="1" 38 
0.000000
http://192.168.10.239:8080//user/var/40/10021/0/0/12013

unit="kg" uri="//user/var/40/10021/0/0/12013%0A" strValue="448" scaleFactor="10" decPlaces="0" 4481 
0.000000
http://192.168.10.239:8080//user/var/40/10021/0/0/12180

unit="bar" uri="//user/var/40/10021/0/0/12180%0A" strValue="1,98" scaleFactor="100" decPlaces="2" 19
0.000000
http://192.168.10.239:8080//user/var/40/10021/0/0/12161

unit="°C" uri="//user/var/40/10021/0/0/12161%0A" strValue="58" scaleFactor="10" decPlaces="0" 584 /
0.000000
http://192.168.10.239:8080//user/var/120/10101/0/0/12241

unit="°C" uri="//user/var/120/10101/0/0/12241%0A" strValue="21" scaleFactor="10" decPlaces="0" 214 
0.000000
http://192.168.10.239:8080//user/var/40/10021/0/0/12011

unit="kg" uri="//user/var/40/10021/0/0/12011%0A" strValue="25" scaleFactor="10" decPlaces="0" 251 /v
0.000000
http://192.168.10.239:8080//user/var/40/10201/0/0/12015

unit="kg" uri="//user/var/40/10201/0/0/12015%0A" strValue="2957" scaleFactor="10" decPlaces="0" 2957
0.000000
http://192.168.10.239:8080//user/var/120/10601/0/0/13191

unit="°C" uri="//user/var/120/10601/0/0/13191%0A" strValue="61" scaleFactor="10" decPlaces="0" 614 
0.000000
http://192.168.10.239:8080//user/var/120/10601/0/11328/0

unit="°C" uri="//user/var/120/10601/0/11328/0%0A" strValue="60" scaleFactor="10" decPlaces="0" 602 
0.000000
http://192.168.10.239:8080//user/var/120/10601/0/0/13192

unit="°C" uri="//user/var/120/10601/0/0/13192%0A" strValue="52" scaleFactor="10" decPlaces="0" 519 
0.000000
http://192.168.10.239:8080//user/var/120/10601/0/0/12528

unit="%" uri="//user/var/120/10601/0/0/12528%0A" strValue="59" scaleFactor="10" decPlaces="0" 589 /v
0.000000
http://192.168.10.239:8080//user/var/120/10221/0/11142/0

unit="%" uri="//user/var/120/10221/0/11142/0%0A" strValue="0" scaleFactor="10" decPlaces="0" 0 /valu
0.000000
http://192.168.10.239:8080//user/var/120/10221/0/0/12275

unit="°C" uri="//user/var/120/10221/0/0/12275%0A" strValue="1" scaleFactor="10" decPlaces="0" 8 /va
0.000000
http://192.168.10.239:8080//user/var/40/10021/0/0/12016

unit="kg" uri="//user/var/40/10021/0/0/12016%0A" strValue="448" scaleFactor="10" decPlaces="0" 4481 
0.000000
http://192.168.10.239:8080//user/var/40/10021/0/0/12011

unit="kg" uri="//user/var/40/10021/0/0/12011%0A" strValue="25" scaleFactor="10" decPlaces="0" 251 /v
0.000000
http://192.168.10.239:8080//user/var/40/10021/0/0/12153

unit="s" uri="//user/var/40/10021/0/0/12153%0A" strValue="177h 43m" scaleFactor="1" decPlaces="0" 63
0.000000
http://192.168.10.239:8080//user/var/40/10021/14877/0/2273

unit="kWh" uri="//user/var/40/10021/14877/0/2273%0A" strValue="1700,5" scaleFactor="10" decPlaces="1
0.000000
http://192.168.10.239:8080//user/var/40/10021/14877/0/2287

unit="" uri="//user/var/40/10021/14877/0/2287%0A" strValue="xxx" scaleFactor="1000" decPlaces="2" 22
0.000000
http://192.168.10.239:8080//user/var/40/10021/14877/0/0

unit="" uri="//user/var/40/10021/14877/0/0%0A" strValue="" scaleFactor="1" decPlaces="0" 0 /value 
 
0.000000
http://192.168.10.239:8080//user/var/40/10021/14877/0/2274

unit="" uri="//user/var/40/10021/14877/0/2274%0A" strValue="xxx" scaleFactor="10" decPlaces="1" 7 /v
0.000000

Any idea? Danke!
RaspberryMatic Version 3.59.6.20211009, 148 Devices, CUxD 2.6, CCU-Historian V2.6.0 auf Debian Linux

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

Re: ETA Heizung auslesen

Beitrag von cRemE-fReSh » 13.11.2021, 17:27

Wheeler hat geschrieben:
09.11.2021, 19:42
Hallo zusammen,

ich habe gerade die ETA Anlage auf die Version 3.54.0 upgedated und leider läuft das Script jetzt nicht mehr richtig. Evtl. wurde die API verändert? (nicht in den Release Notes angegeben)

Die Werte scheinen noch abgeholt zu werden, aber irgendwie nicht in meinen Variablen geschrieben. Alle Variablen haben den Wert 0 :(
Hier der Output vom Script wenn ich im Editor auf Ausführen klicke:
[...]
Any idea? Danke!
Aus deinem "Code" werde ich nicht ganz schlau.
Kannst du bitte folgendes im Browser aufrufen und einen Screenshot posten?

http://192.168.10.239:8080//user/var/40/10021/0/0/12180

Interessiert mich auch. Wollte auch bei Gelegenheit mal updaten...

Benutzeravatar
Wheeler
Beiträge: 75
Registriert: 27.01.2011, 22:50
Wohnort: Feldkirchen-Westerham
Hat sich bedankt: 5 Mal
Danksagung erhalten: 1 Mal

Re: ETA Heizung auslesen

Beitrag von Wheeler » 14.11.2021, 12:55

cRemE-fReSh hat geschrieben:
13.11.2021, 17:27
Aus deinem "Code" werde ich nicht ganz schlau.
Kannst du bitte folgendes im Browser aufrufen und einen Screenshot posten?

http://192.168.10.239:8080//user/var/40/10021/0/0/12180
Im Chrome Browser bekommen ich folgende Ausgabe zurück:

Code: Alles auswählen

<eta xmlns="http://www.eta.co.at/rest/v1" version="1.0">
<value advTextOffset="0" unit="bar" uri="//user/var/40/10021/0/0/12180" strValue="1,87" scaleFactor="100" decPlaces="2">187</value>
</eta>
Bildschirmfoto 2021-11-14 um 12.49.04.png
Ich habe gerade gesehen, das ETA wohl die Version 3.54.0 zurückgezogen hat. (Nur die Release Notes sind noch da)
Bildschirmfoto 2021-11-14 um 12.50.47.png
Die API schein zu funktionieren aber irgendwas müssen sie ja geändert haben denn seit dem Update läuft das Script nicht mehr richtig durch und ich bekomme nur noch 0-er Werte.
RaspberryMatic Version 3.59.6.20211009, 148 Devices, CUxD 2.6, CCU-Historian V2.6.0 auf Debian Linux

Antworten

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