FTUI3 Lokale Variable und JavaScript

Begonnen von Prof. Dr. Peter Henning, 14 Februar 2025, 16:32:45

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Könnte mir bitte jemand sagen, wie ich in FTUI3 eine lokale Variable, z.B.

local:floor

beim Laden einer Seite (oder einer tab-view) mit einem String vorbelegen kann?

Zweite Frage: Wie kann ich den Wert dieser Variablen in einer (beliebigen) JavaScript-Funktion verwenden oder setzen?

LG

pah

setstate

Interessant und tricky, aber es geht


<!DOCTYPE html>
<html>

<head>
  <base href="../" />
  <script src="ftui.js"></script>
  <link href="ftui.css" rel="stylesheet">
  <link href="themes/ftui-theme.css" rel="stylesheet">
  <link href="favicon.ico" rel="icon" type="image/x-icon" />

  <script type="module">
    import * as ftuiHelper from './modules/ftui/ftui.helper.js';
    document.addEventListener('ftuiComponentsAdded', () => {
      const now = ftuiHelper.dateFormat(new Date(), 'YYYY-MM-DD hh:mm:ss');
      const parameterId = 'local-test';
      const value = 'Hello, World!';
      ftuiApp.fhemService.updateReadingItem(parameterId, {
        id: parameterId,
        invalid: false,
        value,
        time: now,
        update: now,
      });
    });

  </script>

  <title>FTUI Local test</title>
</head>

<body>

  <ftui-label size="3" [text]="local:test"></ftui-label>

</body>

</html>


Prof. Dr. Peter Henning

#2
Wenn ich das richtig sehe, wird damit die FTUI3-interne Darstellung eines (fiktiven) FHEM-Readings geschrieben.
Damit geht das auch schneller, weil der TimeStamp bedeutungslos ist und durch ein Datum in der Vergangenheit ersetzt werden kann:
document.addEventListener('ftuiComponentsAdded', () => {
      const now = "2025-01-01 12:00:00";
      const value = 'DG';
      ftuiApp.fhemService.updateReadingItem('local-test', {
        id: 'local-test',
        invalid: false,
        value,
        time: now,
        update: now,
      });
    });

Ich habe mir den Spaß gemacht und dazu eine Seite ins Wiki aufgenommen.

LG

pah