[GELÖST] DWDUnwetter Bindung - Lange Texte umbrechen? 2. Version
[GELÖST] DWDUnwetter Bindung - Lange Texte umbrechen? 2. Version
Gestern war wieder eine Unwetterwarnung vom DWD ( https://www.openhab.org/addons/bindings/dwdunwetter/ ) zu sehen. Die Anzeige in der Sitemap ist allerdings unschön. Die langen Text werden abgehackt und nahezu unleserlich dargestellt (Bild Smartphone)
Exakt diese Anfrage an OpenHAB gab es im Januar 2019 auf Basis OpenHAB 2.4 schon mal.
https://community.openhab.org/t/obvious ... -how/63193
Allerdings ohne Lösung. Gibt es dazu neues mit OH 2.5.5?
Danke und Grüße
Thomas
Exakt diese Anfrage an OpenHAB gab es im Januar 2019 auf Basis OpenHAB 2.4 schon mal.
https://community.openhab.org/t/obvious ... -how/63193
Allerdings ohne Lösung. Gibt es dazu neues mit OH 2.5.5?
Danke und Grüße
Thomas
Ich habe mal versucht die überlangen Text von DWD Unwetter in einer halbwegs lesbarer Form anzuzeigen. Hilfreich ist dabei, die langen Texte in eine Untergruppe zu verlagern. Der "Trick" war es anstatt Text Items nur Frame Items in dieser Untergruppe des haus.sitemap zu verwenden. Der Text wird dann als Label ausgegeben und sinnvoll umgebrochen. Mit dem zusätzlichen einbinden eigener CSS Klassen über eine Webview ist es dann möglich, die Text etwas kleiner zu gestalten. Nicht schön aber selten.
Damit die Webview keinen Platz auf dem Bildschirm einnimmt, dass ich diese durch visibility=[WarningOrt==dummy] ausgeblendet.
Bild 1: Bild 2: Lesbarer, aber insoweit unschön, da ich keine Idee habe die eckigen Klammer zu vermeiden. Die kommen aus der Formatierung der Item. Vielleicht hat ja noch jemand einen Tipp für mich
Hier nun der Code dazu (die :xxx: stehe für den tatsächlichen Ort)
dwdunwetter.items
haus.sitemap
dwdunwetter.html
Danke für Tipps
Thomas
Gehe zur vollständigen AntwortDamit die Webview keinen Platz auf dem Bildschirm einnimmt, dass ich diese durch visibility=[WarningOrt==dummy] ausgeblendet.
Bild 1: Bild 2: Lesbarer, aber insoweit unschön, da ich keine Idee habe die eckigen Klammer zu vermeiden. Die kommen aus der Formatierung der Item. Vielleicht hat ja noch jemand einen Tipp für mich
Hier nun der Code dazu (die :xxx: stehe für den tatsächlichen Ort)
dwdunwetter.items
Code: Alles auswählen
// Items fuer das DWD Unwetter Bindung
// Stand 19.06.2020
Group gDWDUnwetter "Weiter Details..." <none>
Switch WarningOrt "Weather warning" <none> { channel="dwdunwetter:dwdwarnings:xxx:warning1" }
String WarningOrtServerity "[%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:severity1" }
String WarningOrtBeschreibung "[%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:description1" }
String WarningOrtAusgabedatum "Vorhersage für [%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:effective1" }
String WarningOrtGueltigAb "ab Uhrzeit [%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:onset1" }
String WarningOrtGueltigBis "bis Uhrzeit [%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:expires1" }
String WarningOrtTyp "[%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:event1" }
String WarningOrtTitel "[%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:headline1" }
String WarningOrtHoeheAb "von Höhe [%d m]" <none> { channel="dwdunwetter:dwdwarnings:xxx:altitude1" }
String WarningOrtHoeheBis "bis Höhe [%d m]" <none> { channel="dwdunwetter:dwdwarnings:xxx:ceiling1" }
String WarningOrtUrgency "[%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:urgency1" }
String WarningOrtInstruction "[%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:instruction1" }
Code: Alles auswählen
Frame label="DWD Unwetterwarnung" item=WarningOrtTyp visibility=[WarningOrt==ON] {
Group item=gDWDUnwetter icon="alarm" {
Frame item=WarningOrtTitel
Frame item=WarningOrtBeschreibung
Frame item=WarningOrtAusgabedatum
Frame item=WarningOrtGueltigAb
Frame item=WarningOrtGueltigBis
Frame item=WarningOrtInstruction
Webview url="/static/dwdunwetter.html" icon="none" visibility=[WarningOrt==dummy]
}
}
dwdunwetter.html
Code: Alles auswählen
<html>
<head></head>
<body>
<script type="text/javascript">
/**
* Ersetzt die bestehende CSS Klasse für Textitems und erlaubt längere Text mit Zeilenumbruch
* dwdunwetter.html wird als iframe eingebunden. Somit muss JavaScript auf die Parent CSS Klassen zugreifen
*/
function addStyleString(str) {
var node = window.parent.document.createElement('style');
node.innerHTML = str;
window.parent.document.head.appendChild(node);
}
addStyleString('h5 { font-size: 14px !important; font-weight: normal !important } ');
// var item = window.parent.document.querySelector('[data-widget-id="000000"]')
</script>
</body>
</html>
Danke für Tipps
Thomas
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von thomas_w am 17. Jul 2020 19:28, insgesamt 2-mal geändert.
- udo1toni
- Beiträge: 13944
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: DWDUnwetter Bindung - Lange Texte umbrechen?
Nein, dazu gibt es keinen befriedigenden Ansatz.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
Re: DWDUnwetter Bindung - Lange Texte umbrechen?
Ich habe mal versucht die überlangen Text von DWD Unwetter in einer halbwegs lesbarer Form anzuzeigen. Hilfreich ist dabei, die langen Texte in eine Untergruppe zu verlagern. Der "Trick" war es anstatt Text Items nur Frame Items in dieser Untergruppe des haus.sitemap zu verwenden. Der Text wird dann als Label ausgegeben und sinnvoll umgebrochen. Mit dem zusätzlichen einbinden eigener CSS Klassen über eine Webview ist es dann möglich, die Text etwas kleiner zu gestalten. Nicht schön aber selten.
Damit die Webview keinen Platz auf dem Bildschirm einnimmt, dass ich diese durch visibility=[WarningOrt==dummy] ausgeblendet.
Bild 1: Bild 2: Lesbarer, aber insoweit unschön, da ich keine Idee habe die eckigen Klammer zu vermeiden. Die kommen aus der Formatierung der Item. Vielleicht hat ja noch jemand einen Tipp für mich
Hier nun der Code dazu (die :xxx: stehe für den tatsächlichen Ort)
dwdunwetter.items
haus.sitemap
dwdunwetter.html
Danke für Tipps
Thomas
Damit die Webview keinen Platz auf dem Bildschirm einnimmt, dass ich diese durch visibility=[WarningOrt==dummy] ausgeblendet.
Bild 1: Bild 2: Lesbarer, aber insoweit unschön, da ich keine Idee habe die eckigen Klammer zu vermeiden. Die kommen aus der Formatierung der Item. Vielleicht hat ja noch jemand einen Tipp für mich
Hier nun der Code dazu (die :xxx: stehe für den tatsächlichen Ort)
dwdunwetter.items
Code: Alles auswählen
// Items fuer das DWD Unwetter Bindung
// Stand 19.06.2020
Group gDWDUnwetter "Weiter Details..." <none>
Switch WarningOrt "Weather warning" <none> { channel="dwdunwetter:dwdwarnings:xxx:warning1" }
String WarningOrtServerity "[%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:severity1" }
String WarningOrtBeschreibung "[%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:description1" }
String WarningOrtAusgabedatum "Vorhersage für [%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:effective1" }
String WarningOrtGueltigAb "ab Uhrzeit [%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:onset1" }
String WarningOrtGueltigBis "bis Uhrzeit [%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:expires1" }
String WarningOrtTyp "[%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:event1" }
String WarningOrtTitel "[%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:headline1" }
String WarningOrtHoeheAb "von Höhe [%d m]" <none> { channel="dwdunwetter:dwdwarnings:xxx:altitude1" }
String WarningOrtHoeheBis "bis Höhe [%d m]" <none> { channel="dwdunwetter:dwdwarnings:xxx:ceiling1" }
String WarningOrtUrgency "[%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:urgency1" }
String WarningOrtInstruction "[%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:instruction1" }
Code: Alles auswählen
Frame label="DWD Unwetterwarnung" item=WarningOrtTyp visibility=[WarningOrt==ON] {
Group item=gDWDUnwetter icon="alarm" {
Frame item=WarningOrtTitel
Frame item=WarningOrtBeschreibung
Frame item=WarningOrtAusgabedatum
Frame item=WarningOrtGueltigAb
Frame item=WarningOrtGueltigBis
Frame item=WarningOrtInstruction
Webview url="/static/dwdunwetter.html" icon="none" visibility=[WarningOrt==dummy]
}
}
dwdunwetter.html
Code: Alles auswählen
<html>
<head></head>
<body>
<script type="text/javascript">
/**
* Ersetzt die bestehende CSS Klasse für Textitems und erlaubt längere Text mit Zeilenumbruch
* dwdunwetter.html wird als iframe eingebunden. Somit muss JavaScript auf die Parent CSS Klassen zugreifen
*/
function addStyleString(str) {
var node = window.parent.document.createElement('style');
node.innerHTML = str;
window.parent.document.head.appendChild(node);
}
addStyleString('h5 { font-size: 14px !important; font-weight: normal !important } ');
// var item = window.parent.document.querySelector('[data-widget-id="000000"]')
</script>
</body>
</html>
Danke für Tipps
Thomas
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
- udo1toni
- Beiträge: 13944
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: DWDUnwetter Bindung - Lange Texte umbrechen?
Topp! Wo kommen die eckigen Klammern denn her?
Gesendet von meinem SM-G973F mit Tapatalk
Gesendet von meinem SM-G973F mit Tapatalk
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
Re: DWDUnwetter Bindung - Lange Texte umbrechen?
Die eckigen Klammer kommen von den Items hier...
Wenn man "[%s]" zu "%s" ändert, dann gibt es einen Syntaxfehler im OpenHAB Logfile...
Code: Alles auswählen
String WarningOrtTitel "[%s]" <none> { channel="dwdunwetter:dwdwarnings:xxx:headline1" }
- udo1toni
- Beiträge: 13944
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: DWDUnwetter Bindung - Lange Texte umbrechen?
Ah. Vielleicht mit einem Leerzeichen davor? " [%s]"
Gesendet von meinem SM-G973F mit Tapatalk
Gesendet von meinem SM-G973F mit Tapatalk
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
Re: DWDUnwetter Bindung - Lange Texte umbrechen?
Nein, bringt leider keine Veränderung. Die eckigen Klammern sind weiterhin da.
Re: DWDUnwetter Bindung - Lange Texte umbrechen?
Betrachte das Problem mal als gelöst.
Grüße
Thomas
Grüße
Thomas
Re: [GELÖST] DWDUnwetter Bindung - Lange Texte umbrechen?
Hier ist eben ein starkes Gewitter durch. Die Anzeige von DWD Unwetter ist doch sehr hilfreich.
Grüße
Thomas
Grüße
Thomas
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
-
- Beiträge: 13
- Registriert: 14. Apr 2020 12:40
Re: [GELÖST] DWDUnwetter Bindung - Lange Texte umbrechen?
Im Browser funktioniert es bei mir, in der App allerdings nicht. Verwendest du die App und geht es bei dir?