HttpUtils # in URL

Begonnen von MadMax, 28 August 2017, 07:41:20

Vorheriges Thema - Nächstes Thema

MadMax

Hallo Zusammen,

ich würde gerne mit den HttpUtils.pm ein par Daten vom Piko 10 BA auslesen (Neues Webmodul).

Leider bekomme ich immer als Inhalt
Sorry, the requested file does not exist on this server.

Die URL ist
http://192.168.2.85/#/home

im Browser wird mir die Seite angezeigt, mit dem BlockingGet kommt nur die Meldung.
Mein Code in Fhem (nur zum Testen).

D_KOSTAL_READ:klick {

fhem("set D_KOSTAL_READ nix");

my $param = {url        => "http://192.168.2.85/#/home", timeout    => 60};

my @WERT = HttpUtils_BlockingGet($param);

fhem("set D_KOSTAL_READ_ERROR ".@WERT[0]);
fhem("set D_KOSTAL_READ_AUSGABE ".@WERT[1]);
}



Wenn ich im Browser "http://192.168.2.85/home" eingebe bekomme ich auch angezeigt das die Datei nicht auf dem Server existiert.
Darum vermute ich das es an der # liegt.

Leider weiß ich hier nicht mehr weiter, würde mich über Unterstützung freuen, danke :)

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

EinEinfach

Schon mal HTTPMOD Modul angeschaut?

Gruß
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP

justme1968

du musst das # als %23 schreiben.

such mal bei google nach urlencode

es gibt zeichen die müssen in einer url besonders codiert werden. die browser machen das zum teil automatisch. in fhem muss du es selber genau vorgeben.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

MadMax

Hallo,

HTTPMOD habe ich noch nicht angeschaut, werde ich gleich mal machen.

das mit %23 habe ich versucht, ging leider auch nicht :(

Gruß
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

MadMax

HTTPMOD bringt mir das gleiche, der Server meldet das die Datei nicht verfügbar ist und das bekomme ich dann als ausgabe zurück.

Leider finde ich auch nix ob es einene URL ohne # gibt.
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

justme1968

schau mal ob es mit wget geht. die original url und mit debug schauen was genau geholt wird.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

MadMax

So, HttpUtils mit Loglevel 1, bei beiden Varianten ob mit # oder %23 das gleiche.
Aber die # ist in der URL drin

2017.08.28 09:23:08 1: HttpUtils url=http://192.168.2.85/#/home
2017.08.28 09:23:08 2: HttpUtils request header:
WGET /#/home HTTP/1.0
Host: 192.168.2.85
User-Agent: fhem

2017.08.28 09:23:08 1: http://192.168.2.85/#/home: HTTP response code 200
2017.08.28 09:23:08 1: HttpUtils http://192.168.2.85/#/home: Got data, length: 173
2017.08.28 09:23:08 2: HttpUtils response header:
HTTP/1.0 200 OK
Content-Type: text/html
Expires: Sun, 02 Jan 2000 11:11:11 GMT



2017.08.28 09:27:05 1: HttpUtils url=http://192.168.2.85/%23/home
2017.08.28 09:27:05 2: HttpUtils request header:
WGET /%23/home HTTP/1.0
Host: 192.168.2.85
User-Agent: fhem

2017.08.28 09:27:05 1: http://192.168.2.85/%23/home: HTTP response code 200
2017.08.28 09:27:05 1: HttpUtils http://192.168.2.85/%23/home: Got data, length: 173
2017.08.28 09:27:05 2: HttpUtils response header:
HTTP/1.0 200 OK
Content-Type: text/html
Expires: Sun, 02 Jan 2000 11:11:11 GMT


Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

MadMax

#7
Ich habe was.

http://192.168.2.85/api/dxs.json?dxsEntries=33556736
{"dxsEntries":[{"dxsId":33556736,"value":4926.920898}],"session":{"sessionId":0,"roleId":0},"status":{"code":0}}

Da bekomme ich die Aktuelle PV Leistung.

http://192.168.2.85/api/dxs.json?dxsEntries=33556736&dxsEntries=67109120&dxsEntries=83888128&dxsEntries=33556229&dxsEntries=16780032

Bringt mir dann:

{"dxsEntries":[{"dxsId":33556736,"value":4850.602051},{"dxsId":67109120,"value":1106.510010},{"dxsId":83888128,"value":1074.247559},{"dxsId":33556229,"value":32.000000},{"dxsId":16780032,"value":3}],"session":{"sessionId":0,"roleId":0},"status":{"code":0}}


Also:
DC-Eingang Gesamt
Ausgangsleistung
Eigenverbrauch
Batterie Ladezustand
Betriebsstatus

Jetzt muss ich mir nur noch die IDs für die Parameter die Interessant sind raussuchen und Fertig :)

Rausbekommen habe ich das über die Netzwerkanalyse mit Firefox, da sieht man wo das JS so drauf zugreift.

Also ist mir das mit der # auch egal.

Aber Danke für die Hilfe. Dann werde ich mal schauen das ich mein erstes Modul baue.

Gruß
Max
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

MadMax

Zur Info.

//Leistungswerte
    ID_DCEingangGesamt = 33556736;         // in W
    ID_Ausgangsleistung = 67109120;        // in W
    ID_Eigenverbrauch = 83888128;          // in W
    //Status
    ID_Status = 16780032;                  // 0:Off
    //Statistik - Tag
    ID_Ertrag_d = 251658754;               // in Wh
    ID_Hausverbrauch_d = 251659010;        // in Wh
    ID_Eigenverbrauch_d = 251659266;       // in Wh
    ID_Eigenverbrauchsquote_d = 251659278; // in %
    ID_Autarkiegrad_d = 251659279;         // in %
    //Statistik - Gesamt
    ID_Ertrag_G = 251658753;               // in kWh
    ID_Hausverbrauch_G = 251659009;        // in kWh
    ID_Eigenverbrauch_G = 251659265;       // in kWh
    ID_Eigenverbrauchsquote_G = 251659280; // in %
    ID_Autarkiegrad_G = 251659281;         // in %
    ID_Betriebszeit = 251658496;           // in h
    //Momentanwerte - PV Genertor
    ID_DC1Spannung = 33555202;             // in V
    ID_DC1Strom = 33555201;                // in A
    ID_DC1Leistung = 33555203;             // in W
    ID_DC2Spannung = 33555458;             // in V
    ID_DC2Strom = 33555457;                // in A
    ID_DC2Leistung = 33555459;             // in W
    //Momentanwerte Haus
    ID_HausverbrauchSolar = 83886336;      // in W
    ID_HausverbrauchBatterie = 83886592;   // in W
    ID_HausverbrauchNetz = 83886848;       // in W
    ID_HausverbrauchPhase1 = 83887106;     // in W
    ID_HausverbrauchPhase2 = 83887362;     // in W
    ID_HausverbrauchPhase3 = 83887618;     // in W
    //Netz Netzparameter
    ID_NetzAusgangLeistung = 67109120;     // in W
    ID_NetzFrequenz = 67110400;            // in Hz
    ID_NetzCosPhi = 67110656;
    //Netz Phase 1
    ID_P1Spannung = 67109378;              // in V
    ID_P1Strom = 67109377;                 // in A
    ID_P1Leistung = 67109379;              // in W
    //Netz Phase 2
    ID_P2Spannung = 67109634;              // in V
    ID_P2Strom = 67109633;                 // in A
    ID_P2Leistung = 67109635;              // in W
    //Netz Phase 3
    ID_P3Spannung = 67109890;              // in V
    ID_P3Strom = 67109889;                 // in A
    ID_P3Leistung = 67109891;              // in W
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax

justme1968

HTTPMOD und jsonreadings sollte dir weiter helfen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

MadMax

Funktioniert mit HTTPMOD und der oben angegebenen URL hervorragend.
Lenovo M910Q Tiny Debian 12, FHEM 6.3, 2x Siemens Logo 0BA7, Homematic CCU3, Philips HUE, 6x SMA Wechselrichter, BYD HVM, BYD HVS, SMA EVCharger, KEBA Wallbox, 2x HMS800W, Daikin Wärmepumpe über CAN, viele ESPs

Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/MadMax