# Auslesen einer Variablen von einer Website

**URL:** <https://community.homey.app/t/auslesen-einer-variablen-von-einer-website/93670>\
**Category:** Fragen & Hilfe\
**Created:** [November 4, 2023, 9:10am UTC](https://community.homey.app/t/auslesen-einer-variablen-von-einer-website/93670 "2023-11-04T09:10:41Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![widameista](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/widameista/32/23333_2.png) [@widameista](https://community.homey.app/u/widameista)\
**Post date:** [November 4, 2023, 9:10am UTC](https://community.homey.app/t/auslesen-einer-variablen-von-einer-website/93670/1 "2023-11-04T09:10:42Z")

</div>

Hallo zusammen,  
ich bräuchte eure Hilfe. Ich möchte gerne eine Variable von der Website:  
[https://portal.comworks.de/de/token/3zdZhF2v8jn-uNDYaGHiTMS5zLVmcQOs/dashboard](https://portal.comworks.de/de/token/3zdZhF2v8jn-uNDYaGHiTMS5zLVmcQOs/dashboard)  
auslesen.  
wenn man sich die Site anschaut, kommt bei Zeile 88  
data-sensor-level=“80”  
Diesen Wert würde ich gerne auslesen und in einer Variablen speichern.  
Ich vermute, dass ich sowas in der Art machen muss:  
 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/0/7066ecc8d7e359061b0b366f3334762e407433dc.png)

Aber was genau muss ich beim Parsen eintragen.

Vielen Dank im Voraus

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [November 4, 2023, 12:53pm UTC](https://community.homey.app/t/auslesen-einer-variablen-von-einer-website/93670/2 "2023-11-04T12:53:57Z")

</div>

Das Ergebkis der URL ist eine HTML-Seite, kein JSON. Das kannst du nicht auswerten mit dieser JSON-Karte.  
Das wird nur gehen in HomeyScript (parsen des HTML-Strings mit JavaScript).

---

<div class="post-metadata">

**Author:** ![widameista](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/widameista/32/23333_2.png) [@widameista](https://community.homey.app/u/widameista)\
**Post date:** [November 4, 2023, 3:01pm UTC](https://community.homey.app/t/auslesen-einer-variablen-von-einer-website/93670/3 "2023-11-04T15:01:18Z")

</div>

Hättest du dafür einen link für eine schritt für schritt Anleitung?

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [November 4, 2023, 3:23pm UTC](https://community.homey.app/t/auslesen-einer-variablen-von-einer-website/93670/4 "2023-11-04T15:23:02Z")

</div>

Nein, nicht wirklich.  
Zu Homeyscript und Parameterübergabe gibt es einige Threads. Das übergebene Element ist als Variable `args[0]` verfügbar.

Im Script kann man mit String-Operationen versuchen, den gewünschten Teil auszulesen.

Wenn du Starg und Ende eindeutig identifizieren kannst, dann könntest du danach suche. und dann über den Index und Länge den Text auslesen.

> **[JavaScript String Search](https://www.w3schools.com/js/js_string_search.asp)**
>
> W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

Alternativ auch mit einem RegEx-Ausdruck. Aber dafür fehlt mir auch die Übung und passende Beispiele.

---

<div class="post-metadata">

**Author:** ![Michael\_Justus](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/michael_justus/32/35777_2.png) [@Michael\_Justus](https://community.homey.app/u/Michael_Justus)\
**Post date:** [November 4, 2023, 9:22pm UTC](https://community.homey.app/t/auslesen-einer-variablen-von-einer-website/93670/5 "2023-11-04T21:22:38Z")

</div>

Hab mal Zauberlehrlingmässig mir die Lösung für Homeyscript zusammengesucht:

 ![grafik](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/f/0/f0d42566647c801fe226fe28ee6aa96c0f26d3c6.png)

HomeyScript dazu:

```auto
// My Code

let start = args[0].search("data-sensor-level=") +19 ;
let ende = args[0].indexOf('"', start )
console.log(start, ende);
let ergebnis = args[0].substring(start,ende)
console.log (ergebnis) ;
return parseFloat(ergebnis) ;

```

Es fehlen nur noch Fehlerabfragen, falls keine Werte gefunden werden.

---

<div class="post-metadata">

**Author:** ![widameista](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/widameista/32/23333_2.png) [@widameista](https://community.homey.app/u/widameista)\
**Post date:** [November 5, 2023, 5:21pm UTC](https://community.homey.app/t/auslesen-einer-variablen-von-einer-website/93670/6 "2023-11-05T17:21:32Z")

</div>

@Michael_Justus : vielen Dank, funktioniert wunderbar. Wo sehe ich die Console?

---

<div class="post-metadata">

**Author:** ![Michael\_Justus](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/michael_justus/32/35777_2.png) [@Michael\_Justus](https://community.homey.app/u/Michael_Justus)\
**Post date:** [November 5, 2023, 5:51pm UTC](https://community.homey.app/t/auslesen-einer-variablen-von-einer-website/93670/7 "2023-11-05T17:51:39Z")

</div>

![grafik](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/a/7ad9c5c9bf8f1a97ece91dd42ff661ab26d3c72b.png)

Beim testlauf im unteren Bereich

---

<div class="post-metadata">

**Author:** ![widameista](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/widameista/32/23333_2.png) [@widameista](https://community.homey.app/u/widameista)\
**Post date:** [November 5, 2023, 9:50pm UTC](https://community.homey.app/t/auslesen-einer-variablen-von-einer-website/93670/8 "2023-11-05T21:50:42Z")

</div>

Habe das Ganze noch für 3 Sensoren optimiert:  
[https://portal.comworks.de/de/token/BAweCjKS\_aiPp1um20DJUPgRfiVgEcCa/dashboard](https://portal.comworks.de/de/token/BAweCjKS_aiPp1um20DJUPgRfiVgEcCa/dashboard)

// Womo\_Wasser

let index = args[0].search(“1198”)-60;  
let start = args[0].indexOf(“data-sensor-level=”,index)+19  
let ende = args[0].indexOf(‘"’, start )  
console.log(start, ende);  
let ergebnis = args[0].substring(start,ende)  
console.log (ergebnis) ;  
return parseFloat(ergebnis\*1.4) ;

// Womo\_Gas1

let index = args[0].search(“1215”)-60;  
let start = args[0].indexOf(“data-sensor-level=”,index)+19  
let ende = args[0].indexOf(‘"’, start )  
console.log(start, ende);  
let ergebnis = args[0].substring(start,ende)  
console.log (ergebnis) ;  
return parseFloat(ergebnis) ;

// Womo\_Gas2

let index = args[0].search(“1216”)-60;  
let start = args[0].indexOf(“data-sensor-level=”,index)+19  
let ende = args[0].indexOf(‘"’, start )  
console.log(start, ende);  
let ergebnis = args[0].substring(start,ende)  
console.log (ergebnis) ;  
return parseFloat(ergebnis) ;

Und dann mit advanced Device Capabilities noch die Darstellung eingerichtet:  
 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/6/c/6cc5a253f95ac628e88672e794b135170b08a5f8.png)

Die 179% sind noch ein Fehler des Herstellers 🙂

Hintergrund: In meinem Wohnmobil habe ich 3 Sensoren der Firma Comworks verbaut. Einmal Frischwassertank und 2x Tankgasflaschen. Ein Android Tablet frägt die Sensoren per Bluetooth ab und lädt die Daten hoch. Dort kann ich sie wieder auslesen.

---

<div class="post-metadata">

**Author:** ![Christian\_Krenz](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/christian_krenz/32/79221_2.png) [@Christian\_Krenz](https://community.homey.app/u/Christian_Krenz)\
**Post date:** [July 6, 2024, 8:37am UTC](https://community.homey.app/t/auslesen-einer-variablen-von-einer-website/93670/9 "2024-07-06T08:37:17Z")

</div>

Hallo zusammen,

könnte Ihr mir bei diesem Vorhaben helfen? Ich würde gerne Daten von meinem Smart-Meter auslesen, diese habe ich mir mit einem API Key organisiert, alles mit Hilfe von Google, da ich mich 0 auskenne 😃 Nun habe ich die Daten, aber wie bekomme ich diese in Homey? Gerne würde ich mir die Markierte stelle (Eingespeister Strom) stündlich abrufen.

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/e/a/ea2bd59b934e61982dfa3a1b3c2a0d36ef9977f1.png)

---

<div class="post-metadata">

**Author:** ![RonnyW](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ronnyw/32/10879_2.png) [@RonnyW](https://community.homey.app/u/RonnyW)\
**Post date:** [July 6, 2024, 8:51am UTC](https://community.homey.app/t/auslesen-einer-variablen-von-einer-website/93670/10 "2024-07-06T08:51:32Z")

</div>

Hi,  
nimm in AdvancedFlow die Logik-Aktion “Parse JSON und gib Nummern-Tag zurück” (oder so ähnlich).  
Als JSON-Pfad gibst du an:  
liveMeasurement.accumulatedProduction
