Widget mit SQL-Abfrage füllen

GUI Relevanten, PaperUI, BasicUI, HabPanel ...

Moderatoren: seppy, udo1toni

Antworten
toto1975
Beiträge: 47
Registriert: 8. Jan 2016 10:47
Answers: 1

Widget mit SQL-Abfrage füllen

Beitrag von toto1975 »

Hallo in die Runde,

ist es möglich eine MySQL-Abfrage in ein Widget einzuarbeiten? Ich habe mich mal daran versucht allerdings bekomme ich nichts angezeigt und auch keine Fehlermeldung... :-| Hat hier jemand so etwas schon mal gemacht? Hier mal mein Versuch aber irgendwie komme ich hier nicht weiter.

Code: Alles auswählen

- component: oh-repeater
  config:
    query: "SELECT MONTH(timestamp) AS month, AVG(value) AS average_value FROM my_table WHERE YEAR(timestamp) = 2022 GROUP BY MONTH(timestamp) ORDER BY MONTH(timestamp)"
    sourceType: QUERY
  slots:
    default:
      - component: oh-table
        config:
          header: true
          striped: true
          bordered: true
          items: =loop.source
          columns:
            - label: Month
              prop: month
            - label: Average Value
              prop: average_value
Danke schon mal für eure Ideen und Tipps

VG
Torsten

Benutzeravatar
udo1toni
Beiträge: 13951
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Widget mit SQL-Abfrage füllen

Beitrag von udo1toni »

Wie stellst Du Dir das denn vor? Du schreibst erfundene Schlüsselworte hin und openHAB macht dann von Zauberhand fertigen Code draus?
Und wenn der sourceType QUERY existierte (nein, tut er nicht), worauf bezöge sich dann die Query?
Irgendwo müsste ja eine Verbindung zur Datenbank hergestellt werden, es müsste irgendwo stehen, wie diese Verbindung genutzt wird usw.

Du kannst in einem Repeater über sechs verschiedene Arten von Quellen iterieren, das wäre array, range, itemsInGroup, itemsWithTags, itemStateOptions und itemCommandOptions.
Es wäre also denkbar (ob es klug wäre, ist ein anderer Punkt) ein Array oder eine Range dynamisch zu füllen (möglich, dass man das per API Zugriff erledigen kann), aber das dürfte "etwas" aufwändiger sein.

openHAB unterstützt Datenbanken grundsätzlich nur als Persistence Service - die Daten werden von openHAB in der Datenbank abgelegt und exakt diese Daten können dann auch wieder gelesen werden, um z.B. Charts zu erstellen. Wenn man das exakte Datenformat einhält, kann man openHAB auf diese Weise auch Daten unterschieben, sie müssen aber eben im korrekten Format vorliegen (abhängig von der Datenbank)
Eine freie Verbindung zu Datenbanken ist nicht vorgesehen - wäre ein nettes Binding, wobei es halt den Prinzipien in openHAB mindestens teilweise widerspricht, aber vielleicht ließe sich sogar etwas abbilden - immerhin gibt es auch die Möglichkeit, auf historische Wetterdaten zuzugreifen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten