Nachbildung von AttrVal bzw. ReadingsVal mit Javascript

Begonnen von dt2510, 06 November 2019, 15:19:20

Vorheriges Thema - Nächstes Thema

dt2510

Ist es möglich den Wert eines Attributes bzw. Readings mit Javascript auszulesen und zur Verwendung im HTML Code zurückzugeben (wie AttrVal/ReadingsVal in Perl) ?

Hintergrund:
Ich visualisiere FHEM mit TabletUI und die Widgets erwarten immer den Namen eines Devices im HTML Code (data-device="devicename").
Nun möchte ich den Namen des Devices gerne aus einem Reading - oder besser Attribut - nehmen, um den HTML Code flexibel zu halten und Änderungen am Device einfach in der FHEM Oberfläche durchführen.

DeeSPe

MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

dt2510

Zitat von: DeeSPe am 06 November 2019, 15:29:47
Ja, es ist möglich!

Gruß
Dan

Danke für die Info :)

Die Frage wäre jetzt: wie ?

Meine JS-Kenntnisse und vor Allem der FHEM Interna sind leider sehr begrenzt. :(

rudolfkoenig


DeeSPe

MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

dt2510

#5
hmm ... das heißt FHEM liefert mir den Wert über den Aufruf der Webseite. Wie bekomme ich den dann statt einer Konstante in einen <div> Tag meines HTML Codes ?

Beispiel:
<div data-type="include" data-url="controls/controlBattery.inc" data-parameter='{"batteryDevice":"MAX_18073f"}'></div>

Anstelle des Wertes MAX_18073f bräuchte ich den Inhalt des Attributes oder Readings

Ich befürchte allerdings, dass hierzu ein Eingriff in TabletUI nötig wäre und JS alleine nicht zum gewünschten Ergebnis führt ....

dt2510

Zitat von: rudolfkoenig am 06 November 2019, 15:36:03
fhemweb.js macht das auch, such nach AttrVal

oh ... deinen Post hab' ich überlesen - sorry :)

Das schau ich mir mal an ....

DeeSPe

Zitat von: dt2510 am 06 November 2019, 16:34:52
hmm ... das heißt FHEM liefert mir den Wert über den Aufruf der Webseite. Wie bekomme ich den dann statt einer Konstante in einen <div> Tag meines HTML Codes ?

Du kannst doch per Javascript die Attribute von dem div ändern!

Allerdings befürchte ich dass TabletUI das egal ist. Ich nehme an TabletUI parst beim Aufruf die HTML Seite und holt sich dann aus den data- Attributen die benötigten Informationen um diese dann entsprechend vom Server abzurufen. Wenn Du die data- Attribute später änderst, musst Du dann wohl auch die Daten selbst neu vom Server holen.
Wie gesagt, das ist alles nur Annahme! Ich kenne TabletUI nicht.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe