Task für das Auslesen von Energiedaten (Varta Storage) erstellen

  • 2 Antworten
  • Letztes Antwortdatum
addy-b

addy-b

Neues Mitglied
0
Hallo liebe Forumsgemeinde.

Ich habe mich versucht mit Tasker und den dort angebotenen Möglichkeiten vertraut zu machen, um eine Funktion in meinen Smarthome umzusetzen.
Leider komme ich einfach nicht weiter und brauche da mal Profiwissen.

Konkret geht es um folgendes:

Wir haben einen Batteriespeicher, der zusätzlich die Daten eines SMA Solar-Wechselrichters bereitgestellt bekommt und über eine Webseite ausgeben kann.
Diese Webseite wird vom Batteriespeicher bereitgestellt und ist über eine IP-Adresse "192.168.1.24/index.html" erreichbar.

Grundsätzlich muss man sich dort aber mit "User" und "Passwort" anmelden, damit man im nächsten Schitt dann über die Adresse "192.168.1.24/home.html" die gewünschen Energiedaten als Übersicht erhält.

Nun zu der Tasker-Funktion die ich aufbauen möchte:

- Tasker soll die die Adresse "192.168.1.24/index.html" im Hintergrund öffnen,
- hinterlegte Zugangsdaten (Nutzer / Passwort) eingeben,
- auf die Seite "192.168.1.24/home.html" wechseln und
- die dort hinterlegten Energie-Variablen (z.B. <div id="consumptionPower">1087 W</div>) in einer XML oder CSV Datei auf meiner Netzwerkplatte im 1 Minuten Intervall speichen.


Ich komme leider nicht weiter.
Ich bin mir z.B. nicht sicher, ob es überhaupt richtig ist mit "HTTP Request / Get" und anschließend mit HTTP Auth das Script aufzubauen.
Wäre sehr dankbar, wenn mir jemand hier einen Denkanstoß geben könnte.


Vielen Dank im Vorraus :)
Adrian
 
Hallo Adrian,

hier ist mein Denkanstoß inkl. Kommentaren. Natürlich sind die Daten auf deine Situation/Wünsche anzupassen, da ich es nur schnell für meinen Router testen konnte.

Aufgabe: HTML-Auth & Read

A1: HTTP Auth [
Method: Username and Password
Timeout (Sekunden): 30
Username: admin
Password: mypass ]

A2: Warte [
MS: 500
Sekunden: 0
Minuten: 0
Std.: 0
Tage: 0 ]

<Webseite - 1.Kontakt inkl. Logindaten - weiter nach Fehler>
A3: HTTP Request [
Method: GET
URL: http://192.168.1.1
Headers: %http_auth_headers
Timeout (Sekunden): 30
Structure Output (JSON, etc): An
Task Weiter Ausführen Nach Fehler:An ]

A4: Warte [
MS: 0
Sekunden: 1
Minuten: 0
Std.: 0
Tage: 0 ]

<Anker>
A5: Anker

<Webseite - 2.Kontakt inkl. Logindaten - Inhalt auslesen>
A6: HTTP Request [
Method: GET
URL: http://192.168.1.1/Status_Router.asp
Headers: %http_auth_headers
Timeout (Sekunden): 30
Structure Output (JSON, etc): An ]

A7: Warte [
MS: 0
Sekunden: 1
Minuten: 0
Std.: 0
Tage: 0 ]

<Testausgabe - 2.Kontakt in Datei>
A8: [X] Schreibe Datei [
Datei: Download/htmlout.txt
Text: %http_data ]

A9: Variable Setzen [
Name: %getinfo
Zu: %http_data
Max Rounding Digits: 3 ]

<Testausgabe - Übergabe in Variable>
A10: [X] Popup (Tasker) [
Text: %getinfo
Layout: Popup
Timeout (Sekunden): 2
Show Over Keyguard: An ]

A11: Warte [
MS: 500
Sekunden: 0
Minuten: 0
Std.: 0
Tage: 0 ]

<Variablen-Text grob trennen (<font color="yellow">vor</font> 1.Suchbegriff)>
A12: Variable Aufteilen [
Name: %getinfo
Teiler: dlen; ]

A13: Warte [
MS: 0
Sekunden: 1
Minuten: 0
Std.: 0
Tage: 0 ]

<Testausgabe - grob>
A14: [X] Popup (Tasker) [
Text: %getinfo2
Layout: Popup
Timeout (Sekunden): 1
Show Over Keyguard: An ]

<Variablen-Text fein trennen (<font color="yellow">vor</font> 2.Suchbegriff)>
A15: Variable Aufteilen [
Name: %getinfo2
Teiler: date1 = " ]

<Testausgabe - fein>
A16: [X] Popup (Tasker) [
Text: %getinfo22
Layout: Popup
Timeout (Sekunden): 2
Show Over Keyguard: An ]

<Text <font color="yellow" >nach</font> Suchbegriff trennen>
A17: Variable Aufteilen [
Name: %getinfo22
Teiler: "; ]

<Testausgabe - Suchbegriff>
A18: [X] Popup-Benachrichtigung [
Text: %getinfo221
Dismiss On Click: An ]

A19: Warte [
MS: 500
Sekunden: 0
Minuten: 0
Std.: 0
Tage: 0 ]

<Ausgabe in Datei>
A20: Schreibe Datei [
Datei: Download/htmlout2.txt
Text: %getinfo221
Hinzufügen: An
Neue Zeile Zufügen: An ]

<Wartezeit bis zum nächsten Durchlauf>
A21: Warte [
MS: 0
Sekunden: 5
Minuten: 0
Std.: 0
Tage: 0 ]

A22: Goto Aktion [
Typ: Aktion Label
Bezeichnung: Anker ]


Ich hoffe, mein Denkansatz hilft.
 

Anhänge

  • HTML_Auth___Read.tsk.xml
    10,3 KB · Aufrufe: 60
Hallo jasutoma,
Hallo liebes android-Team


Ich versuche jetzt sei Stunden mit Tasker eine Lösung für den LogIn auf der Weboberfläche hinzubekommen.
Mein Hauptproblem ist, dass ich nicht sehen kann, ob Tasker überhaupt die Anmeldedaten korrekt an die Webseite / den Batteriespeicher auf den ich mich anmelden möchte überträgt.

Die Anmeldemaske mit den Feldern "User" & "Password" befindet sich nämlich in einem Iframe und ich habe so langsam das Gefühl, dass eben genau dieses Iframe das Problem für die Anmeldung ist.

1700311410406.png

Mein Zwischenziel ist es, die Energiedaten, die nach der erfolgreichen Anmeldung auf der Seite ausgegeben werden, in einer Textdatei zu speichern.

1700311552710.png

Das hat mit einer Test-Internetseite (wetter.de) auch super geklappt, aber da gibt es auch kein LogIn ;)

Konkret habe ich also jetzt folgendes Problem:
Ich kann nicht feststellen, ob der LogIn über Tasker überhaupt funktioniert.

Konkret habe ich folgendes "programmiert":

1.
HTTP Request
Methode: GET
https://192.168.1.24

2.
Wait 2 Sek.


3.
HTTP Auth
Methode: Username & Password

4.
HTTP Request
Methode: Get
https://192.168.1.24/home.html
File/Directory output:
Quellcode.txt


Was geht:

Alle Tasks werden "grün"
bei Task 4 wird auch in der Textdatei eine sehr dürftige html-Codeseite angezeigt, allerdings auch dann, wenn ich bewusst mal ein falsches Passwort einstelle.
Dies lässt vermuten, dass es ein html-grundgerüst mit Iframe ist was immer funktioniert
Zwar konnte ich über den Quellcode einzelnen Links herausbekommen, die im Iframe geladen werden, jedoch führt das auch nicht zum Ziel.

Meine Konkrete Fragen an die Profis:

1. Wie kann ich sicherstellen dass Task 3 HTTP Auth auch wirklich funktioniert und die Webseite die Anmeldedaten akzeptiert hat.?

2. Woran kann es liegen, dass ich selbst im Browser nach erfolgreichem LogIn auf der Seite im Quellcode immer nur ein Grundgerüst der Seite vorfinde, nie aber die eigentlichen Werte, an die ich herankommen möchte.


Für Ideen, Rückfragen und Anregungen wäre ich sehr dankbar.

Liebe Grüße
 

Ähnliche Themen

G
Antworten
1
Aufrufe
142
bbfh
bbfh
H
Antworten
3
Aufrufe
313
Horgul123
H
coolzero3389
  • coolzero3389
Antworten
4
Aufrufe
312
Cecoupeter
Cecoupeter
Zurück
Oben Unten