***gelöst***HTTPMOD wie richtige Abfrage eintragen - RIKA Pelletofen - Firenet

Begonnen von Helmi55, 04 September 2017, 17:18:00

Vorheriges Thema - Nächstes Thema

Helmi55

Servus Henno
Nein da kommt unknown Argument
Man kann nur Set Ofen controls_operatingMode Manuel, Auto oder Komfort
Stellen
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Henno

Hi Helmi55

Das ist schade.
Da ich den Ofen mit fhem steuern wollte habe ich mir extra kein rika Raumthermostat gekauft sondern firenet
Dann hätte ich wohl vorher mal hier nachlesen sollen.

Eigentlich war mein Plan den so gezielt ein und aus zu schalten und dann auch in Google Home einzubinden

Helmi55

Servus
Das sollte schon über Umwege funktionieren
Ich kann dank der Hilfe von amenomade der sehr viel Zeit investiert hat, den Ofen von Automatik nach Manuell schalten.
Man(n) müsste im manuellen Modus in Kombination mit einem Funkthermometer und einem DOIF
Den Ofen schalten können
Der Automatikmodus mit den Heizzeiten gibt es leider nur im Ofen selbst. Diese Daten werden nicht
Zu RikaFireNet übertragen. Habe schon mit RIKA gesprochen, soll vielleicht noch kommen.
Der Ofen liefert auch die bereits verbrannte Menge an Pellets, habe mit einem Dummy nun auch
Eine Meldung wann der Behälter leer wird. Muss jedesmal beim Nachfüllen das halt im Dummy eintragen
Funktioniert einwandfrei

Gruß Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Henno

Evtl. wäre das hier eine Lösung.
http://wp.imperonic.de/?page_id=79

Aber den Preis finde ich etwas überzogen.
Ich werde mal bei Rika nach Infos zur Schnittstelle fragen.


LaMa163

Zitat von: Helmi55 am 04 September 2017, 17:18:00
Hallo
habe einen neuen Pelletofen. Den kann ich auch übers WEB steuern und abfragen.
Im Safari Browser sieht das ganze unter Entwicklereinstellung so aus:
"name": "Vorzimmer",
    "stoveID": "xxxxxxxxx",
    "lastSeenMinutes": 1,
    "lastConfirmedRevision": 1504385700,
    "controls": {
        "revision": 1504385700,
        "onOff": true,
        "operatingMode": 2,
        "heatingPower": 65,
        "targetTemperature": 24,
        "heatingTimesActive": false,
        "heatingTimesActiveForComfort": true,
        "setBackTemperature": 18,
        "convectionFan1Active": false,
        "convectionFan1Level": 0,
        "convectionFan1Area": 0,
        "convectionFan2Active": false,
        "convectionFan2Level": 0,
        "convectionFan2Area": 0,
        "frostProtectionActive": false,
        "frostProtectionTemperature": 5
    },
    "sensors": {
        "statusError": 0,
        "statusWarning": 0,
        "statusService": 0,
        "statusMainState": 1,
        "statusSubState": 3,
        "statusFrostStarted": false,
        "inputFlameTemperature": 21,
        "inputRoomTemperature": 21,
        "inputExternalRequest": true,
        "outputDischargeMotor": 0,
        "outputInsertionMotor": 0,
        "outputIDFan": 0,
        "outputAirFlaps": 0,
        "outputIgnition": false,
        "parameterStoveTypeNumber": 13,
        "parameterVersionMainBoard": 223,
        "parameterVersionTFT": 223,
        "parameterRuntimePellets": 11,
        "parameterRuntimeLogs": 0,
        "parameterFeedRateTotal": 17,
        "parameterFeedRateService": 683,
        "parameterOnOffCycles": 2
    },
    "stoveType": "DOMO MultiAir",
    "stoveFeatures": {
        "multiAir1": true,
        "multiAir2": true,
        "insertionMotor": false,
        "airFlaps": false,
        "logRuntime": false
    }
}

 

Hallo Zusammen,

ich versuche etwas ähnliches mit meinem Honeywell Evohome Heizkörper Thermostaten umzusetzen. Diese kann ich ähnlich wie bei deinem Ofen im Internet abrufen. Auch mit Login.

Wie komme ich denn an die Daten ran, die du oben in Safari über die Entwickleroptiinen ausgelesen hast? Ich nutze den Chrome browser unter Win 10

Grüße


Gesendet von iPhone mit Tapatalk

Helmi55

Unter Safari (11.0.2) habe ich unter Einstellungen - Erweitert - den Punkt Menü "Entwickler" in der Menüleiste anzeigen  aktiviert

Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

LaMa163

Zitat von: Helmi55 am 06 Januar 2018, 11:53:02
Unter Safari (11.0.2) habe ich unter Einstellungen - Erweitert - den Punkt Menü "Entwickler" in der Menüleiste anzeigen  aktiviert

Gruß
Helmut

Den Entwicklermodus habe ich jetzt gefunden.

Wo müssten die Information ungefähr zu finden sein? Unter Elemente/Console/Sources ? Ich blicke nicht so ganz durch


Gesendet von iPhone mit Tapatalk

LaMa163

Internals
BUSY
0
DEF
https://international.mytotalconnectcomfort.com/Locations/View/2710xxx 60
HTTPCookies
ARRAffinity=8baa90639b969d8df14774e1cd0fcbcad641ade960f94a7cc7176ee0ed99cc80; AnonymousCookie=e7b6a604-45ca-470e-a9b9-c94faecb152c; __RequestVerificationToken=frqcG7LXt6cJ_5QzV4izf3oP4RO6dKBcJ6zEnicIWRRdStcLpSPMDDRPw7E8uc0AeKAqAqA_f6--z69TdKq35d8F84g1
Interval
60
LASTSEND
1515515758.63421
LastAuthTry
2018-01-09 17:35:57
MainURL
https://international.mytotalconnectcomfort.com/Locations/View/2710xxx
ModuleVersion
3.4.0 - 9.9.2017
NAME
honeywell
NR
43
STATE
[emoji47]
TRIGGERTIME
1515515816.90201
TRIGGERTIME_FMT
2018-01-09 17:36:56
TYPE
HTTPMOD
addr
https://international.mytotalconnectcomfort.com:443
auth
0
buf
code
200
compress
1
conn
data
displayurl
https://international.mytotalconnectcomfort.com:443/Account/Login?ReturnUrl=%2fLocations%2fView%2f2710xxx
header
Cookie: ARRAffinity=8baa90639b969d8df14774e1cd0fcbcad641ade960f94a7cc7176ee0ed99cc80; AnonymousCookie=e7b6a604-45ca-470e-a9b9-c94faecb152c; __RequestVerificationToken=frqcG7LXt6cJ_5QzV4izf3oP4RO6dKBcJ6zEnicIWRRdStcLpSPMDDRPw7E8uc0AeKAqAqA_f6--z69TdKq35d8F84g1
host
international.mytotalconnectcomfort.com
httpheader
HTTP/1.1 200 OK Cache-Control: no-cache, no-store,no-cache Pragma: no-cache,no-cache Content-Length: 17085 Content-Type: text/html; charset=utf-8 Expires: -1,-1 x-content-type-options: nosniff X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block Date: Tue, 09 Jan 2018 16:35:58 GMT Connection: close
httpversion
1.0
hu_blocking
0
hu_filecount
10
hu_port
443
hu_portSfx
ignoreredirects
0
loglevel
4
path
/Account/Login?ReturnUrl=%2fLocations%2fView%2f2710xxx
protocol
https
redirects
1
timeout
2
url
https://international.mytotalconnectcomfort.com:443/Account/Login?ReturnUrl=%2fLocations%2fView%2f2710xxx
value
0
Readings
test
HTTP/1.1 200 OK
2018-01-09 17:37:59


Habe es jetzt soweit dass ich mich anscheinend korrekt einloggen kann (http code 200). Aber mein reading test (.*) zeigt lediglich eine Zeile. Ich wollte eigentlich die komplette Seite einlesen um heraus zu bekommen wie und wo die Temperatur definiert ist.


Gesendet von iPhone mit Tapatalk

amenomade

Mit (?s).*würdest Du die ganze Seite holen.

Allerdings brauchst Du das nicht. Mit deinem HTTMOD auf verbose 5 siest Du alles in der Log.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

LaMa163

Zitat von: amenomade am 10 Januar 2018, 13:26:42
Mit (?s).*würdest Du die ganze Seite holen.

Allerdings brauchst Du das nicht. Mit deinem HTTMOD auf verbose 5 siest Du alles in der Log.
Danke für den Tip. Es scheint so, dass mein login doch nicht funktioniert.

Verbose 5 gibt die folgende Meldung
2018.01.10 18:04:38 5: honeywell: looking for Cookies in HTTP/1.1 200 OK
Cache-Control: no-cache, no-store,no-cache
Pragma: no-cache,no-cache
Content-Length: 17085
Content-Type: text/html; charset=utf-8
Expires: -1,-1
x-content-type-options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Date: Wed, 10 Jan 2018 17:04:38 GMT
Connection: close
2018.01.10 18:04:38 5: honeywell: ExtractSid called, context reading, num
2018.01.10 18:04:38 5: honeywell: CheckAuth is checking buffer with ReAuthRegex id="login"|unauthorized
2018.01.10 18:04:38 4: honeywell: CheckAuth decided new authentication required
2018.01.10 18:04:38 4: honeywell: Authentication still required but no retries left - did last authentication fail?


Ein burp Auszug des Loginverfahren sieht folgendermaßen aus:

Host: international.mytotalconnectcomfort.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0
Accept: */*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: https://international.mytotalconnectcomfort.com/Account/Login?task=logout
Content-Type: application/json;charset=utf-8
antiForgeryToken: Pldidaq1ZeYkOzUb6V9BQaPVGobjtsFfYimNllb__Ovxj8_Abn1Zlv_FTqoQDD9AntTebxbWM-PzMgfJKTRNgUFCnxU1:3NCyKyuI_8Lg_E1sVwmhzq82gFctV0GJlZn5Q-NcHbgvAIzDy50H0Z3VTM-7GbulbEWikbHrJrd1mcnAIzprui2fGOQ1
X-Requested-With: XMLHttpRequest
x-ms-request-root-id: kgz4P
x-ms-request-id: z7OgR
Content-Length: 180
Cookie: AnonymousCookie=3f1f9a16-1644-4eff-9816-5dcd4c5177b1; __RequestVerificationToken=-EpYkM1wX0hQRBfy8SzE3r7CPy6C9RDtVr8uqTb8pOZ53CyPJKgTMK479U-BW_5sxS-U1BgQ2zSMWo2RNZ_CqmGbBUk1; ARRAffinity=5f3d6fad8a3ae8534c345f41f603788be7a1406a5ceebbdfe18b5c1b1c4ee5d9; ai_user=7EoLp|2018-01-10T16:43:27.365Z; ai_session=csgkB|1515602607663|1515603004639.72; __utma=68505929.1183267610.1515602612.1515602612.1515602612.1; __utmb=68505929.4.10.1515602612; __utmc=68505929; __utmz=68505929.1515602612.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmt=1; _ga=GA1.2.1183267610.1515602612; _gid=GA1.2.1999600388.1515602612; _gat=1
Connection: close

{"EmailAddress":"beispiel@test.com","Password":"123456","IsServiceStatusReturned":true,"ApiActive":true,"ApiDown":false,"RedirectUrl":"","events":[],"formErrors":[]}


Mein httpmod sieht im Moment so aus:
reAuthRegex
id="login"|unauthorized
deleteattr
reading01Name
test
deleteattr
reading01Regex
(.*)
deleteattr
reading02Name
temp
deleteattr
reading02Regex
<span>formattedTemperature</span>[^0-9]+([0-9\.]+)
deleteattr
room
Heizung
deleteattr
sid01Data
EmailAddress:beispiel@test.com&amp;Password:123456
deleteattr
sid01URL
https://international.mytotalconnectcomfort.com/Account/Login
deleteattr



Gesendet von iPhone mit Tapatalk

mikka1

Lese hier gerade auch mit, habe ähnliche Probleme mit meinem Stromzähler von smart-me.com...
Wieso können Geräte die im LAN oder WLAN hängen, nicht einfach auch darüber erreichbar sein sondern muss alles immer über die cloud... >:( >:( >:(

Gruss Stephan

amenomade

@LaMa163: kannst Du bitte ein "list" von deinem HTTPMOD posten? Das Copy/Paste vom Bildschirm ist unlesbar, und liefer auch nicht so viele Informationen aus. (bitte anonymisieren)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

LaMa163

...wenn ich heute Abend zu Hause bin schicke ich nochmal einen sauberen Auszug aus Burp, der den Login-Vorgang zeigt. Diesen konnte ich mit dem Repeater nachbilden und habe die "wichtigen" Einträge ermittelt, die für den Login erforderlich sind.

Einen sauberen httpmod Auszug werde ich auch nochmal posten inkl FHEM Log.

amenomade

@LaMa163: Eine kleine Analyse mit Burp zeigt folgendes:

Nach Aufruf (GET) von der Zielseite wirst Du zwar auf https://international.mytotalconnectcomfort.com/Account/Login weitergeleitet (http 302)
ABER
die Authentifizierungsdaten werden mit POST auf https://international.mytotalconnectcomfort.com/api/accountApi/login geschickt.
Das Loginverfahren von HTTPMOD musst Du entspr. anpassen.

Die Authentifizierungsdaten im POST sind in der Form:
{"EmailAddress":"mail@mail.com","Password":"myPassword","IsServiceStatusReturned":true,"ApiActive":true,"ApiDown":false,"RedirectUrl":"","events":[],"formErrors":[]}

Allerdings scheint es mit folgendem zu reichen:
{"EmailAddress":"beispiel@test.com","Password":"123456"}

So muss es aber in deiner attr sid01Data eins zu eins stehen, und nicht  EmailAddress:beispiel@test.com&amp;Password:123456

Ausserdem muss unbedingt das attr enableCookies 1 auf deinem HTTPMOD gesetzt werden.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

@mikka1:
Zitat von: mikka1 am 10 Januar 2018, 19:17:44
Wieso können Geräte die im LAN oder WLAN hängen, nicht einfach auch darüber erreichbar sein sondern muss alles immer über die cloud... >:( >:( >:(
Die Frage musst Du bei smart-me stellen ;)

Wenn Du weitere Hilfe brauchst, bitte ein bisschen mehr Information hier liefern...
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus