Seite 1 von 1
Bilder "einbauen", aber wie
Verfasst: 29. Okt 2017 12:52
von Nordmann
Hallo zusammen!
Ich will ein Bild, welches ich erst einmal unter dem Namen "moon.jpg" im Ordner icons gespeichert habe,
in folgendes Item "einbauen":
String Mondphase "Mondphase [MAP(mond.map):%s]" <moon> {channel="astro:mond:local:phase#name"}
Hat jemand von Euch eine Vorstellung wie ich das machen kann.
Sinn der Sache ist in diesem Fall, dass die jeweilige Mondphase zum Namen der Mondphase angezeigt wird.
Vielen Dank im Voraus
Gruß
Jörg
Re: Bilder "einbauen", aber wie
Verfasst: 29. Okt 2017 15:32
von Cyrelian
Hi Jörg,
ich habe das direkt in der MAP Datei gelöst.
Code: Alles auswählen
NEW=🌑 Neumond
WAXING_CRESCENT=🌑→🌓 zunehmender Halbmond
FIRST_QUARTER=🌓 erstes Viertel
WAXING_GIBBOUS=🌓→🌕 zunehmender Mond
FULL=🌕 Vollmond
WANING_GIBBOUS=🌕→🌗 abnehmender Mond
THIRD_QUARTER=🌗 letztes Viertel
WANING_CRESCENT=🌗→🌑 abnehmender Halbmond
NULL=unbekannt ⁉
-=-Fehler bei der Initialisierung-
Meintest Du sowas?
CU
Cyrelian
Re: Bilder "einbauen", aber wie
Verfasst: 29. Okt 2017 22:30
von Nordmann
Hallo Cyrelian,
jein

Ich möchte abgespeicherte Bilder auf meinem Raspberry oder von einer Internetpräsenz Item darstellen
und will diese in das Item mit "einbauen".
Geht das überhaupt, oder muss ich die Bilder separat einbinden?
Auf jeden Fall soll es zum entsprechenden "Status" des Mondes passen.
Wie kann ich denn überhaupt Bilder einbinden und wo muss ich sie speichern?
Wie hast Du den das mit den Bildern in der MAP gemacht?
Vielen Dank im Voraus für Deine und Eure Hilfe!
Ich wünsche noch einen schönen Abend!
Gruß
Jörg
Re: Bilder "einbauen", aber wie
Verfasst: 31. Okt 2017 09:27
von Cyrelian
Hi Jörg,
das mit den Bildern in der MAP ist super simple. Das sind einfache Unicode Symbole

.
Aber nun zu deinem Vorhaben. Du musst dir die entsprechenden Bilder als PNG oder SVG unter /etc/openhab2/icons/classic abspeichern.
Jetzt gibt es zwei Wege:
Der erste wäre, du benennst die icons nach dem entsprechenden Status, wie folgt:
moon.png (Ausgangs-Symbol, muss da sein sonst gehts nicht)
WAXING_CRESCENT = moon-<Itemwert>.png
FIRST_QUARTER = moon-<Itemwert>.png
WANING_CRESCENT = moon-<Itemwert>.png
Auf der Sitemap nutzt du dann ‹moon› und den Rest macht openhab für dich
oder:
mit einer Rule wie dieser:
Code: Alles auswählen
/* ------------- Luftdruck Icon --------------------
*/
rule "Luftdruck Icon"
when
Item Luftdruck received update
then
if (Luftdruck.state>=0 && Luftdruck.state<10) {
LuftdruckIcon.postUpdate(10)
}
if (Luftdruck.state>=10 && Luftdruck.state<20) {
LuftdruckIcon.postUpdate(20)
}
if (Luftdruck.state>=20 && Luftdruck.state<30) {
LuftdruckIcon.postUpdate(30)
}
if (Luftdruck.state>=30 && Luftdruck.state<40) {
LuftdruckIcon.postUpdate(40)
}
if (Luftdruck.state>=40 && Luftdruck.state<=50) {
LuftdruckIcon.postUpdate(50)
}
if (Luftdruck.state>=50 && Luftdruck.state<=60) {
LuftdruckIcon.postUpdate(60)
}
if (Luftdruck.state>=60 && Luftdruck.state<=70) {
LuftdruckIcon.postUpdate(70)
}
if (Luftdruck.state>=70 && Luftdruck.state<=80) {
LuftdruckIcon.postUpdate(80)
}
if (Luftdruck.state>=80 && Luftdruck.state<=90) {
LuftdruckIcon.postUpdate(90)
}
if (Luftdruck.state>=90 && Luftdruck.state<=100) {
LuftdruckIcon.postUpdate(100)
}
end
Auf jeden Fall sollte einer der Wege dir bei der Lösung helfen.
CU
Cyrelian
Re: Bilder "einbauen", aber wie
Verfasst: 17. Nov 2018 17:15
von chefffe
Hallo,
ich nutze Habpanel ohne Sitemaps und möchte die Mondphase auch mittels eines Icons anzeigen, so wie hier z.B
https://community.openhab.org/t/astro-i ... e/21155/92
Muss ich diese Bilder in auch in das Verzeichnis /etc/openhab2/icons/classic legen?
Das mit der rule kapiere ich noch nicht ganz...was hat es mit der Angabe postUpdate(10) auf sich, wo ist der Bezug zu den abgelegten Bildern?
Re: Bilder "einbauen", aber wie
Verfasst: 18. Nov 2018 12:50
von Joe
Hi Chefffe,
sag mal hast Du Dein Problem inzwischen gelöst?
Wenn ja wäre ich an der Lösung auch interessiert.
#Cyrelian
kannst Du bitte mal zu Deiner Rule die ITEMS posten, ich hänge gerade an der selben Stelle wie Chefffe.
Danke
Re: Bilder "einbauen", aber wie
Verfasst: 18. Nov 2018 19:44
von udo1toni
Du wählst beim Widget, welches das Icon bekommen soll als Iconset "Benutzerdefiniertes Symbol aus. Aus dem Hilfetext geht hervor, dass das Icon selbst zwingen vom Typ SVG sein muss. Der Speicherort (default ist icons/classic) steht auch dabei.
Was die Rule betrifft, sollte die eigentlich immer unnötig sein. vermutlich soll die dazu dienen, dass direkt der exakte Wert übergeben wird, falls es sich um ein dynamisches Icon handelt. das sollte openHAB aber sebsttätig erledigen...
Re: Bilder "einbauen", aber wie
Verfasst: 3. Dez 2018 19:25
von chefffe
Joe hat geschrieben: ↑18. Nov 2018 12:50
Hi Chefffe,
sag mal hast Du Dein Problem inzwischen gelöst?
Wenn ja wäre ich an der Lösung auch interessiert.
#Cyrelian
kannst Du bitte mal zu Deiner Rule die ITEMS posten, ich hänge gerade an der selben Stelle wie Chefffe.
Danke
Hi,
nein habe noch keine Lösung gefunden.
Ich nutze kein fertiges Widget, sondern ein Template.
Mir ist auch noch nicht klar, wo der Bezug von den hinterlegten Mondphasen zu den icons verarbeitet wird, wenn keine Rules im Spiel sind.
Re: Bilder "einbauen", aber wie
Verfasst: 9. Nov 2019 13:13
von klab777
Hallo,
bin erst seit kurzem hier. Dies ist mein erster Beitrag.
Rules sind nicht nötig. Ich gehe mal vom Astrobinding aus mit dem Item:
Code: Alles auswählen
//values: NEW, WAXING_CRESCENT, FIRST_QUARTER, WAXING_GIBBOUS, FULL, WANING_GIBBOUS,
//THIRD_QUARTER, WANING_CRESCENT
String Astr_MoonPhase "MoonPhase" { channel="astro:moon:home:phase#name" }
Als Rüchgabe erhalte ich einen String, den ich in habpanel auswerte, um es zu vereinfachen.
Code: Alles auswählen
<div ng-init="mondphasen={'NEW':'1', 'WAXING_CRESCENT':'2', 'FIRST_QUARTER':'3', 'WAXING_GIBBOUS':'4', 'FULL':'5',
'WANING_GIBBOUS':'6', 'THIRD_QUARTER':'7', 'WANING_CRESCENT':'8'}"/>
...
<td id="astro_val">
<widget-icon iconset="'eclipse-smarthome-classic'"
icon="'moonphases'"
size="100"
state="mondphasen[itemValue('Astr_MoonPhase')]"/>
</td>
...
Das widget-icon erhält dann in state die Nummer aus mondphasen[], das als String vom Item geliefert wird. Dazu muss im o.g. Verzeichnis ein Set aus Icons existieren (svg ist, glaube ich, nicht zwingend). Die Dateinamen in Kleinschreibung mit Bindestrich und Nummer! Bei mir klappt das sonst nicht. Die Nummer entspricht mondphasen={}
Ich habe mir als Set folgendes gebastelt:
Mondphasen.zip