Fragen zur Konfiguration von Templates

Begonnen von coolice, 06 Mai 2021, 18:13:47

Vorheriges Thema - Nächstes Thema

Jamo

Zitat von: Dr. Boris Neubert am 21 September 2021, 11:18:40
Hallo Jamo,

ich habe die aktuelle Version von fhemApp installiert. Hier mein Template zur Erläuterung:

{
  "name": "shutter3",
  "author": "borisneubert",
  "description": "Tasmota-based shutters",
  "date": "2021-09-20",
  "status": {
    "bar": ["Shutter1_Position::%n:success:invert"],
    "error": []
  },
  "main": [
    {
      "leftBtn": ["pct:1:mdi-chevron-down","pct::mdi-chevron-down:disabled"],
      "leftClick": ["state:set_close:stop","pct:1:close","pct::"],
      "text": ["state:set_open:öffnet...","state:set_close:schließt...","state:1:offen","state::geschlossen"],
      "rightBtn": ["Shutter1_Position:100:mdi-chevron-up:disabled","Shutter1_Position::mdi-chevron-up"],
      "rightClick": ["Shutter1_Position:100:","state:set_open:stop","state::open"]
    }
  ],
  "info": {
    "left1": ["state:set_.*::mdi-window-shutter-alert","pct:1::mdi-window-shutter-open","pct:::mdi-window-shutter"],
    "left2": ["Shutter1_Position::%s%"]
  }
}


Bei mir läuft erst einmal obiges Template und der Text wird entsprechend angezeigt. Auch wenn ich

       "midClick": ["state::stop"],


unter main hinzufüge, ist das mittlere Feld nicht klickbar. Erst wenn ich auch noch

      "midBtn": "mdi-dots-vertical",

unter main hinzufüge, wird das mittlere Feld klickbar und ich kann die Rollladenfahrt damit stoppen. Jedoch sehe ich dann statt des Texts nur das Icon (egal welches Icon). Auch mit einer leeren midBtn-Definition "[state::]" kommt kein Text.

Viele Grüße
Boris

(ich trenne das hier ab und schiebe es in Template-Konfiguration)

Du hast "midMenu" nicht definiert. "midClick" funktioniert nicht.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Dr. Boris Neubert

Zitat von: Jamo am 21 September 2021, 11:53:04
Du hast "midMenu" nicht definiert. "midClick" funktioniert nicht.

Ja, ich weiß, das habe ich ausprobiert, aber das will ich nicht (der Text erscheint in Großbuchstaben und es gibt ein Popup-Menu). Ich will ja nur, dass midClick auch auf Text funktioniert. Daher der Featurewunsch.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

marcg

Eine "point" Darstellung hat das chart-template nicht oder ? Ich würde gerne meine Bewegungsmelder so darstellen :

Marc

jemu75

Zitat von: marcg am 02 November 2021, 12:05:14
Eine "point" Darstellung hat das chart-template nicht oder ? Ich würde gerne meine Bewegungsmelder so darstellen :

Marc

Hallo Marc,

aktuell leider nicht implementiert. Würde ich mir aber gern noch mal ansehen, da dein Beispiel Bewegungsmelder sehr gut visualisiert.
Folgende Frage dazu. Wie sehen die Werte aus, mit denen dein Chart befüllt wird. Konkret würde mich interessieren, wie du die Punkte auf unterschiedliche Y-Positionen bringst, wenn mehrere Melder im Chart dargestellt werden.

marcg

Hallo,

die Melder geben mittels Userreading eine 1 aus (State motion) bei Bewegung und eine 0 bei keiner Bewegung (State nomotion). Die dargestellten Punkte sind also nur die mit 1. Der eine Melder linke Einteilung, der andere rechte Einteilung. Die Anzeige der 0 wird im Range ausgeblendet und gedreht damit der eine oben ist der andere unten.. Siehe Anhang...

Gruß & Danke
Marc



jemu75

Zitat von: marcg am 05 November 2021, 10:40:49
Hallo,

die Melder geben mittels Userreading eine 1 aus (State motion) bei Bewegung und eine 0 bei keiner Bewegung (State nomotion). Die dargestellten Punkte sind also nur die mit 1. Der eine Melder linke Einteilung, der andere rechte Einteilung. Die Anzeige der 0 wird im Range ausgeblendet und gedreht damit der eine oben ist der andere unten.. Siehe Anhang...

Gruß & Danke
Marc

Hallo Marc,

ich habe mal was vorbereitet. Aktuell sieht das wie folgt aus. (siehe Anhang) Ich würde jetzt noch den "Feinschliff" machen und dann ein neues Releasee freigeben.  :)

jemu75

#96
Zitat von: marcg am 02 November 2021, 12:05:14
Eine "point" Darstellung hat das chart-template nicht oder ? Ich würde gerne meine Bewegungsmelder so darstellen :

Marc

Hallo Marc,

ich habe eben ein neues Release freigegeben. Mit diesem ist die gewünschte Darstellung möglich. (Hinweise siehe Release-Notes)
Folgenden Unterschied gibt es in meiner Lösung. Damit die Punkte auf unterschiedlichen "Höhen" im Chart angezeigt werden, habe ich für jeden Bewegungsmelder ein userreading erstellt.
Ich habe das userreading bei mir "motionChartDot" genannt. Wenn der Bewegungsmelder eine Bewegung erkennt, so setze ich den Wert beim ersten Bewegungsmelder auf 2 beim zweiten auf 3 bei dritten 4 usw.
Wenn der Bewegungsmelder keine Bewegung erkennt, dann setze ich den Wert immer auf 0.

Die Definition für das userreading sieht bei mir z.B. so aus:

motionChartDot { return 0 if (ReadingsVal("$name", "motion", 0) eq "off");;;; return 4;; }


Und appOptions zur Darstellung des Diagrammes sieht so aus:

{ "template": "chart", "dashboard": "true", "chartDef": [":motionChartDot:Flur::no-label::1:5::0:4","motion.os.eg_FileLog:ter.motionChartDot:Terrasse::no-label::1:5::0:4","motion.os.eg_FileLog:ef.motionChartDot:Einfahrt::no-label::1:5::0:4"] }


Bei Fragen melde dich gern.

Beste Grüße
Jens  :)

marcg

Wow....viel Dank.

Probiere ich natürlich gleich aus...

Grüße
Marc

marboj

Hallo Ihr,

habe das sysmon genutzt, um meine NAS in FhemApp darzustellen. Klappt auch ganz gut. Folgende 2 Fragen:

- Die CPU-Last wird von 0-1 angegeben. Habe in der Definition der bar auch 0:1 definiert. Leider ist die Leiste immer "leer".

- Der Status der HDDs wird von 1-5 definiert. Normal(1) Initialized(2) NotInitialized(3) SystemPartitionFailed(4) Crashed(5)
Wie kann ich den Klartext im Template darstellen? Vielleicht auch, dass bei 1 die Bar grün ist und beio den Stati 2-5 rot?

{ "template": "sysmon", "system": "true", "setup": {"subTitle": ["Internals.SystemDescription::%s"], "main": [{ "name": "CPU Auslastung:", "bar": ["load::%s:success:0:1"], "subText": ["load::%s"] }, {"name": "NAS Temperatur:", "bar": ["temperature::%n:success:0:100"], "subText": ["temperature::%n.1 °C"]}, {"name": "HDD1 Temperatur:", "bar": ["temp_hdd1::%n:success:0:100"], "subText": ["temp_hdd1::%n.1 °C"]}, {"name": "HDD2 Temperatur:", "bar": ["temp_hdd2::%n:success:0:100"], "subText": ["temp_hdd2::%n.1 °C"]},{"name": "HDD1 Status:", "subText": ["state_hdd1::%s"]}, {"name": "HDD2 Status:", "subText": ["state_hdd2::%s"]}, { "name": "NAS läuft seit:", "subText": ["uptime::%s"] } ]}}

Gruß
Marco

meine FHEM-Konfiguration: Raspberry Pi4, BT-Dongle, CUL868, CeeBee II

andreas_r

#99
Hallo zusammen,

eine kleine Frage an Euch Experten: Ich habe verstanden, dass man das cam template auch zur Anzeige statischer Bilder verwenden kann.

Ist es auch möglich, den Pfad dieses Bildes aus einem Reading heraus zu nehmen? Und wenn ja, ändert das Template dann auch das Bild "automatisch", sobald sich das Reading ändert?

Danke und viele Grüße,
Andreas

Jamo

Du musst zumindest ein reload machen, weil es ja kein reading gibt, auf das das template triggered. Der Pfad zu der source wird im attribut gesetzt. z.B. DWD für Bayerndefmod DWDBay dummy
attr DWDBay appOptions { "template": "cam", "name": "DWD Bayern", "group": "Wetter", "sortby": 400, "setup": { "size": "col-12 col-sm-6 col-md-4 col-lg-4", "source": "http://www.dwd.de/DWD/wetter/radar/radfilm_bay_akt.gif" } }

Man kann zumindest das attribut dynamisch verändern, z.B. fhem ("attr DWDBay appOptions ....") aber dann muss man danach immer noch ein re-load machen.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

jemu75

Zitat von: marboj am 03 Februar 2022, 09:11:19
Hallo Ihr,

habe das sysmon genutzt, um meine NAS in FhemApp darzustellen. Klappt auch ganz gut. Folgende 2 Fragen:

- Die CPU-Last wird von 0-1 angegeben. Habe in der Definition der bar auch 0:1 definiert. Leider ist die Leiste immer "leer".

- Der Status der HDDs wird von 1-5 definiert. Normal(1) Initialized(2) NotInitialized(3) SystemPartitionFailed(4) Crashed(5)
Wie kann ich den Klartext im Template darstellen? Vielleicht auch, dass bei 1 die Bar grün ist und beio den Stati 2-5 rot?

{ "template": "sysmon", "system": "true", "setup": {"subTitle": ["Internals.SystemDescription::%s"], "main": [{ "name": "CPU Auslastung:", "bar": ["load::%s:success:0:1"], "subText": ["load::%s"] }, {"name": "NAS Temperatur:", "bar": ["temperature::%n:success:0:100"], "subText": ["temperature::%n.1 °C"]}, {"name": "HDD1 Temperatur:", "bar": ["temp_hdd1::%n:success:0:100"], "subText": ["temp_hdd1::%n.1 °C"]}, {"name": "HDD2 Temperatur:", "bar": ["temp_hdd2::%n:success:0:100"], "subText": ["temp_hdd2::%n.1 °C"]},{"name": "HDD1 Status:", "subText": ["state_hdd1::%s"]}, {"name": "HDD2 Status:", "subText": ["state_hdd2::%s"]}, { "name": "NAS läuft seit:", "subText": ["uptime::%s"] } ]}}

Gruß
Marco

Hallo Marco,

gebe die Parameter für die Bar bitte mal wie folgt ein: [value:color:min:max]

"bar": ["load:success:0:1"],


Die individuelle Anzeige des "Subtext" müsstest du wie folgt konfigurieren: [reading:value:text]

"subText": ["state_hdd1:1:normal","state_hdd1:2:Inizialized","state_hdd1:3:NotInizialized","state_hdd1:4:SystemPartitionFailed","state_hdd1:5:Crashed"]


Beste Grüße
Jens  :)

marboj

#102
Hallo Jens,

der Status der HDD hat geklappt, die CPU-Nutzung zeigt nach deinem Vorschlag gar keine Bar mehr an  :-[

Habe die CPU-Nutzung jetzt über ein Userreading gelöst und den Prozentsatz in % berechnet.

userReadings cpu_app { 100 * ReadingsVal("AZ.NASStat","load",0)}

"bar": ["cpu_app::%s:success:0:100"], "subText": ["cpu_app::%n.1 %"] }


Gruß
Marco
meine FHEM-Konfiguration: Raspberry Pi4, BT-Dongle, CUL868, CeeBee II

Wolle02

#103
Hallo, ich verwende das Cam Template, um ein Bild des QR-Codes für mein Gast-WLAN anzuzeigen. Gibt es die Möglichkeit für "expand" auch in diesem Template, so dass ich den QR-Code nur bei Bedarf anzeigen lassen kann und er normalerweise "eingeklappt" ist?
Ich habe jetzt an verschiedenen Stellen mit "expand": true und  "expanded": false experimentiert. Leider ohne Erfolg.

Die appOptions sieht folgendermaßen aus:
{ "template": "cam",
"home": "true",
"room": "Flur",
"name": "Gast WLAN QR-Code",
"setup": { "source": "http://xxx.xxx.xxx.xxx:8083/fhem/images/Imperiales_Gast_WLAN.png" } }





jemu75

Zitat von: Wolle02 am 21 Februar 2022, 19:25:06
Hallo, ich verwende das Cam Template, um ein Bild des QR-Codes für mein Gast-WLAN anzuzeigen. Gibt es die Möglichkeit für "expand" auch in diesem Template, so dass ich den QR-Code nur bei Bedarf anzeigen lassen kann und er normalerweise "eingeklappt" ist?
Ich habe jetzt an verschiedenen Stellen mit "expand": true und  "expanded": false experimentiert. Leider ohne Erfolg.

Die appOptions sieht folgendermaßen aus:
{ "template": "cam",
"home": "true",
"room": "Flur",
"name": "Gast WLAN QR-Code",
"setup": { "source": "http://xxx.xxx.xxx.xxx:8083/fhem/images/Imperiales_Gast_WLAN.png" } }


Hallo Wolle,

die Eigenschaft gibt es derzeit leider nicht in dem Template "cam". Ich hatte auch schon überlegt, die Anzeige von Bildern generell in das Standard-Template zu integrieren. Damit stünden dann alle Funktionen, die das Standard-Template mitbringt, zur Verfügung. Zeitlich ist aktuell leider nicht all zu viel drin, aber ich behalte das mit auf dem Schirm.

Beste Grüße
Jens.  :)