TEXTPARSER kriege ich nicht hin

Hallo allseits,
Ich benutze ein ESP8266 um stromwerte zu messen. Der gibt das auf einer Website aus und ich möchte sie in Variablen schreiben. In diesem Fall als erstes die 13,8 volt.
auf der Website sieht das so aus:


Ich habe verschiedene Parameter probiert - ergebnislos:


oder

Es ist vermutlich nur ein kleiner Knopf im Hirn, eventuell liegts an den die ich nicht einbauen kann.
Danke jedenfalls

ps. in Jason (mit 14.5Volt) so:
„IDX“:0,
„Enabled“:„false“
}],
„TaskInterval“:10,
„Type“:„Environment - BMx280“,
„TaskName“:„Baro_mmHG“,
„TaskDeviceNumber“:28,
„TaskEnabled“:„true“,
„TaskNumber“:1
},
{
„TaskValues“: [
{„ValueNumber“:1,
„Name“:„Voltage“,
„NrDecimals“:1,
„Value“:14.5
},
{„ValueNumber“:2,
„Name“:„Current“,
„NrDecimals“:1,
„Value“:0.0
},
{„ValueNumber“:3,
„Name“:„Power“,
„NrDecimals“:1,
„Value“:0.0
}],

Wenn die Ausgabe wirklich json ist, zuerst einen

$json=json_decode(„json here“)

machen und dann zb. mit

$json->sensors[0]->TaskValues[0]->Value

den Wert ersten Wert des ersten Sensors auslesen.

Du brauchst bei ESPEasy aber ie Webseite gar nicht zu parsen. Du kannst die Werte über einen ESPEsy Controler entweder über MQTT bei IPS abliefern oder über einen Webhook an ein Script schicken und hast dann die Werte direkt drin

Wie tommi schon sagst würde ich ein Skript daraus machen und mit einem json_decode sauber auch parsen :slight_smile:

$json = file_get_contents("http://....");
$json = json_decode($json);
echo $json->sensors[0]->TaskValues[0]->Value;

paresy

Danke, fürs Erste, bin mir nicht sicher ob ich es schaffe, probier es heute Nacht,
auf der normalen Webseite hab ich es Umständlich geschafft, da felt mir nur noch die String → Float umwandlung.
das:


führt zu:

Bis heute Nacht oder Morgen :grinning:
Danke Walter

Ich habe das Thema mal zum Anlass genommen ein kleines JSON Decoder Modul zu schreiben, welches ab der 5.6 mit dabei sein wird. Dies holt über den HTTP Client JSON Daten ab und bildet diese dann im Baum entsprechend ab :slight_smile:

paresy

4 „Gefällt mir“

Scheinbar habe ich es geschafft - vermutlich sehr umständlich :slight_smile:


Das Ereignis hat den code:
SetValueFloat(23168, GetValueString(53284));
Der float wird Archiviert:
image

Hi paresy,
Meine Lösung ist sehr umständlich. Würde mich freuen wenn es Json Modul bald gibt :smiley:

Die Software die auf dem ESP läuft ist weit verbreitet und stellt „Nichtprogrammierern“ wie mir eine Einfache Möglichkeit zur Verfügung einfache Messaufgaben zu verrrichten.
https://www.letscontrolit.com/wiki/index.php/ESPEasy
Danke Jedenfalls und
Gute Nacht und bleibt Gesund
Walter

sieht Beispielsweise so aus:


Hast du eigentlich Mqtt mal probiert? Das sollte super einfach sein.

paresy

Das Thema ESPEsy ist hier nicht neu, es gibt es im Forum schon einige Threads dazu. Einfach mal die Suche bemühen

Ja bin ich inzwischen auch draufgekommen. Ich habe zu lange an den Textparser getüftelt und dort in der Sufu nach Lösungen gesucht. Mit Espeasy und Mqtt bin nun auf etliches gestoßen.
Die neue Richtung ist der MQTT Konfigurator und ich werde mich bei ESPeasy mehr umschauen - Aber vermutlich erst wieder am Montag Abend.
Danke bis bald.
Walter

Danke für den Tipp!
ein gutes stück weiter - siehe unten.

Versuche es jetzt mit MQTT.
Server und client (je2 stück es sind 2 ESO´s) konfiguriert . Siehe unten.
jetzt versehe ich nicht warum im Konfigurator nicht wie in der Doku beschrieben das Thema und die Kategorien erstellt???
Doku: „Der Konfigurator erstellt den Pfad des Themas mit den passenden Kategorien und die Nutzdatenvariable vom Datentyp „String“. Sofern ein anderer Datentyp gewünscht wird, kann dieser in der Instanz umgestellt werden.“

Das einzige was sich tut ist im MQTT ein Pingreq. Brauche ich eventuell das Skript? („Skriptbeispiel für das Publishen eines Wertes auf ein Thema. Das Thema ist durch die MQTT Device Instanz definiert.“)
image
Jedenfalls geht die Suche weiter - aber der MQTT Weg scheint der bessere zu sein.
vielleicht soll ich auch ein neues Thema erstellen, weil hier ja der Textparser Thema sein sollte???
Danke und LG
Walter

image
image
image


Danke an Alle.
Das Thema ist für mich abgeschlossen und an anderer Stelle besser gelöst:

Danke
Walter