Homematic Antwort String Auswerten

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

Antworten
Rieeg
Beiträge: 34
Registriert: 20.11.2020, 16:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal

Homematic Antwort String Auswerten

Beitrag von Rieeg » 27.01.2023, 17:35

Hallo,

ich möchte mit einem ESP8266 die Werte meines Raumthermostates abrufen und zur Heizungssteuerung nutzen. Mit dem Anruf hab ich kein Problem.
Aber wie ist es möglich auf dem ESP die Werte hinter "Antwort1" "Antwort2" "Antwort3" in eine Variable zu speichern. Stehe irgendwie völlig auf dem Schlauch. Alles was ich bisher versucht habe sind Böhmische Dörfer. Nicht dort nicht schön ist, ich begreife es nur nicht :-)
Sollte es einfacher sein immer nur eine Antwort abzuholen ist das auch kein Thema, könnte man ja ändern.

Meine Antwort der CCU am ESP sieht Folgendermaßen aus:

Code: Alles auswählen


HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: private, no-cache, must-revalidate, no-transform, max-age=0
Content-Type: text/xml; charset=iso-8859-1
Content-Length: 175
Date: Wed, 25 Jan 2023 19:58:21 GMT
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Robots-Tag: none
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none
Referrer-Policy: no-referrer
Connection: close

<xml><exec>/xy.exe</exec><sessionId></sessionId><httpUserAgent></httpUserAgent><antwort1>-0.440000</antwort1<antwort2>22.400000</antwort2><antwort3>21.000000</antwort3></xml>

Antwort 1 ist die Außentemperatur Bresser Variable, kann also auch negativ sein
Antwort 2 ist die Aktuelle IST Raumtemperatur des HM Raumthermostaten
Antwort 3 ist die Aktuelle SOLL Raumtemperatur der HM Raumthermostaten

MFG Rico

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

Re: Homematic Antwort String Auswerten

Beitrag von Henke » 27.01.2023, 18:03

Wie man eine Wert in eine Systemvariable schreibt, weißt du?
Das ist ziemlich simpel und häufig im Forum zu finden.

Das parsen der xml Stuktur etwas kniffliger...

Moment....

Code: Alles auswählen

string sXMLIn = "<xml><exec>/xy.exe</exec><sessionId></sessionId><httpUserAgent></httpUserAgent><antwort1>-0.440000</antwort1><antwort2>22.400000</antwort2><antwort3>21.000000</antwort3></xml>";

! sehr komisch, xXml.Parse läuft nicht mit dem Wert "httpUserAgent" -BUG?
sXMLIn = sXMLIn.Replace( "httpUserAgent", "htTpUserAgent" ) ;

xml xXml;
xml xStruct = xXml.Parse(sXMLIn);
real rAnt1 = xStruct.GetChildNode("antwort1").GetText();

WriteLine ( rAnt1.ToString(2) );   
In deiner xmml Antwort war ein Fehler bei antwort1 und xml.Parse hat wohl einen bug.

Rieeg
Beiträge: 34
Registriert: 20.11.2020, 16:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal

Re: Homematic Antwort String Auswerten

Beitrag von Rieeg » 27.01.2023, 20:59

Ahhhh Danke, aber ich glaube ich wurde missverstanden. Dein Script sieht mir aus wie eins der CCU. Meine Antwort ist allerdings der Serial Monitor der Arduino IDE. Ich suche nach einer Möglichkeit den String auf einem empfangenden ESP aufzudröseln, hat also nur am Rande was mit der Homematic zu tuen.

Mfg Rico

rentier-s
Beiträge: 375
Registriert: 19.06.2017, 09:24
Hat sich bedankt: 20 Mal
Danksagung erhalten: 67 Mal

Re: Homematic Antwort String Auswerten

Beitrag von rentier-s » 28.01.2023, 08:55

Nunja, die Werte stecken in einer XML Struktur, das heißt Du müsstest herausfinden, wie man XML mit der von Dir verwendeten Programmiersprache auswertet.

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“