Hauptmenü

FTUI version 3

Begonnen von Bunnu, 25 Oktober 2020, 09:25:41

Vorheriges Thema - Nächstes Thema

OdfFhem

Zitat von: grossmaggul am 16 März 2022, 11:12:22
O.K., danke, mal sehen ob ich mir da was basteln kann.

Reguläre Ausdrücke beherrschen eine solche Begrenzung bereits ...

replace ... die ersten 3 Zeichen

  <ftui-label [text]="ftuitest:string | replace(/^(.{1,3}).*/,'$1')"></ftui-label>

replace ... 4 Zeichen überlesen und dann die nächsten 3 Zeichen ... also Zeichen 5-7

  <ftui-label [text]="ftuitest:string | replace(/^.{4}(.{1,3}).*/,'$1')"></ftui-label>


part ... minimal veränderter, regulärer Ausdruck wegen part-Vorgabe ... resultierende Anzeige wie oben

  <ftui-label [text]="ftuitest:string | part('(.{1,3}).*')"></ftui-label>
  <ftui-label [text]="ftuitest:string | part('.{4}(.{1,3}).*')"></ftui-label>


mr_petz

@OdfFhem

Ich habe schon spekuliert und mir gedacht dass du eine reguläre Version präsentierst. :D
Ist aber auch richtig so. Nur so können wir alle davon profitieren und was dazu lernen...
Mir ist das persönlich zu komplex und für den Ottonormalnutzer bestimmt auch. Die einfache Pipe kann setstate bestimmt noch integrieren.
Danke und LG mr_petz

Stonemuc

Zitat von: mr_petz am 16 März 2022, 07:41:48
@Stonemuc

Da hatte ich schon was dazu geschrieben:
Das kannst du zur Zeit nur auf der fhem-seite anpassen.
setstate müsste da auf die gelesene RG gehen und dann das width/height bei den svg´s/icons/img mitgeben. so wie ich es für die RG von Sonos gemacht habe...

LG

Also quasi in meiner FHEM rg schon die Breite und Höhe angeben und dann klappt es? Probiere ich mal. Hoffe es sieht dann in FHEM noch gut aus.
Ansonsten.muss ich mir was eigenes aus Icons und Labels basteln, wenn ich mein Grundgerüst in allen Räumen durch habe.
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

OdfFhem

@mr_petz

Viele Wege führen nach Rom ... sind halt weitere Beispiele ...


Wichtig bei der zusätzlichen Pipe wäre aus meiner Sicht auf jeden Fall ein passenderer Name, da trim normalerweise eine ganz andere Bedeutung hat ...
ZitatDie Trim-Methode entfernt alle führenden und nachgestellten Leerzeichen aus der aktuellen Zeichenfolge.
Bei erweiterter Funktionalität kann man auch noch das zu trimmende Zeichen festlegen.

mr_petz

#2314
@Stonemuc
Zitat von: Stonemuc am 16 März 2022, 16:51:06
Also quasi in meiner FHEM rg schon die Breite und Höhe angeben und dann klappt es? Probiere ich mal. Hoffe es sieht dann in FHEM noch gut aus.
Ansonsten.muss ich mir was eigenes aus Icons und Labels basteln, wenn ich mein Grundgerüst in allen Räumen durch habe.

Die höhe und breite der "Bildchen".
Die meisten fhem-svg sind ca 500x500px groß.
In ftui ist eine Größe von ca 30x30px gut.
LG

Edit: Das könntest du vielleicht mit css, style und/oder cellstyle in fhem erreichen.

Es geht auch ftui-seitig in einer user.css:

ftui-content svg{
  width:30px;
  height:30px;
}

mr_petz

Zitat von: OdfFhem am 16 März 2022, 16:59:31
..
Wichtig bei der zusätzlichen Pipe wäre aus meiner Sicht auf jeden Fall ein passenderer Name, da trim normalerweise eine ganz andere Bedeutung hat ...Bei erweiterter Funktionalität kann man auch noch das zu trimmende Zeichen festlegen.

Für Namensvorschläge ist setstate offen. Ich hatte das einfach in den Raum als Beispiel gestellt.
Man kann es auch so nennen wie es heisst: subString()
LG

grossmaggul

ZitatReguläre Ausdrücke beherrschen eine solche Begrenzung bereits ...
Leider ist es so, das reguläre Ausdrücke mich beherrschen. :o :(
FHEM auf Debian 12 Bookworm Server, Supermicro Core2Duo Board, 2 TB HD RAID 1, 8GB RAM, 2 x nanoCUL868, 1 x nanoCUL465; Homematic, MAX, MiLight, HUE,  2 x Gosund SP1,WLED

tomster

Zitat von: mr_petz am 16 März 2022, 18:18:44
Für Namensvorschläge ist setstate offen. Ich hatte das einfach in den Raum als Beispiel gestellt.
Man kann es auch so nennen wie es heisst: subString()
LG
Ich kenne von Musik-Samplern aus den 90'ern noch den englischen Ausdruck "truncate". Wobei wohl auch ein simples "cut" passen würde. SubString finde ich aber genauso passend.

Sailor

Moin zusammen

Zitat von: tomster am 17 März 2022, 11:16:51
Ich kenne von Musik-Samplern aus den 90'ern noch den englischen Ausdruck "truncate". Wobei wohl auch ein simples "cut" passen würde. SubString finde ich aber genauso passend.

Ein paar Links zur Diskussionsgrundlage:
https://wikidiff.com/cut/truncate
https://wiki.selfhtml.org/wiki/JavaScript/Objekte/String/substring
https://wiki.selfhtml.org/wiki/JavaScript/Objekte/String/trim

Gruß
    Sailor
******************************
Man wird immer besser...

tomster

Da der Begriff sicher kurz sein soll, werfe ich auch noch "chop" in den Ring.

mr_petz

Bevor das hier zu viel Diskussion darüber wird, muss setstate auch gewillt sein es einzubauen...
LG mr_petz

Stonemuc

Zitat von: mr_petz am 16 März 2022, 17:12:17
@Stonemuc
Die höhe und breite der "Bildchen".
Die meisten fhem-svg sind ca 500x500px groß.
In ftui ist eine Größe von ca 30x30px gut.
LG

Edit: Das könntest du vielleicht mit css, style und/oder cellstyle in fhem erreichen.

Es geht auch ftui-seitig in einer user.css:

ftui-content svg{
  width:30px;
  height:30px;
}



Kann ich das auch mit nem style im bereich des headers lösen?
<style>
    ftui-content svg{
  width:30px;
  height:30px;
}
  </style>
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

megadodopublications

#2322
Hallo setstate

ich habe dies als Idee aufgenommen und versucht mit einem Knob abzuwandeln.
Zitat von: grossmaggul am 03 Februar 2021, 13:55:03

Der slider beherrscht erfolgreich (undokumentiert..?) einen dynamischen Max-Wert
<ftui-slider
[value]="dummy_timertest_STATUS:timerElapsed"
[max]="dummy_timertest_STATUS:timerDuration>
</ftui-slider>


Der Knob kann dies scheinbar nicht.. mache ich etwas falsch oder könntest/würdest du das ergänzen wollen?

** edit: hat sich erledigt. in der Definition fehlten Anführungszeichen. Der Sliderist wohl fehlertoleranter...- alles gut. Knob funktioniert wie erwartet!

Vielen Dank vorab und Gruss
Ralph.

Stonemuc

Ich benötige mal Hilfe bei einem circlemenu. Ich versuch mir da was für meine Lüftung zu basteln.
Die hat die Stufen 0,1,2,3,offFor60min - wenn ich es normal mit beschrifteten Buttons erstelle funktioniert es wunderbar.
Gibt es die Möglichkeit die aufklappenden Buttons dann mit icons zu belegen? Irgendwie geht das bei mir nicht - oder hab ich irgendwo einen Fehler drin?

So läuft es:
<ftui-circlemenu direction="bottom-half">
                                <ftui-icon path="../images/openautomation/"
class="size-3" [name]="FanSelectorDay |  map('0:vent_ventilation_level_0, 1:vent_ventilation_level_1, 2:vent_ventilation_level_2, 3:vent_ventilation_level_3, offFor60min:vent_ventilation_level_manual_m')" [color]="FanSelectorDay | map('0:blue, 1:green, 2:yellow, 3:danger, offFor60min:danger')"></ftui-icon>
                                <ftui-button (value)="FanSelectorDay" states="0"> 0</ftui-button>
<ftui-button (value)="FanSelectorDay" states="1"> 1 </ftui-button>
                                <ftui-button (value)="FanSelectorDay" states="2"> 2</ftui-button>
                                <ftui-button (value)="FanSelectorDay" states="3"> 3</ftui-button>
                                <ftui-button (value)="FanSelectorDay" states="offFor60min">60min aus </ftui-button>                       
                        </ftui-circlemenu>

So aber nicht wie gedacht:
<ftui-circlemenu direction="bottom-half">
                                <ftui-icon path="../images/openautomation/"
class="size-3" [name]="FanSelectorDay |  map('0:vent_ventilation_level_0, 1:vent_ventilation_level_1, 2:vent_ventilation_level_2, 3:vent_ventilation_level_3, offFor60min:vent_ventilation_level_manual_m')" [color]="FanSelectorDay | map('0:blue, 1:green, 2:yellow, 3:danger, offFor60min:danger')"></ftui-icon>
                                <ftui-button (value)="FanSelectorDay" states="0"> <ftui-icon path="../images/openautomation/" [name]=vent_ventilation_level_0 </ftui-icon> </ftui-button>
<ftui-button (value)="FanSelectorDay" states="1"> <ftui-icon path="../images/openautomation/" [name]=vent_ventilation_level_1 </ftui-icon> </ftui-button>
                                <ftui-button (value)="FanSelectorDay" states="2"> <ftui-icon path="../images/openautomation/" [name]=vent_ventilation_level_2 </ftui-icon> </ftui-button>
                                <ftui-button (value)="FanSelectorDay" states="3"> <ftui-icon path="../images/openautomation/" [name]=vent_ventilation_level_3 </ftui-icon> </ftui-button>
                                <ftui-button (value)="FanSelectorDay" states="offFor60min"> <ftui-icon path="../images/openautomation/" [name]=vent_ventilation_level_manual_m </ftui-icon> </ftui-button>                       
                        </ftui-circlemenu>


Wie bekomm ich das hin?
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

Stonemuc

Un ich mach mal nen neunen  Beitrag zwecks Übersicht. Jetzt hab ich das alles soweit ich kann schön umgebaut von FTUI2 auf FTUI3, allerdings schalten meine Buttons nicht - es sendet immer "on" und er ist auch nie als an im FTUI gekennzeichnet. Wo hab ich da nen Fehler?
Mal am Beispiel meiner einfachen Lampe im Flur z.B.:
List vom device:
Internals:
   DEF        FFD1DD02
   FUUID      5c51c5c5-f33f-6467-c57a-cc6491d3edf970db
   IODev      TCM_ESP3_0
   LASTInputDev TCM_ESP3_0
   MSGCNT     43
   NAME       Licht_Flur_EG
   NR         182
   NTFY_ORDER 50-Licht_Flur_EG
   STATE      Aus
   TCM_ESP3_0_DestinationID FFFFFFFF
   TCM_ESP3_0_MSGCNT 43
   TCM_ESP3_0_PacketType 1
   TCM_ESP3_0_RSSI -54
   TCM_ESP3_0_ReceivingQuality excellent
   TCM_ESP3_0_RepeatingCounter 0
   TCM_ESP3_0_SubTelNum 6
   TCM_ESP3_0_TIME 2022-03-20 12:06:25
   TYPE       EnOcean
   READINGS:
     2022-03-15 11:37:19   IODev           TCM_ESP3_0
     2022-01-21 19:40:54   alert           on
     2022-03-20 12:06:24   block           unlock
     2022-03-20 12:06:25   state           off
   helper:
Attributes:
   IODev      TCM_ESP3_0
   alexaName  LichtFlur
   alexaRoom  alexa
   alias      Licht_Flur_EG
   comMode    confirm
   devChannel 255
   eep        A5-38-08
   eventMap   on:An off:Aus
   fp_Erdgeschoss 527,322,0,Licht_Flur_EG,
   genericDeviceType switch
   group      Flur_EG
   gwCmd      switching
   manufID    00D
   room       EnOcean,alexa
   subDef     FF9E6D93
   subType    gateway
   updateState yes
   webCmd     An:Aus


Und mein Code im FTUI:
<ftui-column>
<ftui-button
                shape="circle"
                [(value)]="Licht_Flur_EG"
                [color]="Licht_Flur_EG | map('on:primary, off:dark')">
                         <ftui-icon name="lightbulb" color="medium"></ftui-icon>
            </ftui-button>
<ftui-label text="Flur EG"></ftui-label>
</ftui-column>


Ich schalte es im FTUI an, dann bleibt das ICON aber so wie ausgeschaltet, das Licht brennt und ich kann nur wieder das Kommando on senden wenn ich im FTUI drücke.
Liegt das am longpoll websocket? Benötige ich normalen longpoll 1?
Oder woran kann das liegen? Das binding müsste doch richtig sein...
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe