Seite 5 von 12

Re: Fensterkontakt Status

Verfasst: 7. Jan 2022 17:58
von peter-pan
ML_1982 hat geschrieben: 7. Jan 2022 16:10 Ich verfolge gerade zwei Ideen, komme aber bei beiden nicht weiter.
In deinem Falle würden ja die Standard-Icons "blinds" oder "rollershutter" eigentlich ausreichen, da diese ja bereits eine 10er-Staffelung (...-0 -> -100) haben und nicht extra angelegt werden müssen. Du müsstest halt in den jeweiligen Widgets die Funktion "Icon depends on state" in Verbindung mit dem Icon "oh:blinds" aktivieren.

Bei eigenenIcons, darfst du nicht vergessen, ein sogenanntes Default-Icon mit anzulegen. In deinem Falle wäre das "fenster.png".
ML_1982 hat geschrieben: 7. Jan 2022 16:10 gibt es nur das geschlossene Fenster.
Das ist so nicht ganz richtig. Wenn du auf der Web-Seite mit der Maus auf ein Icon fährst, sieht du beispielweise beim Fenster (window) eine Blase mit "window-ajar, window-closed, window-open + window".
ML_1982 hat geschrieben: 7. Jan 2022 16:10 Oder geht das wie weiter oben in diesem Thread beschrieben nur über Dateien und nicht über das GUI?
Das ist vermutlich nicht der richtige Ort. Da musst du über Metadata/stateDescription gehen und dort unter Pattern z.B: MAP(de.map):%s einzugeben.

Das Item-Beispiel von dir zeigt aber als Status "CLOSED" an und nicht "0". Da bin ich etwas verwirrt.??!! :? Hat hier etwa schon eine Übersetzung stattgefunden ?

Die Profile, die du da markiert hast, funktionieren etwas anders. Dazu kannst du mal hier hin schauen. Im Detail, bin ich da jetzt nicht mehr ganz drin.

Hier ein paar Beispiele aus meinem SetUp(textbasiert):

Code: Alles auswählen

Switch    Sonoff_Pow_02        "Stehlampe [MAP(de.map):%s]"          <standard_lamp>         (gEG_Wohnen,gT_OnOff,gLight)  { channel="mqtt:topic:vera:pow02:power"[profile="follow", profile-parameterID="Sonoff_Basic_03"]}
DateTime  CPU_Temp_lastUpdate  "OH2_CPU Temp Date[[%1$tF %1$tR]]"    <temperature>           (gSystem)                     { channel="exec:command:cpu_temp:output"[profile="timestamp-update"]} // Beispiel profile "timstamp-update"
Switch    esp_32_01_Unreach    "ESP32-01 LWT-Erreichbarkeit [%s]"    <siren1>                (gESP32_01,gLWT)              { channel="mqtt:topic:vera:esp3201:reachable" [profile="transform:MAP", function="reachable.map"]}          

Re: Fensterkontakt Status

Verfasst: 8. Jan 2022 15:05
von ML_1982
In deinem Falle würden ja die Standard-Icons "blinds" oder "rollershutter" eigentlich ausreichen, da diese ja bereits eine 10er-Staffelung (...-0 -> -100) haben und nicht extra angelegt werden müssen. Du müsstest halt in den jeweiligen Widgets die Funktion "Icon depends on state" in Verbindung mit dem Icon "oh:blinds" aktivieren.
Dann sieht das Icon ja aus wie ein Rolladen und nicht wie ein Fenster, das die Zuständen "100=Offen, 33=Gekippt, 0=Geschlossen" hat.
Das ist so nicht ganz richtig. Wenn du auf der Web-Seite mit der Maus auf ein Icon fährst, sieht du beispielweise beim Fenster (window) eine Blase mit "window-ajar, window-closed, window-open + window".
Meinst Du das? Aber wie komme ich da dann an die Icons, damit ich sie kopieren kann?
2022-01-08_14h52_44.png
Ich habe sie jetzt hier https://github.com/eclipse-archived/sma ... ssic/icons gefunden, und es funktioniert auch, ich habe mir die Icons kopiert, umbenannt in
fenster.svg
fenster-0.svg
fenster-33.svg
fenster-100.svg

und ableget und openHAB-conf\icons\classic. Somit funktioniert der 1 Lösungweg.

Aber nochmal zum zweiten:
Das ist vermutlich nicht der richtige Ort. Da musst du über Metadata/stateDescription gehen und dort unter Pattern z.B: MAP(de.map):%s einzugeben.
So wie ich das hier
https://community.openhab.org/t/differe ... ion/116958
verstehe, darf ich genau das nicht machen, weil man unter der State Description nur die Anzeige und nicht den Wert des Items ändert. Und das dynamische Icon arbeitet mit dem Wert.

Daher muss man über die Profiles bei den Channels gehen.
Die Profile, die du da markiert hast, funktionieren etwas anders. Dazu kannst du mal hier hin schauen. Im Detail, bin ich da jetzt nicht mehr ganz drin.
Ich verstehe nicht ganz wie Du das meinst. In dem Link wird derzeit ja ausschließlich die textfile basierte Konfiguration der Profile für Channel beschreiben, so wie Du es in deinem SetUp auch gemacht hast. Aber wie geht das im GUI?
Das Item-Beispiel von dir zeigt aber als Status "CLOSED" an und nicht "0". Da bin ich etwas verwirrt.??!! :? Hat hier etwa schon eine Übersetzung stattgefunden ?
ja, so wie in Post 33 beschrieben, habe ich das über die State Description und die Options gemacht. Darüber ändert man aber nur die Anzeige und nicht den Wert des Items an sich, deshalb kann man über den weg nicht die original Icons window-oper.svg, window-closed.svg usw. nutzen. Zumindest habe ich das so verstanden.

Re: Fensterkontakt Status

Verfasst: 8. Jan 2022 16:01
von udo1toni
Die drei icons heißen window-open, window-closed und window-ajar.

Re: Fensterkontakt Status

Verfasst: 8. Jan 2022 17:36
von peter-pan
Du hast natürlich Recht, wenn du den Status-Wert verändern willst, dann geht das nicht über die Veränderung des Patterns per Map-Transfromation.
Das geht wohl nur über dieses "Profile", das kenne ich leider nicht sehr gut, bzw. habe mich nicht wirklich damit beschäftigt(nur "gediebstahlt" ;) ), oder mittels Rule und einem 2-ten Item.
Mal sehen, vielleicht komme ich dazu mir das mal etwas intensiver zu betrachten, oder es hat hier im Forum jemand ein Beispiel parat.?!?!

Re: Fensterkontakt Status

Verfasst: 9. Jan 2022 19:09
von ML_1982
Hier jetzt mal meine aktuelle Lösung:

ich habe die original Icons von hier:
https://github.com/eclipse-archived/sm ... ssic/icons

kopiert und auf meinem System hier unter diesen Namen abgelegt.
2022-01-09_18h59_54.png
Bei Item habe ich dann mein neues Icon "fenster" ausgewählt.
2022-01-09_19h02_19.png
Der Wert von Item im Hintergrund bleibt 0,33,100.


Damit in der GUI aber auch ein vernünftiger Text steht habe ich noch eine map Transformation hinzugefügt.
2022-01-09_19h05_17.png
So sieht meine fenster.map Datei aus:

Re: Fensterkontakt Status

Verfasst: 9. Jan 2022 19:13
von ML_1982
2022-01-09_19h07_33.png
Achtung auf die UTF8 Codierung der txt Datei achten, sonst gibt es Probleme mit dem ö bei "geöffnet".

Dann noch das unter Meta Data --> State Description
2022-01-09_19h11_11.png
Und jetzt habe ich ein animiertes Icon und einen vernünftigen Text, obwohl das Item im Hintergrund noch mit 0,33 und 100 arbeitet.

So sieht es dann aus:
2022-01-09_19h16_58.png

Re: Fensterkontakt Status

Verfasst: 10. Jan 2022 00:46
von peter-pan
ML_1982 hat geschrieben: 9. Jan 2022 19:09 Hier jetzt mal meine aktuelle Lösung:
Genauso hätte (habe) ich das auch (schon) so gemacht.

Das Profile mit einer Umwandlung des Status (mit JS-Transformaton) wäre gar nicht möglich gewesen, da ein Dimmer-Item, ja eigentlich keine Character-Werte, wie "OPEN/CLOSED/AJAR" akzeptiert und das Binding natürlich eine Änderung des Channel-Wertes zulässt.
ML_1982 hat geschrieben: 9. Jan 2022 19:13 Achtung auf die UTF8 Codierung der txt Datei achten, sonst gibt es Probleme mit dem ö bei "geöffnet".
Nach Möglichkeit solltest du auch darauf achten, wie das Zeilenende geschrieben wird("CR+LF" macht manchmal auch Probleme)
lf.jpg

Re: Fensterkontakt Status

Verfasst: 10. Jan 2022 01:50
von udo1toni
In Notepad++ kann man das Zeilenende Windows (CR+LF) oder UNIX (LF) unten rechts in der Statuszeile ansehen und auch umschalten (per Rechtsklick)

Re: Fensterkontakt Status

Verfasst: 10. Jan 2022 02:20
von peter-pan
udo1toni hat geschrieben: 10. Jan 2022 01:50 In Notepad++ kann man das Zeilenende Windows (CR+LF) oder UNIX (LF) unten rechts in der Statuszeile ansehen und auch umschalten (per Rechtsklick)
...warum einfach, wenn's auch umständlich geht...... :oops: :oops: :oops:
👍 Danke für den Tipp. Hab's gleich ausprobiert. Einfacher geht's wirklich nicht 👍

Re: Fensterkontakt Status

Verfasst: 10. Jan 2022 10:05
von udo1toni
:)