Hauptmenü

FTUI version 3

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

Vorheriges Thema - Nächstes Thema

khk123

Zitat von: torte am 19 Februar 2021, 07:34:26
Hallo Karlheinz,

so hab das Problem wohl gefunden.

Vielen Dank für deine Dateien, das hat mir geholfen die Augen auf zu machen :P.
Unterschied zwischen Deinen und meinen in der Index.html hab ich noch ein Hidden verarbeitet.

<ftui-content device1="SOO.WeihnachtsBeleuchtung.1" reading="POWER1" devicename="3D Printer" ico="lightbulb-on" [hidden]="SOO.WeihnachtsBeleuchtung.1:POWER1 | map('on:false, off:true')" file="./content/content_system_switch_status.html"></ftui-content>


Sobald das Hidden auf das selbe Reading geht wie die Checkbox zum anzeigen nutzt, zeigt die Checkbox den Status aus fhem nicht an. Nutze ich zb. für Hidden das Reading LWT dann geht alles wunderbar.

Kannst du das vielleicht mal bei Dir prüfen ob das Verhalten bei Dir auch so ist?

Danke und Grüße
Torte

Geht bei mir tadellos. Ist die Lampe an, erscheint die Checkbox. Wird sie ausgeschaltet, ist die Checkbox hidden.
Hab es mit folgenden Definitionen ausprobiert:

<ftui-content device1="K_Licht_links" reading="POWER" devicename="Licht" [hidden]="K_Licht_links:POWER | map('on:false, off:true')" file="inc_test.html"></ftui-content>

und

<ftui-checkbox [value]="{{device1}}:{{reading}} | map('ON: on, OFF: off')" states="off,on" (value)="{{device1}}"></ftui-checkbox>


Ist in deinen Definitionen ico Absicht, oder sollte das icon heißen?

VG
Karlheinz

FHEM6.2, RasPi4, RasPi Zero W,
CUL V3, HM, ZWave, IT, vcontrol, owntracks, alexa

torte

Hi Karlheinz,

das ist Absicht, Ziel unterschiedliche Icons mit der selben Content Datei.

Ich glaube das ist das Problem welches ich schon länger habe, ich aber nicht weiß wo es herkommt.

Beim ersten anbrowsen der Seite wird nicht alles korrekt dargestellt badge zb oder togo Zeiten werden erst nach dem Refresh(F5) angezeigt.

Wenn ich jetzt zweimal F5 drücke werden auch die Stati richtig angezeigt. Manchmal auch beim ersten mal sofort. Bin ratlos zur Zeit.

Danke für deine Hilfe.

Grüße
Torte


torte

Hab mal nochmal alles vom git in ein separates Verzeichnis kopiert.

Dann nur die beiden Schalter eingefügt. Alles andere ist original vom Git.

Browser Chrome www auf dem Fhem Server.

Zweites Bild ist nach F5

khk123

Ich verwende Firefox auf Windows. Hab es aber auch mit Safari und Firefox auf einem iPad probiert. Funktioniert. Ebenfalls mit Chrome auf dem Android-Handy. Aufgefallen ist mir aber, dass beim erstmaligen Anzeigen die Checkbox angezeigt wird und der Status allerdings nicht stimmt. Erst nach einem Schaltvorgang lief alles weitere richtig. Firefos/Windows war da richtig. Ich habe den Eindruck, dass die Stati der Anzeigen manchmal recht spät oder auch garnicht kommen. Bei einer Anzeige mit Firefox/windows von wird das Icon von 17 Batterie-Stati öfter mal nicht korrekt angezeigt. Evtl. braucht die Abfrage bei FHEM zu lange?

VG
Karlheinz
FHEM6.2, RasPi4, RasPi Zero W,
CUL V3, HM, ZWave, IT, vcontrol, owntracks, alexa

mr_petz

#979
Hi, ich habe mal ein wenig gespielt.
Da Wünsche für Weihnachten noch in weiter Ferne sind und ich ein View sperren muss, habe ich mir mit einfachen Mitteln ein PinPad gebastelt.
Wenn setstate oder ein ander Dev das mal richtig machen will, kann er gern machen :).
Wer hier noch Verbesserungen sieht, kann er gern sagen.
Vorlage stammt von hier:
https://forum.fhem.de/index.php/topic,47461.msg689723.html#msg689723

