Raumtemperatur per http in Heizungszentrale setzen

Kabellose und kabelgebundene Sender und Empfänger der klassischen Homematic-Serie

Moderator: Co-Administratoren

Antworten
GT2006
Beiträge: 58
Registriert: 17.02.2015, 20:00

Raumtemperatur per http in Heizungszentrale setzen

Beitrag von GT2006 » 09.10.2018, 11:53

Moin,

ich möchte gerne die IST-Temperatur von 3 Wandthermostaten (HM-TC-IT-WM-W-EU)
per HTTP an meine Brötje Heizung senden. Es soll eine Durchschnittstemperatur der
3 Thermostate gebildet werden und alle 15 Minuten gesetzt werden.

Der HTTP Befehl lautet: http://<IP-Adresse>/I10000=<Durchschnittstemperatur>

Über die Suchfunktion konnte ich leider nichts finden. Hat jemand eine Idee ?

Gruss
Jan

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: Raumtemperatur per http in Heizungszentrale setzen

Beitrag von Bratmaxe » 09.10.2018, 15:44

Ich habe auch eine Brötje, jedoch aktuell ohne Lan Zugang.
Wie ist deine Brötje mit dem Lan verbunden?

Ich hab mal schnell was zusammen gebastelt, das Skript prüft so aber noch nicht, ob es den Datenpunkt gibt, oder ob ein Wert eingetragen ist etc...
daher kann das zu Fehlern führen, wenn z.B. der Aktor falsch benannt wurde:

Code: Alles auswählen

string NameAktor1 = "Name1"; !hier Namen des Wandthermostat 1 eintragen
string NameAktor2 = "Name2"; !hier Namen des Wandthermostat 2 eintragen
string NameAktor3 = "Name3"; !hier Namen des Wandthermostat 3 eintragen

integer Temperatur1= dom.GetObject(ID_CHANNELS).Get(NameAktor1 #":1").DPByHssDP("TEMPERATURE").Value();
integer Temperatur2= dom.GetObject(ID_CHANNELS).Get(NameAktor2 #":1").DPByHssDP("TEMPERATURE").Value();
integer Temperatur3= dom.GetObject(ID_CHANNELS).Get(NameAktor3 #":1").DPByHssDP("TEMPERATURE").Value();
real dTemp = ((Temperatur1 + Temperatur2 + Temperatur3) / 3);

var url = "http://192.168.x.y/I10000=" # dTemp.ToString();

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - '"#url#"'");
Ich hätte es gerne noch getestet, aber ich habe keine Wandthermostate..

Edit 10.10.18: Korrektur - siehe Hinweise von Alchy
Zuletzt geändert von Bratmaxe am 10.10.2018, 10:53, insgesamt 3-mal geändert.
Gruß Carsten

GT2006
Beiträge: 58
Registriert: 17.02.2015, 20:00

Re: Raumtemperatur per http in Heizungszentrale setzen

Beitrag von GT2006 » 09.10.2018, 16:00

Moin,

vielen Dank, werde ich heute abend mal ausprobieren.

Meine Brötje habe ich mit BSB-LAN angeschlossen. Das funktioniert sehr gut:
viewtopic.php?f=47&t=33564&start=10
https://github.com/fredlcore/bsb_lan
https://forum.fhem.de/index.php?topic=29762.0

Gruss
Jan

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Raumtemperatur per http in Heizungszentrale setzen

Beitrag von alchy » 09.10.2018, 17:36

Bratmaxe hat geschrieben:
09.10.2018, 15:44
Ich hab mal schnell was zusammen gebastelt
Bitte nur als Hinweis ansehen:
Bei den Temperaturwerten der Wandthermostate handelt es sich um real Werte.
Das .ToFloat() bei der Berechnung von dTemp ist überflüssig.
dTemp.ToString() soll was bewirken?
Der korrekte CUxD Datenpunkt beim Senden der Daten per wget wäre CMD_EXEC

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Bratmaxe
Beiträge: 1573
Registriert: 28.05.2015, 12:48
Wohnort: Willich
Hat sich bedankt: 4 Mal
Danksagung erhalten: 10 Mal

Re: Raumtemperatur per http in Heizungszentrale setzen

Beitrag von Bratmaxe » 09.10.2018, 17:52

Hallo Alchy,

Danke für deine Hinweise/Kritik.

Das .ToString() habe ich eingeführt, da man mit dem # Strings zusammenführen kann. Daher habe ich vorher einen Steing daraus gemacht. Es mag sein, das der Kompiler das automatisch erledigt, dachte das wäre so "sauberer".

Gruß Carsten
Gruß Carsten

Antworten

Zurück zu „HomeMatic Aktoren und Sensoren (klassisch)“