FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Herry-77 am 27 September 2020, 13:30:48

Titel: Werte per HTTPMOD mit Umrechnung übertragen
Beitrag von: Herry-77 am 27 September 2020, 13:30:48
Hallo Ich möchte gern per HTTPMOD an den Web-Server meines Heizkreisverteilers die Solltemperaturen der einzelnen Räume übergeben.
Der Web Server erwartet dabei die Temperatur als 4-stelligen Wert.

Im Browser funktioniert die Sollwertvorgabe auf 22 °C .
http://192.168.178.38/cgi-bin/writeVal.cgi?G4.SollTemp=2200

Im FHEM kann ich das User Reading ,,Buero_Temperatur_Soll" meines HTTMOD Devices ,,Raumtemperaturen_EG_Set" ebenfalls mit
   
Set Raumtemperaturen_EG_Set Buero_Temperatur_Soll 2200 auf die gewünschten 22° setzen.
Um aber eben in FHEM nicht einen 4-stelligen Wert sondern einen Temperaturwert im Format 22.00 °C zu übergeben.
In meiner alten FHEM Installation von 2015 wurde das wie folgt im HTTPMOD über ein Userreading set05Expr $val *100 umrechnet.


Beispiel der Userreadings

set05Expr $val * 100       
set05Max 28
set05Min 8
set05Name Buero_Temperatur_Soll


Die Umrechnung funktioniert nach neu aufgesetztem FHEM nicht mehr.
Der Befehl ,,set Raumtemperaturen_EG_Set Buero_Temperatur_Soll 24" übergibt an den Web-Server tatsächlich nur den Wert 24 und nicht 2400.

Anbei mal das Log File


2020.09.27 13:24:23 5: Raumtemperaturen_EG_Set: set called with Buero_Temperatur_Soll 24

2020.09.27 13:24:23 5: Raumtemperaturen_EG_Set: set found option Buero_Temperatur_Soll in attribute set05Name

2020.09.27 13:24:23 5: Raumtemperaturen_EG_Set: is checking value 24 against min 8

2020.09.27 13:24:23 5: Raumtemperaturen_EG_Set: set is checking value 24 against max 28

2020.09.27 13:24:23 4: Raumtemperaturen_EG_Set: set will now set Buero_Temperatur_Soll -> 24

2020.09.27 13:24:23 5: Raumtemperaturen_EG_Set: AddToQueue adds type set05 to URL http://192.168.178.38/cgi-bin/writeVal.cgi?G4.SollTemp=$val, no data, no headers, retry 0, initial queue len: 0

2020.09.27 13:24:23 5: Raumtemperaturen_EG_Set: HandleSendQueue called, qlen = 1

2020.09.27 13:24:23 4: Raumtemperaturen_EG_Set: HandleSendQueue sends set05 with timeout 2 to http://192.168.178.38/cgi-bin/writeVal.cgi?G4.SollTemp=24, No Data, No Header
2020.09.27 13:24:23 5: HttpUtils url=http://192.168.178.38/cgi-bin/writeVal.cgi?G4.SollTemp=24
2020.09.27 13:24:23 4: IP: 192.168.178.38 -> 192.168.178.38
2020.09.27 13:24:23 5: HttpUtils request header:
GET /cgi-bin/writeVal.cgi?G4.SollTemp=24 HTTP/1.0
Host: 192.168.178.38
User-Agent: fhem
Accept-Encoding: gzip,deflate

2020.09.27 13:24:23 4: http://192.168.178.38/cgi-bin/writeVal.cgi?G4.SollTemp=24: HTTP response code 200
2020.09.27 13:24:23 5: HttpUtils http://192.168.178.38/cgi-bin/writeVal.cgi?G4.SollTemp=24: Got data, length: 2
2020.09.27 13:24:23 5: HttpUtils response header:
HTTP/1.1 200 OK
Server: Keil-EWEB/2.1
Content-Type: text/html
Cache-Control: no-cache
Connection: close
2020.09.27 13:24:23 4: Raumtemperaturen_EG_Set: Read callback: request type was set05 retry 0,
header: HTTP/1.1 200 OK
Server: Keil-EWEB/2.1
Content-Type: text/html
Cache-Control: no-cache
Connection: close, body length 2
2020.09.27 13:24:23 5: Raumtemperaturen_EG_Set: Read callback: body
24
2020.09.27 13:24:23 4: Raumtemperaturen_EG_Set: Read found no charset header (bodyDecode was set to auto)
2020.09.27 13:24:23 5: Raumtemperaturen_EG_Set: GetCookies is looking for Cookies
2020.09.27 13:24:23 5: Raumtemperaturen_EG_Set: ExtractSid called, context set, num 05
2020.09.27 13:24:23 4: Raumtemperaturen_EG_Set: checking for redirects, code=200, ignore=0
2020.09.27 13:24:23 4: Raumtemperaturen_EG_Set: no redirects to handle
2020.09.27 13:24:23 5: Raumtemperaturen_EG_Set: CheckAuth decided no authentication required