Hintergrundbild in Widgets

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

fmmephisto

Hintergrundbild in Widgets

Beitrag von fmmephisto »

Hallo zusammen!

Nun bin ich gerade dabei, meine Pages zu überarbeiten.
Diese sehen mir etwas trist aus und ich möchte nun auf den Widgets Hintergrundbilder legen.
Diese kann ich gerne in png oder auch jpg ablegen.
Habe ich auch schon gemacht.

Ich habe sie unter openHAB-conf/icons liegen und auch unter openHAB-conf/html/static

Nun habe ich es über custimzed widgets mit

Code: Alles auswählen

- component: oh-image
      config:
        url: ='http://XXX.1XX.1XX.XXX:8080/html/static/bmw.png'
        style:
          position: absolute
          left: 10px
          top: 10px
          height: 25px
          opacity: 0.7
        visible: "=props.iconimage ? true : false"
versucht. Dann auch mal ohne html, dann mit dem Verzweigen über den icons Ordner.
Es ist egal, ob ich eine png oder jpg einbinden will.... es geht nicht.

Hier im Forum gibt es zwar zwei Threads... die haben mir aber noch nicht weitergeholfen.
Im Netz gibt es zwar auch code, der funktioniert aber auch nicht.

Kann es sein, dass OH3.4 diese Funktion nicht mehr unterstützt?

Über eine kurze Info, wie man Bilder als Widgethintergrund hinterlegt würde ich mich freuen.
von udo1toni » 1. Feb 2023 11:14
Das mit der Ordnerbezeichnung ist ein wenig gemein...

Im Ordner $OPENHAB_CONF/ gibt es einen Ordner html/ und einen Ordner icons/classic/

Der Inhalt von html/ steht über den Webserver auf der Ebene /static/ zur Verfügung, also z.B.

Code: Alles auswählen

http://meineopenhabip:8080/static/index.html
zeigt die Datei $OPENHAB_CONF/html/index.html an. (die index.html sollte schon vorhanden sein, kannst Du also einfach ausprobieren)

Im Unterschied dazu werden die kleinen Grafiken unter icons/classic/ abgespeichert. Über den Webserver ist der Inhalt allerdings über icon/ erreichbar, also

Code: Alles auswählen

http://meineopenhabip:8080/icon/picture.svg
sollte die Grafik $OPENHAB_CONF/icons/classic/picture.svg ausliefern, aber zusätzlich auch alle Standardicons, z.B.

Code: Alles auswählen

http://meineopenhabip:8080/icon/light.svg
sollte eine (sehr große) Glühlampe anzeigen (obwohl diese Datei nicht in dem betreffenden Ordner liegt).

Vieles davon ist historisch gewachsen, Änderungen wären jeweils breaking changes :) da wird also eher niemand dran rühren, auch wenn es teilweise unsinnig ist.
Der Pfad-Teil classic deutet z.B. eigentlich an, dass der Iconsatz umstellbar ist und hier die classic-Icons liegen, dabei sind es die basic icons. Die Classic Icons werden schon seit Jahren nicht mehr mit ausgeliefert.
f7 ist da noch gar nicht dabei, keine Ahnung, wie die direkt aufgerufen werden können. Jedenfalls gibt es in der UI keine Stelle, wo man den Iconsatz "über alles" umschalten könnte (es sei denn, ich habe was verpasst...)
Gehe zur vollständigen Antwort

int5749
Beiträge: 1161
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: Hintergrundbild in Widgets

Beitrag von int5749 »

Ich habe bei mir in den Spiel-Pages ein Hintergrundbild wie folgt eingebunden

Code: Alles auswählen

      gGroundLiving:
        - component: oh-location-card
          config:
            backgroundImage: /static/background/wohnzimmer.jpg
Die Bilder liegen entsprechend dem Verzeichnis :)
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

fmmephisto

Re: Hintergrundbild in Widgets

Beitrag von fmmephisto »

Mhhh. Irgendwie bin ich zu dumm

Ich habe im Ordner: openHAB-conf/html/static zwei Dateien: bmw.jpeg und bmw.png
Ich habe ein Widget mit folgendem YAML-CODE:

Code: Alles auswählen

component: oh-cell
config:
  action: group
  actionGroupPopupItem: BMW_iX3
  title: BMW iX3
  icon: f7:car_fill
  backgroundImage: /static/bmw.png
slots: null
Nun habe ich alles versucht:

backgroundImage: /static/bmw.png
backgroundImage: /html/static/bmw.png
backgroundImage: /static/bmw.jpeg
backgroundImage: /html/static/bmw.jpeg
backgroundImage: /static/bmw.jpg
backgroundImage: /html/static/bmw.pjpg

alles geht nicht.
Wo baue ich das Teil ein?

fmmephisto

Re: Hintergrundbild in Widgets

Beitrag von fmmephisto »

Habe jetzt nochmal ein neues Widget angelegt und habe "backgroundImage: /static/bmw.jpg" bzw. jpeg, bzw. .png hinzugefügt.
Das Widget bleibt weiss.

Mit welcher OH-Version arbeitest du? Geht das vielleicht nicht bei jeder Version?

Weil genau wie du es beschreibst, habe ich es auch schon gefunden.
Liegen die Dateien falsch? Muss ich das Widget selber bauen und wird es nur dann verwendet oder kann ich das auch nach dem Einbau eines Widgets im YAML ändern?

int5749
Beiträge: 1161
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: Hintergrundbild in Widgets

Beitrag von int5749 »

fmmephisto hat geschrieben: 31. Jan 2023 11:14 Mit welcher OH-Version arbeitest du? Geht das vielleicht nicht bei jeder Version?
Wie in meiner Signatur angegeben ;-) Wobei die etwas veraltet ist, bin bereits auf 3.4.1

Das geht aber seit meinem Umstieg auf OH 3.x und Einführung der Pages.
Prinzipiell wird hier "einfach" über den eingebauten Webserver auf die images zugegriffen.
Diese müssen somit entweder relativ angegeben werden, entsprechende Rechte vorausgesetzt.

Ich bin zu faul und habe diese wie empfohlen in der berechtigten Struktur abgelegt,
Um genau zu sein

Code: Alles auswählen

/etc/openhab/html/background

Code: Alles auswählen

/etc/openhab/
ist bei einer openHABian Installation der Standard Pfad für die Konfiguration
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

fmmephisto

Re: Hintergrundbild in Widgets

Beitrag von fmmephisto »

Hallo!

Du hast doch geschrieben, du hast das unter "/static" abgelegt.
Diesen Ordner habe ich nicht.
Ich habe auch keinen Pfad "/etc/openhab"

Wo legt ihr eure Sachen ab. Ich bin Anfänger und weiss nicht wovon ihr sprecht.

Ich habe auf dem Rasp 4 Ordner: openHAB-addons,openHAB-conf, openHAB-sys und openHAB-userdata.
"etc" habe unter openHAB-sys/runtime und unter openHAB-userdata.
"etc/openhab" habe ich gar nicht.
"static" wie von Dir im ersten Post erwähnt, habe ich auch nicht.

Daher kann ich Dir leider nicht folgen.
Du schreibst, dass "/etc/openhab" der STandard-Pfad für die Konfiguration ist.
Ich dachte, dass openhab-conf (conf = Configuration) DER Konfigurationsordner ist.

Was habe ich dann für eine Konfiguration, wenn es bei mir anders aussieht?
Was habe ich falsch gemacht? :shock: :shock:

Bitte entschuldigt, aber ich brauche wohl noch ein paar Wochen, bis ich euch verstehe. Ihr setzt leider
zu viel Wissen bei mir voraus. Habe erst seit knapp 4 Wochen einen Pi und wusste bis dahin noch gar nicht, wofür das Teil sein sollte.

fmmephisto

Re: Hintergrundbild in Widgets

Beitrag von fmmephisto »

Kurz zur Erklärung (nachdem ich Deine Signatur gelesen habe):

Ich habe openhab 3.4 auf einer SD-Karte in einen Pi gesteckt.
Ich habe den Rasp im Büro stehen, in einem Alugehäuse (nicht in einem Container)
Und er läuft allein... ohne Betriebssystem - glaube ich. Zumindest habe ich keines aufgespielt.

fmmephisto

Re: Hintergrundbild in Widgets

Beitrag von fmmephisto »

Übrigens: es geht um "Custom Widgets", nicht die, die im Overview zu sehen sind.

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

Re: Hintergrundbild in Widgets

Beitrag von udo1toni »

Das mit der Ordnerbezeichnung ist ein wenig gemein...

Im Ordner $OPENHAB_CONF/ gibt es einen Ordner html/ und einen Ordner icons/classic/

Der Inhalt von html/ steht über den Webserver auf der Ebene /static/ zur Verfügung, also z.B.

Code: Alles auswählen