index.html (Auszug)

        <ftui-tab view="View4">
<ftui-button (value)="set keypad_unscharf on; set KeypadDummy locked">
                <ftui-icon name="lightbulb" popup-target="pinpad"></ftui-icon>
</ftui-button>
        </ftui-tab>



<div style="pointer-events:none;">
<ftui-popup id="pinpad"
[trigger]="keypad_unscharf:state | map('on: true, off: false')"
[hidden]="keypad_unscharf:state | map('on:false, off:true')"
width="20%" height="52%" shape="round" timeout="0">
<header>PinPad</header>
<ftui-label color="danger" slot="close" popup-close></ftui-label>
<div style=" display:block; pointer-events:auto;">
<ftui-row height="5%">
<ftui-column margin="1">
<ftui-label
[hidden]="KeypadDummy:inputPin | map('1:false, ``:true')">*
</ftui-label>
<ftui-label
[class-name]="KeypadDummy:inputPin | map('``: blink, ``: blink')"
[hidden]="KeypadDummy:inputPin | map('``:false, 1:true')">-
</ftui-label>
</ftui-column>
<ftui-column margin="1">
<ftui-label [hidden]="KeypadDummy:inputPin | map('11:false, ``:true')">*
</ftui-label>
<ftui-label
[class-name]="KeypadDummy:inputPin | map('1: blink, ``: ')"
[hidden]="KeypadDummy:inputPin | map('1:false, 11:true')">-
</ftui-label>
</ftui-column>
<ftui-column margin="1">
<ftui-label [hidden]="KeypadDummy:inputPin | map('111:false, ``:true')">*
</ftui-label>
<ftui-label
[class-name]="KeypadDummy:inputPin | map('11: blink, ``: ')"
[hidden]="KeypadDummy:inputPin | map('1:false, 111:true')">-
</ftui-label>
</ftui-column>
<ftui-column margin="1">
<ftui-label [hidden]="KeypadDummy:inputPin | map('1111:false, ``:true')">*
</ftui-label>
<ftui-label
[class-name]="KeypadDummy:inputPin | map('111: blink, ``: ')"
[hidden]="KeypadDummy:inputPin | map('1:false, 1111:true')">-
</ftui-label>
</ftui-column>
</ftui-row> 
<ftui-row height="25%">
<ftui-column margin="1">
<ftui-button (value)="KeypadDummy:key" states="1">
<ftui-icon name="rc_1" >
</ftui-icon>
</ftui-button>
</ftui-column>
<ftui-column margin="1">
<ftui-button (value)="KeypadDummy:key" states="2">
<ftui-icon name="rc_2" >
</ftui-icon>
</ftui-button>
</ftui-column>
<ftui-column margin="1">
<ftui-button (value)="KeypadDummy:key" states="3">
<ftui-icon name="rc_3" >
</ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
<ftui-row height="25%">
<ftui-column margin="1">
<ftui-button (value)="KeypadDummy:key" states="4">
<ftui-icon name="rc_4" >
</ftui-icon>
</ftui-button>
</ftui-column>
<ftui-column margin="1">
<ftui-button (value)="KeypadDummy:key" states="5">
<ftui-icon name="rc_5" >
</ftui-icon>
</ftui-button>
</ftui-column>
<ftui-column margin="1">
<ftui-button (value)="KeypadDummy:key" states="6">
<ftui-icon name="rc_6" >
</ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
<ftui-row height="25%">
<ftui-column margin="1">
<ftui-button (value)="KeypadDummy:key" states="7">
<ftui-icon name="rc_7" >
</ftui-icon>
</ftui-button>
</ftui-column>
<ftui-column margin="1">
<ftui-button (value)="KeypadDummy:key" states="8">
<ftui-icon name="rc_8" >
</ftui-icon>
</ftui-button>
</ftui-column>
<ftui-column margin="1">
<ftui-button (value)="KeypadDummy:key" states="9">
<ftui-icon name="rc_9" >
</ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
<ftui-row height="25%">
<ftui-column margin="1">
<ftui-button (value)="KeypadDummy:key" states="<">
<ftui-icon name="delete" >
</ftui-icon>
</ftui-button>
</ftui-column >
<ftui-column margin="1">
<ftui-button (value)="KeypadDummy:key" states="0">
<ftui-icon name="rc_0" >
</ftui-icon>
</ftui-button>
</ftui-column>
<ftui-column margin="1">
<ftui-button (value)="KeypadDummy:key" states="#">
<ftui-icon name="key1" >
</ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
</div>
</ftui-popup>
</div>

    <ftui-tab-view id="View4">
      <ftui-grid-tile row="1" col="2" height="7" width="10" shape="round"
[hidden]="keypad_unscharf:state | map('off:false, on:true')">
                <div class="size-10">Tab4</div>
      </ftui-grid-tile>
    </ftui-tab-view>


in fhem:

defmod keypad_unscharf dummy
attr keypad_unscharf room Heizung
attr keypad_unscharf setList on off


defmod KeypadDummy dummy
attr KeypadDummy alarmDevice Sensor
attr KeypadDummy event-on-change-reading state,inputPin
attr KeypadDummy event-on-update-reading key
attr KeypadDummy genericDeviceType security
attr KeypadDummy readingList key inputPin fails unlockPin
attr KeypadDummy room Heizung
attr KeypadDummy setList unlockPin
attr KeypadDummy userReadings inputPin:key:.[0-9] { return ReadingsVal($NAME, "inputPin", "") . ReadingsVal($NAME, "key", "")},\
fails:key:.# { if (ReadingsVal($NAME, "inputPin", "") ne ReadingsVal($NAME, "unlockPin", "")) { return ReadingsVal($NAME, "fails", 0)+1} else { return 0}},\
state:key:.# { if (ReadingsVal($NAME, "inputPin", "") ne ReadingsVal($NAME, "unlockPin", "")) { return "locked"} else { return "unlocked"}},\
inputPin:key:.[\<] { return  ""},\
inputPin:key:.# { return ""},


defmod KeypadUnlocked notify KeypadDummy:unlocked set keypad_unscharf off
attr KeypadUnlocked room Heizung


Mit <div style="pointer-events:none;"> wird der Hintergrund des Popup von View4 deaktiviert für Tastendrücke/Touch.
ps.: in WebViewControl mit aktueller Android WebView geht es sogar ;)
Ich muss auch nochmal sagen wie toll die [hidden] Funktion ist.

Für mich als Laien reicht das aus (nur noch schön machen :D).
Also wer mag kann es nachstellen.

Ich habe auch schon andere Vorlagen studiert um die in FTUI3 einzufügen, aber da komme ich mit den ganzen DOM/Shadow´s nicht klar.
Hier noch paar Vorlagen für ein PinPad:

https://codepen.io/dcode-software/pen/orXrXQ
https://www.youtube.com/watch?v=wWh8hwgeAMw
https://codepen.io/totalnerd_es/pen/AwKLk
https://code-boxx.com/pure-javascript-numeric-keypad/#sec-download

Gruß Thomas

roman1528

#980
Guten Tag zusammen..

kann es sein, dass beim Button die Pipes nicht richtig laufen?


<ftui-label [text]="PostMe:postme01Cont | replace(',',' ') | part(1)"></ftui-label>
<ftui-button [value]="PostMe:postme01Cont | replace(',',' ') | part(1)" (value)="set PostMe remove LIDL $value" fill="clear">
    <ftui-icon name="check" color="white" invert></ftui-icon>
</ftui-button>


oder habe ich da einen massiven denkfehler?

Reading vom Device ist:
abc,def,ghi,jkl,mno,pqr,stu,vwx,yz

Das Label gibt es richtig aus: abc

Mir ist bewusst, dass ein Button für gewöhnlich on und off spricht, dennoch denke ich, dass das machbar ist was ich da vor habe.
Vielleicht muss man ja noch was mappen... habe ich bereits versucht... aber was bleibt denn schon als
map('.*:on, .*:off')
wenn man den inhalt von part(1) ja theoretisch nicht kennt, weil's einfach alles sein könnte...

Oder hat schon jemand eine funktionierende PostMe-List?

Nachtrag: hat sich wahrscheinlich erledigt, weil die replace-Pipe das nicht hergibt. (nur das erste vorkommen wird ersetzt).
oder: ftui.binding.js
+17 const replaceAll = (find, replace) => input => String(input).replaceAll(find, replace);

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

OdfFhem

@roman1528

