Hauptmenü

FTUI version 3

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

Vorheriges Thema - Nächstes Thema

moonsorrox

Ich habe gerade nochmal ein Update gemacht... dazu folgendes

Ich habe im Grid immer folgendes drin gehabt:
<ftui-grid responsive margin="2">
das geht gar nicht da wird das ganze Layout komplett zerschossen


Jetzt habe ich das mal rein gesetzt, weil es bei mir auskommentiert drin stand
<ftui-grid resize margin="2">
das läuft mit dem neuen Update welches ich eben gemacht habe.

Ich weiß jetzt aber nicht ob das noch Gültigkeit hat, aber es funktioniert bei mir grad im Moment.
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

MDietrich

@setstate

Danke für den schnellen Fix, nach dem Update funktioniert 'resize' wieder.

LG
MDietrich
FB 6591 Cable / Raspberry 3b+ (Bookworm) / 4xECHO DOT 4/ Homematic Thermostate, Fenster- und Fenster-Sensoren / Philips HUE / CUL-HM /  Zigbee Schalter und Lampen / Shelly 1

SirMarco

#2147
Zitat von: setstate am 23 Januar 2021, 13:15:34
solange es noch kein ftui-link gibt, kann man <a> benutzen.


target="_blank" scheint nicht zu funktionieren. Workaround:


  <a ftui-binding [href]="AgroWeather:fc0_weather00Icon" onclick="window.open(this.href,'_blank');return false;">Wettericon</a>


Hallo zusammen

wie kann ich dem href noch ein "http://" mit übergeben? Mein Reading vom device zeigt nur die IP ohne "http://" an und die Seite wird nicht geöffnet

Danke

Grüsse

EDIT:
Ein Userreading wäre noch eine Option, aber dann muss ich das jedem Device machen

ip_link {return("http://".ReadingsVal("$name","ip","")."/")}

mr_petz

@SirMarco

Probiere mal so

<a ftui-binding [href]="AgroWeather:fc0_weather00Icon" onclick="window.open('http://'+this.href,'_blank');return false;">Wettericon</a>


LG mr_petz

SirMarco

Das habe ich auch probiert. Klappt leider nicht. Wird auch komisch formatiert in VSCode

Grüsse

mr_petz

#2150
Hi, ich nochmal:

<a ftui-binding [href]="AgroWeather:fc0_weather00Icon" onclick="javascript:window.location.href='http://'+this.href;">Wettericon</a>
<a ftui-binding [href]="AgroWeather:fc0_weather00Icon" onclick="javascript:window.open('http://'+this.href,'_blank');return false;">Wettericon</a>


wenn ich das hier teste mit meinem Testserver(localhost) kommt immer bei meinen Test mit folgenden Codes:
<a ftui-binding href="192.168.0.1" onclick="javascript:window.location.href='http://'+this.href;">Wettericon</a>
<a ftui-binding href="192.168.0.1" onclick="javascript:window.open('http://'+this.href,'_blank');return false;">Wettericon</a>

das raus:

http://127.0.0.1/192.168.0.1
http://http//127.0.0.1/192.168.0.1


Ich frage mich wo du hinwillst???

Edit:
Wenn ich das mit :: mache :

<a ftui-binding href="192.168.0.1" onclick="javascript:window.open('http:://'+this.href,'_blank');return false;">Wettericon</a>


http://127.0.0.1/://http://127.0.0.1/192.168.0.1


und:
Wenn ich das mit \: mache :

<a ftui-binding href="192.168.0.1" onclick="javascript:window.open('http\:/'+this.href,'_blank');return false;">Wettericon</a>


http://127.0.0.1/http://127.0.0.1/192.168.0.1


Der setzt immer den localhost vorn drann... egal ob mit oder ohne ftui-binding


EDIT:
Ich glaube so geht es:

<a ftui-binding [id]="AgroWeather:fc0_weather00Icon" onclick="javascript:window.open('http://'+id,'_blank');return false;">Wettericon</a>

so konnte ich meine Fritzbox-Seite öffnen...
Bei mir war hier ein dummy mit state 192.168.xxx.xxx
Bei den anderen defs. haut glaube das href in die quere...
Ich hoffe in die Richtung wolltest du.?

SirMarco

Danke fürs testen.

Die Idee ist direkt aus FTUI auf das Webinterface vom Device zu kommen.
Werde das über ein userreading anpassen

Danke

Grüsse

mr_petz

#2152
Ich kann es nur nochmal sagen. So geht es:

<a ftui-binding [id]="AgroWeather:fc0_weather00Icon" onclick="javascript:window.open('http://'+id,'_blank');return false;">Wettericon</a>

Du kannst sogar eine IP+Port noch eintragen:

<a ftui-binding [id]="AgroWeather:fc0_weather00Icon" onclick="javascript:window.open('http://127.0.0.1:8083'+id,'_blank');return false;">Wettericon</a>

Der Link sieht dann so aus:
http://127.0.0.1:8083/fhem?detail%3ddummy

Hier muss aber für das = ein URL Encode mit %3d stehen. nur so ging es bei mir ein device aufzurufen.
Das kannst du dann auch mit replace erledigen:

<a ftui-binding [id]="AgroWeather:fc0_weather00Icon" onclick="javascript:window.open('http://'+id.replace(/=/g,'%3d'),'_blank');return false;">Wettericon</a>


LG mr_petz

ps. getestet unter Chrome und FF

SirMarco

Das ist genau das was ich gesucht habe  :)

Hast du kein Spendenkonto?  ;)

Grüsse

mr_petz

Zitat von: SirMarco am 09 Februar 2022, 21:33:42
..
Hast du kein Spendenkonto?  ;)

Grüsse

Ich mache das aus lieber langer Weile für lau ;D und weil ich hier auch viel lernen kann.
Was auch manche Nutzer immer für Ideen haben... ::)

LG mr_petz

mr_petz

#2155
Zitat von: mr_petz am 09 Februar 2022, 21:18:30
Ich kann es nur nochmal sagen. So geht es:

<a ftui-binding [id]="AgroWeather:fc0_weather00Icon" onclick="javascript:window.open('http://'+id,'_blank');return false;">Wettericon</a>

Du kannst sogar eine IP+Port noch eintragen:

<a ftui-binding [id]="AgroWeather:fc0_weather00Icon" onclick="javascript:window.open('http://127.0.0.1:8083'+id,'_blank');return false;">Wettericon</a>

Der Link sieht dann so aus:
http://127.0.0.1:8083/fhem?detail%3ddummy

Hier muss aber für das = ein URL Encode mit %3d stehen. nur so ging es bei mir ein device aufzurufen.
Das kannst du dann auch mit replace erledigen:

<a ftui-binding [id]="AgroWeather:fc0_weather00Icon" onclick="javascript:window.open('http://'+id.replace(/=/g,'%3d'),'_blank');return false;">Wettericon</a>


LG mr_petz

ps. getestet unter Chrome und FF

Ich zitiere mich mal selber.
Mir ist gerade aufgefallen, dass @setstate (der Schlingel hat nichts erwähnt :D) noch ein paar pipes eingebaut hat. Damit wird es einfacher etwas vorn oder hinten anzuhängen:

für vorn: prepend()
für hinten: append()

@SirMarco
Da ist es einfacher für dich und du kannst weiterhin mit href arbeiten und wir bleiben FTUI3-Konform:

<a ftui-binding [href]="AgroWeather:fc0_weather00Icon | prepend('http://')" onclick="javascript:window.open(href,'_blank');return false;">Wettericon</a>


@stefan-dd
Auch hier wäre es mit append() besser:
https://forum.fhem.de/index.php/topic,115259.msg1203014.html#msg1203014
<ftui-image base="icons/" [src]="AV_Receiver:currentStation | append('.png')"></ftui-image>

LG mr_petz

omnior

Ich versuche gerade mit <ftui-image [src]="http://192.168.1.58/cgi-bin/snapshot.cgi" user="xx" password="xx"  interval="300" ></ftui-image>
ein Bild einer webcam einzubinden, aber irgendwie gelingt es mir nicht. Funktioniert da irgendwas noch grundsätzlich nicht? Mache ich da etwas komplett falsch?

mr_petz

Zitat von: omnior am 11 Februar 2022, 15:16:48
Ich versuche gerade mit <ftui-image [src]="http://192.168.1.58/cgi-bin/snapshot.cgi" user="xx" password="xx"  interval="300" ></ftui-image>
ein Bild einer webcam einzubinden, aber irgendwie gelingt es mir nicht. Funktioniert da irgendwas noch grundsätzlich nicht? Mache ich da etwas komplett falsch?

statt [src] -> src verwenden.
[src] erwartet ein device von fhem.
[] -> get
() -> set

<ftui-image src="http://192.168.1.58/cgi-bin/snapshot.cgi" user="xx" password="xx"  interval="300" ></ftui-image>

LG mr_petz

omnior

Danke mr_petz, das habe ich natürlich in meiner Verzweiflung schon ausprobiert gehabt, sämtliche Kombinationen die mir selber eingefallen sind. Die Klammern sind einfach noch Überreste einer der letzten Versuche. Sorry. Leider funktioniert es aber auch ohne die Klammern nicht. Irgendwas anderes fehlt offensichtlich weiterhin.

mr_petz

#2159
Dann wird deine url nicht so stimmen.
Kannn es sein, dass dein string ungefähr so aussieht?:

http://192.168.1.58/cgi-bin/snapshot.cgi?chn=[CHANNEL]&user=[USERNAME]&pass=[PASSWORD]


Wenn ja musst du das user und password in ftui-image weglassen und die url so direkt eintragen.
Wie sieht deine url aus?

LG mr_petz