http://meineopenhabip:8080/static/index.html
zeigt die Datei $OPENHAB_CONF/html/index.html an. (die index.html sollte schon vorhanden sein, kannst Du also einfach ausprobieren)

Im Unterschied dazu werden die kleinen Grafiken unter icons/classic/ abgespeichert. Über den Webserver ist der Inhalt allerdings über icon/ erreichbar, also

Code: Alles auswählen

http://meineopenhabip:8080/icon/picture.svg
sollte die Grafik $OPENHAB_CONF/icons/classic/picture.svg ausliefern, aber zusätzlich auch alle Standardicons, z.B.

Code: Alles auswählen

http://meineopenhabip:8080/icon/light.svg
sollte eine (sehr große) Glühlampe anzeigen (obwohl diese Datei nicht in dem betreffenden Ordner liegt).

Vieles davon ist historisch gewachsen, Änderungen wären jeweils breaking changes :) da wird also eher niemand dran rühren, auch wenn es teilweise unsinnig ist.
Der Pfad-Teil classic deutet z.B. eigentlich an, dass der Iconsatz umstellbar ist und hier die classic-Icons liegen, dabei sind es die basic icons. Die Classic Icons werden schon seit Jahren nicht mehr mit ausgeliefert.
f7 ist da noch gar nicht dabei, keine Ahnung, wie die direkt aufgerufen werden können. Jedenfalls gibt es in der UI keine Stelle, wo man den Iconsatz "über alles" umschalten könnte (es sei denn, ich habe was verpasst...)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

fmmephisto

Re: Hintergrundbild in Widgets

Beitrag von fmmephisto »

Hallo Udo!

Danke für die Aufklärung mit den Ordnern. Das kann man doch auch nicht wissen, wenn man neu ist...

Also habe ich nun die 3 Bilder bmw.jpg, bmw.png und bmw.jpeg im Ordner "openHAB-conf/html" abgelegt.
Das ist der static Ordner.

Nun habe ich den code

Code: Alles auswählen

component: oh-cell
config:
  action: group
  actionGroupPopupItem: BMW_iX3
  title: BMW iX3
  icon: iconify:simple-icons:bmw
  iconColor: darkblue
  backgroundImage: /static/bmw.jpg
  color: yellow
slots: null
ausprobiert.
Die Karte bleibt weiss. Kein Bild als Hintergrund

Dann habe ich den Code

Code: Alles auswählen

component: oh-cell
config:
  action: group
  actionGroupPopupItem: BMW_iX3
  title: BMW iX3
  icon: iconify:simple-icons:bmw
  iconColor: darkblue
  backgroundImage: http://1XX.1XX.1XX.XXX:8080/static/bmw.jpg
  color: yellow
slots: null
ausprobiert. Natürlich habe ich auch bmw.png und bmw.jpeg ausprobiert.

Das Widget bleibt weiss. Auch hier kein Bild als Hintergrund.

Was muss man nun noch wissen, damit das Widget endlich mal ein Bild als Hintergrund anzeigt?
Muss ich dafür noch ein "Hintergrundbild in Widget"-Binding einbauen?

Ich bin echt irgendwie lost. Ich mache alles, wie ihr das hier schreibt und es klappt alles nicht.
Versuche seit 4 Tagen, Widgets mit einem Hintergrund zu versehen. Internet lesen, Foren lesen, try and error.....
Man kommt bei openhab echt nur sehr mühsam weiter. Keine Ahnung wieviele Stunden ich nun schon dransitze.
Sind mindestens 20 Stunden nur für ein Hintergrundbild.

Versuchte auch schon von BangerTECH ein Wetter-Widget einzubauen. Die Anleitung geht auch nicht, da wohl die API für ONECALLAPI nicht mehr kostenfrei ist. Also muss man das Ganze mit allen Werten manuell umbauen. Da lobe ich mir die Widgets auf dem Handy... Die funktionieren auf anhieb und sind sofort zu erreichen. Habe daher mein "Projekt Wetter-Widget in openhab" aufgegeben, da mir die Zeit dafür zu schade ist.

Schade, dass es so kompliziert ist mit so wenig Beschreibungen.

Aber ich bleibe dran... zumindest an der einen oder anderen Sache.
Muss mich wohl dran gewöhnen, dass einige Dinge, dich ich machen möchte, nur bei anderen funktionieren, die schon seit openhab 2.0
dabei sind.

Sollte also noch jemand eine Lösung für ein "Widgethintergrundbild" haben, würde ich mich echt freuen.

Gruß
Frank

Antworten