ETA Heizung auslesen

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

Moderator: Co-Administratoren

Tyfys
Beiträge: 551
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 125 Mal

Re: ETA Heizung auslesen

Beitrag von Tyfys » 11.01.2023, 21:40

Die Fehlermeldungen :
Xythras hat geschrieben:
11.01.2023, 21:20
Datenabfrage für http://<192.168.0.xxxxxxx>:8080//user/var/112/10021/0/0/12241 fehlgeschlagen
Datenabfrage für http://<192.168.0.xxxxxxx>:8080//user/var/112/10101/0/0/12241 fehlgeschlagen
sagen mir eigentlich, dass du diese Zeile

Code: Alles auswählen

string serverAdress = "http://<IP-Adresse>:8080//user/var";
hättest ändern müssen in :

Code: Alles auswählen

string serverAdress = "http://192.168.0.xxxxxxx:8080//user/var";
also ohne die spitzen Klammern. die xxxx natürlich auch noch wieder anpassen
Gruß
Harry

Benutzeravatar
Henke
Beiträge: 1526
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 141 Mal
Danksagung erhalten: 306 Mal

Re: ETA Heizung auslesen

Beitrag von Henke » 11.01.2023, 21:41

Xythras hat geschrieben:
11.01.2023, 21:20
Datenabfrage für http://<192.168.0.xxxxxxx>:8080//user/var/112/10021/0/0/12241 fehlgeschlagen
Die xxxx brauchst du nicht. Ist dein lokales Netz, da kann niemand was mit anfangen.
Die // nach 8080 könnten ein Problem sein genauso wie die <>. Teste mal:

Code: Alles auswählen

 http://192.168.0.xxx:8080/user/var/112/10021/0/0/12241
xxx natürlich ersetzen

Pfff, schon wieder zu langsam :D

Tyfys
Beiträge: 551
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 125 Mal

Re: ETA Heizung auslesen

Beitrag von Tyfys » 11.01.2023, 21:53

Henke hat geschrieben:
11.01.2023, 21:41
Die // nach 8080
ziehen sich aber schon von Beginn an durchs Thema.
Schien kein Problem zu sein....
Gruß
Harry

Xythras
Beiträge: 28
Registriert: 05.01.2023, 19:27
System: CCU

Re: ETA Heizung auslesen

Beitrag von Xythras » 11.01.2023, 21:56

IP passt natürlich :-)

OK, ohne die Eckigen klammern kommt keine Fehlermeldung mehr. Hmmmmm, wenn ich die Systemvariablen aufrufe ändert sich aber trotzdem nichts.

Was kann ich bei den 8080 machen?





Tyfys hat geschrieben:
11.01.2023, 21:40
Die Fehlermeldungen :
Xythras hat geschrieben:
11.01.2023, 21:20
Datenabfrage für http://<192.168.0.xxxxxxx>:8080//user/var/112/10021/0/0/12241 fehlgeschlagen
Datenabfrage für http://<192.168.0.xxxxxxx>:8080//user/var/112/10101/0/0/12241 fehlgeschlagen
sagen mir eigentlich, dass du diese Zeile

Code: Alles auswählen

string serverAdress = "http://<IP-Adresse>:8080//user/var";
hättest ändern müssen in :

Code: Alles auswählen

string serverAdress = "http://192.168.0.xxxxxxx:8080//user/var";
also ohne die spitzen Klammern. die xxxx natürlich auch noch wieder anpassen

Tyfys
Beiträge: 551
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 125 Mal

Re: ETA Heizung auslesen

Beitrag von Tyfys » 11.01.2023, 22:07

Wenn du das bei Skript testen laufen lässt,
wird da nichts in Ausgabe geschrieben ?

BTW: du musst nicht den ganzen Post zitieren.
Gruß
Harry

Xythras
Beiträge: 28
Registriert: 05.01.2023, 19:27
System: CCU

Re: ETA Heizung auslesen

Beitrag von Xythras » 11.01.2023, 22:15

Neee wird nix rein geschrieben wenn ich das Skript teste. Eigentlich fragt es auch gerade zum testen 1x pro min ab.


Tyfys hat geschrieben:
11.01.2023, 22:07
Wenn du das bei Skript testen laufen lässt,
wird da nichts in Ausgabe geschrieben ?

BTW: du musst nicht den ganzen Post zitieren.

Tyfys
Beiträge: 551
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 125 Mal

Re: ETA Heizung auslesen

Beitrag von Tyfys » 11.01.2023, 22:33

Xythras hat geschrieben:
11.01.2023, 22:15
Eigentlich fragt es auch gerade zum testen 1x pro min ab
Würde ich erst aktivieren, wenn alles klappt,

Stell mal hier deine Skriptversion rein.
bitte in CodeTags (den Button </> über dem Textfeld anklicken )
Gruß
Harry

Benutzeravatar
Henke
Beiträge: 1526
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 141 Mal
Danksagung erhalten: 306 Mal

Re: ETA Heizung auslesen

Beitrag von Henke » 11.01.2023, 22:35

-O ? 8)

Nope, das macht nix

Xythras
Beiträge: 28
Registriert: 05.01.2023, 19:27
System: CCU

Re: ETA Heizung auslesen

Beitrag von Xythras » 11.01.2023, 22:38

Code: Alles auswählen

string WerteListe = "";
WerteListe = WerteListe # 'Kessel_Vorlauf,/112/10021/0/0/12241;';
WerteListe = WerteListe # 'HK1_Vorlauf,/112/10101/0/0/12241;';
WerteListe = WerteListe.RTrim(";");

boolean cuxd = false;
boolean test = true;
string Hinweis;
string variable;
string key;
string url;
string etaXml;
string AtrbName = "scaleFactor";

!CUxD Verweis
string cuxdAdress = "CUxD.CUX2801001:4.";
!Adresse ETA
string serverAdress = "http://192.18.0.13:8080//user/var";

string ListPos;
foreach(ListPos, WerteListe.Split(";")) {
    variable = ListPos.StrValueByIndex(",", 0);
    !Auswertung nur wenn die Systemvariable auch angelegt ist.
    object SVrObj = dom.GetObject(ID_SYSTEM_VARIABLES).Get(variable);
    if (!SVrObj) {
        Hinweis = Hinweis # "Variablenname " # variable # " ist falsch oder nicht angelegt\n";
        if (test == false) {
            continue;
        }
    }
    key = ListPos.StrValueByIndex(",", 1);
    etaXml = "";
    url = serverAdress # key;
    if (cuxd) {
        !hier ist die Abfrage mit CUxD
        dom.GetObject(cuxdAdress # "CMD_SETS").State("wget -q -O - '" # url # "'");
        dom.GetObject(cuxdAdress # "CMD_QUERY_RET").State(1);
        string etaXml = dom.GetObject(cuxdAdress # "CMD_RETS").State();
    } else {
        string stdout;
        string stderr;
        system.Exec("wget -q -O - '"#  url # "'" , &stdout, &stderr);
        string etaXml = stdout;
    }
    if (etaXml == "") {
        Hinweis = Hinweis # "Datenabfrage für " # url # " fehlgeschlagen\n";
        continue;
    }
    xml xmlData;
    xml xNode = xmlData.Parse(etaXml);
    integer index = 0;
    xml Elem1 = xNode.GetChildNode("value");
    if (Elem1.GetAttribute(AtrbName) <> 1) {
        real wert = Elem1.GetText().ToFloat() / Elem1.GetAttribute(AtrbName).ToFloat();
    } else {
        AtrbName = "strValue";
        string wert = Elem1.GetAttribute(AtrbName);
        AtrbName = "scaleFactor";
    }
    if (test) {
        WriteLine("Wert für " # variable # " bei " # key # " ist " # wert);
    }
    !an Systemvareable
    if (SVrObj) {
        SVrObj.State(wert);
    }
}

if ((test) && (Hinweis > "")) {
    WriteLine(Hinweis);
}

MichaelN
Beiträge: 9684
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 700 Mal
Danksagung erhalten: 1627 Mal

Re: ETA Heizung auslesen

Beitrag von MichaelN » 11.01.2023, 22:44

Gibt es Meldungen im Fehlerprotokoll?
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!“