Zitat
Nachtrag: hat sich wahrscheinlich erledigt, weil die replace-Pipe das nicht hergibt. (nur das erste vorkommen wird ersetzt).
Stimmt, aber nur auf den ersten Blick ... reguläre Ausdrücke erhöhen die Chance auf erfolgreichen Einsatz deutlich ...


Folgende Beispiele (#1-#7)

  <ftui-label [text]="ftuitest:string"></ftui-label>

  <ftui-label [text]="ftuitest:string | replace(',',' ')"></ftui-label>
  <ftui-label [text]="ftuitest:string | replace(/,/,' ')"></ftui-label>
  <ftui-label [text]="ftuitest:string | replace(/,/g,' ')"></ftui-label>
  <ftui-label [text]="ftuitest:string | replace(/.*/,function (x) { return x.replaceAll(',',' ') })"></ftui-label>

  <ftui-label [text]="ftuitest:string | replace(new RegExp('(ab|mn)','g'),'äöüß')"></ftui-label>
  <ftui-label [text]="ftuitest:string | replace(/[bye]/g,function (x) { return x.toUpperCase() })"></ftui-label>

liefern folgende Ausgabe

abc,def,ghi,jkl,mno,pqr,stu,vwx,yz

abc def,ghi,jkl,mno,pqr,stu,vwx,yz
abc def,ghi,jkl,mno,pqr,stu,vwx,yz
abc def ghi jkl mno pqr stu vwx yz
abc def ghi jkl mno pqr stu vwx yz

äöüßc,def,ghi,jkl,äöüßo,pqr,stu,vwx,yz
aBc,dEf,ghi,jkl,mno,pqr,stu,vwx,Yz


Beispiel #4 wäre wahrscheinlich in Deinem aktuellen Fall interessant. Bei Verwendung von part(1) würde aber auch Beispiel #2 oder #3 reichen; ich gehe aber mal davon aus, dass es auch andere part-Zugriffe gibt ...

Beispiel #6-#7 haben mit dem aktuellen Fall nicht direkt was zu tun, verdeutlichen aber, dass man replace sehr vielfältig einsetzen kann ...


roman1528

Zitat von: OdfFhem am 21 Februar 2021, 06:12:34
Beispiel #4 wäre wahrscheinlich in Deinem aktuellen Fall interessant. Bei Verwendung von part(1) würde aber auch Beispiel #2 oder #3 reichen; ich gehe aber mal davon aus, dass es auch andere part-Zugriffe gibt ...

Moin und Danke.

RegEx ist natürlich eine gute Möglichkeit an die ich immer erst als letztes denke, weil ich da nicht so fit drin bin. Das nächste was ich mich frage: Ist es dann immer noch "Keep it simple"? Ich finde nicht...

Ein ganz anderes Problem, an das ich vorher natürlich nicht gedacht habe, ist, Einträge, die aus mehreren Wörtern bestehen... z.B. "Joghurt mit der Ecke" ...werden natürlich auch in Parts aufgeteilt... Also muss definitiv ein Modul her, welches das eingehende Array nach "Trennzeichen" zerlegt.

Ein paar Post's vorher hat das jemand schon richtig erkannt, dass das mittlerweile, für den Hobby-Coder, sehr undurchschaubar geworden ist durch die ganzen shadow's und was weiß ich was. Habe gestern bereits versucht mich am <ftui-label> zu orientieren... mit nur sehr wenig Erfolg.

Fazit: ich versuche es weiter, werde aber wohl auf eine von setstate oder der Community gelieferten Lösung warten müssen.

Danke trotzdem.

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

OdfFhem

@roman1528

Ich setze PostMe aktuell (noch) nicht ein, aber das kann sich ja noch ändern.

Mich würde interessieren, was Du jetzt (optisch und inhaltlich) genau abbilden willst.

Kannst Du mal Deinen Versuch posten und sagen, was nicht gefällt bzw. fehlt?
(am Besten an einem konkreteren Beispiel)

eurofinder

Vielleicht habe ich es 3  einfach bisher nur überlesen - gibt es eine Möglichkeit ein Slidemenu in FTUI3 zu erstellen. Würde gerne für ein Handy ein ein- ausblendbares Menü nutzen. Wenn ja, hat jemand bitte ein Beispiel?

Gruß und sonniges Wochenende
eurofinder
RPI3+; Raspbian Buster Lite; RPI-RF-MOD; piVCCU3, HMIP-eTRV-2, HmIP-SWDO, HmIP-SRH, HmIP-STHO, HmIP-SLO

roman1528

#985
Zitat von: OdfFhem am 21 Februar 2021, 11:01:45
@roman1528

Ich setze PostMe aktuell (noch) nicht ein, aber das kann sich ja noch ändern.

Mich würde interessieren, was Du jetzt (optisch und inhaltlich) genau abbilden willst.

Kannst Du mal Deinen Versuch posten und sagen, was nicht gefällt bzw. fehlt?
(am Besten an einem konkreteren Beispiel)

Für FTUI 2 gab es ein PostMe-Widget (s.u.)

Das habe ich versucht mit Boardmitteln in FTUI 3 nach zu bauen.

Im PostMe-Modul (FHEM) wird der Listenname und die Liste in je einem Reading abgelegt. Das Trennzeichen in der Liste kann selbst bestimmt werden (Standard ist Komma, Leerzeichen geht nicht).

Ich frage also derzeit die ganze Liste (Reading) ab, schmeiße die Kommas raus und filtere dann mit part(). Das geht so lange gut, wie nur ein Wort im Listeneintrag steht (siehe vorheriger Post /Joghurt und so).
Der nächste griff ins Klo passiert dann bei [hidden]... Gibt es z.B. part(6) nicht wird trotzdem angezeigt und die ganze Liste dargestellt. Filter für [hidden] ist natürlich auch schwierig, weil man ja theoretisch nicht wissen kann was drin steht, bzw. es ja immer was anderes sein kann.

Hier mal mein Versuch:

<ftui-grid-tile row="4" col="3" height="9" width="10" shape="round" [hidden]="PostMe:list1 | map('.*:true, LIDL:false')">
<header>Eintr&auml;ge</header>
<ftui-row height="10%" [hidden]="PostMe:postme01Cont | replace(/,/g,' ') | part(1) | map('.*:false, ``:true')">
<ftui-column width="60%">
<ftui-label [text]="PostMe:postme01Cont | replace(/,/g,' ') | part(1)"></ftui-label>
</ftui-column>
<ftui-column>
<ftui-button [value]="PostMe:postme01Cont | replace(/,/g,' ') | part(1) | map('on:.*, off:.*')" (value)="set PostMe remove LIDL $value" fill="clear">
<ftui-icon name="check" color="white" invert></ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
<ftui-row height="10%" [hidden]="PostMe:postme01Cont | replace(/,/g,' ') | part(2) | map('.*:false, ``:true')">
<ftui-column width="60%">
<ftui-label [text]="PostMe:postme01Cont | replace(/,/g,' ') | part(2)"></ftui-label>
</ftui-column>
<ftui-column>
<ftui-button [value]="PostMe:postme01Cont | replace(/,/g,' ') | part(2)" (value)="set PostMe remove LIDL $value" fill="clear">
<ftui-icon name="check" color="white" invert></ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
<ftui-row height="10%" [hidden]="PostMe:postme01Cont | replace(/,/g,' ') | part(3) | map('.*:false, ``:true')">
<ftui-column width="60%">
<ftui-label [text]="PostMe:postme01Cont | replace(/,/g,' ') | part(3)"></ftui-label>
</ftui-column>
<ftui-column>
<ftui-button [value]="PostMe:postme01Cont | replace(/,/g,' ') | part(3)" (value)="set PostMe remove LIDL $value" fill="clear">
<ftui-icon name="check" color="white" invert></ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
<ftui-row height="10%" [hidden]="PostMe:postme01Cont | replace(/,/g,' ') | part(4) | map('.*:false, ``:true')">
<ftui-column width="60%">
<ftui-label [text]="PostMe:postme01Cont | replace(/,/g,' ') | part(4)"></ftui-label>
</ftui-column>
<ftui-column>
<ftui-button [value]="PostMe:postme01Cont | replace(/,/g,' ') | part(4)" (value)="set PostMe remove LIDL $value" fill="clear">
<ftui-icon name="check" color="white" invert></ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
<ftui-row height="10%" [hidden]="PostMe:postme01Cont | replace(/,/g,' ') | part(5) | map('.*:false, ``:true')">
<ftui-column width="60%">
<ftui-label [text]="PostMe:postme01Cont | replace(/,/g,' ') | part(5)"></ftui-label>
</ftui-column>
<ftui-column>
<ftui-button [value]="PostMe:postme01Cont | replace(/,/g,' ') | part(5)" (value)="set PostMe remove LIDL $value" fill="clear">
<ftui-icon name="check" color="white" invert></ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
<ftui-row height="10%" [hidden]="PostMe:postme01Cont | replace(/,/g,' ') | part(6) | map('.*:false, ``:true')">
<ftui-column width="60%">
<ftui-label [text]="PostMe:postme01Cont | replace(/,/g,' ') | part(6)"></ftui-label>
</ftui-column>
<ftui-column>
<ftui-button [value]="PostMe:postme01Cont | replace(/,/g,' ') | part(6)" (value)="set PostMe remove LIDL $value" fill="clear">
<ftui-icon name="check" color="white" invert></ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
<ftui-row height="10%" [hidden]="PostMe:postme01Cont | replace(/,/g,' ') | part(7) | map('.*:false, ``:true')">
<ftui-column width="60%">
<ftui-label [text]="PostMe:postme01Cont | replace(/,/g,' ') | part(7)"></ftui-label>
</ftui-column>
<ftui-column>
<ftui-button [value]="PostMe:postme01Cont | replace(/,/g,' ') | part(7)" (value)="set PostMe remove LIDL $value" fill="clear">
<ftui-icon name="check" color="white" invert></ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
<ftui-row height="10%" [hidden]="PostMe:postme01Cont | replace(/,/g,' ') | part(8) | map('.*:false, ``:true')">
<ftui-column width="60%">
<ftui-label [text]="PostMe:postme01Cont | replace(/,/g,' ') | part(8)"></ftui-label>
</ftui-column>
<ftui-column>
<ftui-button [value]="PostMe:postme01Cont | replace(/,/g,' ') | part(8)" (value)="set PostMe remove LIDL $value" fill="clear">
<ftui-icon name="check" color="white" invert></ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
<ftui-row height="10%" [hidden]="PostMe:postme01Cont | replace(/,/g,' ') | part(9) | map('.*:false, ``:true')">
<ftui-column width="60%">
<ftui-label [text]="PostMe:postme01Cont | replace(/,/g,' ') | part(9)"></ftui-label>
</ftui-column>
<ftui-column>
<ftui-button [value]="PostMe:postme01Cont | replace(/,/g,' ') | part(9)" (value)="set PostMe remove LIDL $value" fill="clear">
<ftui-icon name="check" color="white" invert></ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
<ftui-row height="10%" [hidden]="PostMe:postme01Cont | replace(/,/g,' ') | part(10) | map('.*:false, ``:true')">
<ftui-column width="60%">
<ftui-label [text]="PostMe:postme01Cont | replace(/,/g,' ') | part(10)"></ftui-label>
</ftui-column>
<ftui-column>
<ftui-button [value]="PostMe:postme01Cont | replace(/,/g,' ') | part(10)" (value)="set PostMe remove LIDL $value" fill="clear">
<ftui-icon name="check" color="white" invert></ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
<ftui-row height="10%" [hidden]="PostMe:postme01Cont | replace(/,/g,' ') | part(11) | map('.*:false, ``:true')">
<ftui-column width="60%">
<ftui-label [text]="PostMe:postme01Cont | replace(/,/g,' ') | part(11)"></ftui-label>
</ftui-column>
<ftui-column>
<ftui-button [value]="PostMe:postme01Cont | replace(/,/g,' ') | part(11)" (value)="set PostMe remove LIDL $value" fill="clear">
<ftui-icon name="check" color="white" invert></ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
<ftui-row height="10%" [hidden]="PostMe:postme01Cont | replace(/,/g,' ') | part(12) | map('.*:false, ``:true')">
<ftui-column width="60%">
<ftui-label [text]="PostMe:postme01Cont | replace(/,/g,' ') | part(12)"></ftui-label>
</ftui-column>
<ftui-column>
<ftui-button [value]="PostMe:postme01Cont | replace(/,/g,' ') | part(12)" (value)="set PostMe remove LIDL $value" fill="clear">
<ftui-icon name="check" color="white" invert></ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
<ftui-row height="10%" [hidden]="PostMe:postme01Cont | replace(/,/g,' ') | part(13) | map('.*:false, ``:true')">
<ftui-column width="60%">
<ftui-label [text]="PostMe:postme01Cont | replace(/,/g,' ') | part(13)"></ftui-label>
</ftui-column>
<ftui-column>
<ftui-button [value]="PostMe:postme01Cont | replace(/,/g,' ') | part(13)" (value)="set PostMe remove LIDL $value" fill="clear">
<ftui-icon name="check" color="white" invert></ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
<ftui-row height="10%" [hidden]="PostMe:postme01Cont | replace(/,/g,' ') | part(14) | map('.*:false, ``:true')">
<ftui-column width="60%">
<ftui-label [text]="PostMe:postme01Cont | replace(/,/g,' ') | part(14)"></ftui-label>
</ftui-column>
<ftui-column>
<ftui-button [value]="PostMe:postme01Cont | replace(/,/g,' ') | part(14)" (value)="set PostMe remove LIDL $value" fill="clear">
<ftui-icon name="check" color="white" invert></ftui-icon>
</ftui-button>
</ftui-column>
</ftui-row>
</ftui-grid-tile>


[hidden]="PostMe:list1 | map('.*:true, LIDL:false')" (Zeile 1) setze ich per Dropdown und ist für die eigentliche Liste irrelevant.

Der ftui-button funktioniert auch (noch) nicht. Da weiß ich aber echt nicht was das Problem ist. Von wegen 'Keep it simple' :P ;D

Grüße^^ ...erstmal...
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

rallye

Mahlzeit !

Nachdem ich nun doch schon einige Zeit mit FHEM meine Hütte automatisiert habe, habe ich mich ans FTUI herangemacht. Ich habe wie im WIKI beschrieben die Installationsprozedur durchgeführt und mir ein paar Seiten abgekupfert. Dann bin ich drauf gekommen, dass es eine neue Version V3 gibt und habe mir gedacht: da fang ich gleich mal damit an. Komatibilitätsprobleme konnte ich keine feststellen - ich hatte ja noch fast nichts auf meinen Seiten.
Doch heute machte ich mal Updates (mit der FTUI-Installation kamen Update-Buttons mit die ungefähr so aussehen):
defmod systemCommands weblink cmdList system_fhem:Reload:rereadcfg system_fhem_update:Update:update system_fhem_update:Update-Check:update+check system_fhem_reboot:Restart:shutdown+restart it_smartphone:Update-TabletUI:update+all+https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt it_smartphone:Update-Tablet-Widgets:update+all+https://raw.githubusercontent.com/nesges/Widgets-for-fhem-tablet-ui/master/controls_widgets-for-fhem-tablet-ui.txt
attr systemCommands group FHEM-Wartung
attr systemCommands room Server

setstate systemCommands initialized


Dann habe uch noch ein
update
shutdown restart


durchgeführt. Und dann war ich überrascht. Denn plötzlich sehe ich auf meinem Tablet-UI die Uhr und die Statistics nicht mehr. Eine Untersuchung meiner Seite ergibt:
:8083/fhem/ftui/js/widget_clock.js:2 Uncaught ReferenceError: loadplugin is not defined
    at :8083/fhem/ftui/js/widget_clock.js:2
:8083/fhem/ftui/js/widget_klimatrend.js:2 Uncaught ReferenceError: loadplugin is not defined
    at :8083/fhem/ftui/js/widget_klimatrend.js:2


Habe ich meine Installation "zerschossen" und ist diese nun "unsauber" - ein Mix zwische V2 und V3 ? Wie kann ich das bereinigen ?

Danke für die Unterstützung !
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

moonsorrox

du mußt auf jeden Fall zwei verschiedene Ordner wählen einer noch für FTUI 2 und einer für die 3.
Habe ich jedenfalls so und beide laufen zusammen  ;)
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

roman1528

Zitat von: rallye am 21 Februar 2021, 13:12:08
Mahlzeit !

Nachdem ich nun doch schon einige Zeit mit FHEM meine Hütte automatisiert habe, habe ich mich ans FTUI herangemacht. Ich habe wie im WIKI beschrieben die Installationsprozedur durchgeführt und mir ein paar Seiten abgekupfert. Dann bin ich drauf gekommen, dass es eine neue Version V3 gibt und habe mir gedacht: da fang ich gleich mal damit an. Komatibilitätsprobleme konnte ich keine feststellen - ich hatte ja noch fast nichts auf meinen Seiten.
Doch heute machte ich mal Updates (mit der FTUI-Installation kamen Update-Buttons mit die ungefähr so aussehen):
defmod systemCommands weblink cmdList system_fhem:Reload:rereadcfg system_fhem_update:Update:update system_fhem_update:Update-Check:update+check system_fhem_reboot:Restart:shutdown+restart it_smartphone:Update-TabletUI:update+all+https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt it_smartphone:Update-Tablet-Widgets:update+all+https://raw.githubusercontent.com/nesges/Widgets-for-fhem-tablet-ui/master/controls_widgets-for-fhem-tablet-ui.txt
attr systemCommands group FHEM-Wartung
attr systemCommands room Server

setstate systemCommands initialized


Dann habe uch noch ein
update
shutdown restart


durchgeführt. Und dann war ich überrascht. Denn plötzlich sehe ich auf meinem Tablet-UI die Uhr und die Statistics nicht mehr. Eine Untersuchung meiner Seite ergibt:
:8083/fhem/ftui/js/widget_clock.js:2 Uncaught ReferenceError: loadplugin is not defined
    at :8083/fhem/ftui/js/widget_clock.js:2
:8083/fhem/ftui/js/widget_klimatrend.js:2 Uncaught ReferenceError: loadplugin is not defined
    at :8083/fhem/ftui/js/widget_klimatrend.js:2


Habe ich meine Installation "zerschossen" und ist diese nun "unsauber" - ein Mix zwische V2 und V3 ? Wie kann ich das bereinigen ?

Danke für die Unterstützung !

update all https://raw.githubusercontent.com/knowthelist/ftui/master/controls_ftui.txt

Dann wird FTUI 3 automatisch nach /ftui installiert und /tablet bleibt wie es ist.

Backup laden... Befehl oben ausführen und Spass haben^^

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

Reinhart

Button und FS20 ?

hat von euch jemand Erfahrung mit FS20 Komponenten? Ich kann diese einschalten aber nicht mehr aus, es wird dann immer nur der "on" Befehl gesendet. Schalte ich in Fhem um ändert sich das Icon in Blau, also wird der Status richtig erkannt. Der selbe Code bei einem HM oder MQTT funktioniert fehlerfrei.

    <ftui-grid-tile row="6" col="1" height="4" width="1" shape="round">
      <header>Eingang</header>
      <div class="cell">
      <ftui-button [(value)]="Eingang"
                 [fill]="Eingang:state | map('on|set_on:solid, off|set_off:outline')"
                 [color]="Eingang:state | map('on|set_on:primary, off|set_off:medium')"
                 shape="circle" states="on,off" class="size-3">
                 <ftui-icon path="../images/openautomation/"
                 [name]="Eingang:state | map('on|set_on:light_outdoor, off|set_off:light_outdoor')"
                 [class-name]="Eingang:state | map('set_on|set_off:blink, on|off:')"></ftui-icon>
      </ftui-button>
      </div> 
    </ftui-grid-tile>


Ich habe schon vieles probiert, komme aber da nicht weiter.

Internals:
   BTN        05
   DEF        eb6e 05
   FUUID      5c44db9c-f33f-27bd-69cd-1b770ae89a29cfcf
   IODev      mapleCUN
   NAME       Eingang
   NR         475
   STATE      Ein
   TYPE       FS20
   XMIT       eb6e
   CODE:
     1          eb6e 05
   READINGS:
     2021-02-21 16:15:44   state           on
Attributes:
   IODev      mapleCUN
   alexaName  eingangslicht
   alexaRoom  alexaroom
   alias      Eingangslicht
   devStateIcon Aus:rc_RED:Ein Ein:rc_GREEN:Aus
   eventMap   on:Ein off:Aus
   fp_Garten  171,837,1,Eingang,
   fp_Grundriss 596,366,1,Eingang
   group      Licht
   icon       light_outdoor
   model      fs20st
   room       Licht,_Garten,_Wohnzimmer,alexaroom
   webCmd     Ein:Aus

ein List des FS20 Devices, es ist egal ob sich um einen Wandschalter oder einer Steckdose handelt, der Fehler ist bei beiden da. In der FTUI V2 funktioniert das.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa