neues Attribut: uiTable - DOIF User Interface, neues Attribut: DOIF_Readings

Begonnen von Damian, 07 Oktober 2017, 23:29:48

Vorheriges Thema - Nächstes Thema

Damian

Ich würde meinen Tipp beherzigen, dann hast du weniger Fehler:

ZitatDu kannst bei Templates ohne Anführungszeichen arbeiten, das macht die Sache einfacher und damit weniger fehleranfällig.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

RoBra81

Ich habe als Grundlage die Wiki-Beispiele kopiert und da steht es so...
Ich kann es aber gern in meinem Code mal testweise ändern...

Gesendet von meinem SM-G935F mit Tapatalk


RoBra81

Sorry, genau bei dem waren natürlich im Wiki auch keine Leerzeichen [emoji1]

Gesendet von meinem SM-G935F mit Tapatalk


RoBra81

Guten Abend,

gibt es eine Möglichkeit, die Position des Popups festzulegen?

Ronny

LuBeDa

Ich möchte eine URL aus einem Reading in einem uiTable als HTML-Link anzeigen.

Versucht habe ich schon die Template und Funktions Variante.


{
  sub FUNC_Link
  {
  my($url) = @_;
  return ("<a target='_blank' href=". $url . ">".FW_makeImage("it_internet")."</a>");
  }
}

DEF TPL_Link ("<a target='_blank' href=$1>".FW_makeImage("it_internet")."</a>")

## RSS_MyDealz
[RSS_MyDealz:n01_title]|Func_Link([RSS_MyDealz:n01_link])
[RSS_MyDealz:n02_title]|TPL_Link([RSS_MyDealz:n02_link])


Wobei in dem Reading folgendes steht:
2017-12-17 14:27:04   n01_link        https://www.mydealz.de/deals/118-pubg-playerunknowns-battlegrounds-gratis-beim-kauf-einer-xbox-one-x-1097339

Beide Ansätze funktionieren leider nicht.

Kann mir jemand einen Tipp geben?

Ludger

Damian

Zitat von: LuBeDa am 17 Dezember 2017, 15:23:30
Ich möchte eine URL aus einem Reading in einem uiTable als HTML-Link anzeigen.

Versucht habe ich schon die Template und Funktions Variante.


{
  sub FUNC_Link
  {
  my($url) = @_;
  return ("<a target='_blank' href=". $url . ">".FW_makeImage("it_internet")."</a>");
  }
}

DEF TPL_Link ("<a target='_blank' href=$1>".FW_makeImage("it_internet")."</a>")

## RSS_MyDealz
[RSS_MyDealz:n01_title]|Func_Link([RSS_MyDealz:n01_link])
[RSS_MyDealz:n02_title]|TPL_Link([RSS_MyDealz:n02_link])


Wobei in dem Reading folgendes steht:
2017-12-17 14:27:04   n01_link        https://www.mydealz.de/deals/118-pubg-playerunknowns-battlegrounds-gratis-beim-kauf-einer-xbox-one-x-1097339

Beide Ansätze funktionieren leider nicht.


Ich habe TPL_Link mit dem Link über einen Dummy bei mir ausprobiert  - es funktioniert wie erwartet.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Zitat von: RoBra81 am 15 Dezember 2017, 20:36:41
Guten Abend,

gibt es eine Möglichkeit, die Position des Popups festzulegen?

Ronny

Pupup in ein div-Tag einpacken und absolute Position definieren - sollte gehen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

LuBeDa

Zitat von: Damian am 17 Dezember 2017, 16:11:08
Ich habe TPL_Link mit dem Link über einen Dummy bei mir ausprobiert  - es funktioniert wie erwartet.

Bei mir erzeugt er das:
<a target="_blank" href="ReadingValDoIf(HASH(0x6c8e340),'RSS_MyDealz','n01_link')"><svg class=>....</svg></a>

Aber wenn ich nur das Reading anzeige ist alles richtig.

Damian

Zitat von: LuBeDa am 17 Dezember 2017, 17:11:16
Bei mir erzeugt er das:
<a target="_blank" href="ReadingValDoIf(HASH(0x6c8e340),'RSS_MyDealz','n01_link')"><svg class=>....</svg></a>

Aber wenn ich nur das Reading anzeige ist alles richtig.

Du hast Recht. Ich habe wohl TPL_Link mit einem festen String getestet, was aber geht ist


{
sub FUNC_Link
{
  my($url) = @_;
  return ("<a target='_blank' href=". $url . ">".FW_makeImage("it_internet")."</a>");
}
}

"Test:" | FUNC_Link([test_d:state])



Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert

Zitat von: RoBra81 am 15 Dezember 2017, 20:36:41
Guten Abend,

gibt es eine Möglichkeit, die Position des Popups festzulegen?

Ronny
Ist nicht vorgesehen, nur wenn Du es selbst progammierst. uiTable verwendet FW_okDialog aus fhemweb.js.

Kai-Alfonso

Hallo Ihrs,

erstmal wollte ich mich bedanken - für uiTable und für Doif im allgemeinen - ich mache relativ viel mit Doif, weil ich so einfacher und (für mich) logischer zum Erfolg komme.

Hab da aber auch noch eine kleine Frage:

Ich wollte per Slider das Attribut wait ändern, das scheint aber nicht zu funktionieren

"Ausschaltzeit"|WID([$SELF:?wait],"slider,100,50,600,1")

Wo könnte ich evtl einen Fehler haben?

defmod doif.Sonos_Wohnzimmer DOIF ([Sonos_Wohnzimmer:transportState]  =~ "PAUSED_PLAYBACK|STOPPED" and\
[$SELF:aktiviert] eq "An")\
\
(set HM_Steckdose_Wohnzimmer_1 off)
attr doif.Sonos_Wohnzimmer alias Sonos automatisch abschalten
attr doif.Sonos_Wohnzimmer room iPhone,Programme,Wohnzimmer
attr doif.Sonos_Wohnzimmer stateFormat [HM_Steckdose_Wohnzimmer_1:state]
attr doif.Sonos_Wohnzimmer uiTable "Sonos anschalten"|WID([HM_Steckdose_Wohnzimmer_1:state],"uzsuToggle,An,Aus")\
"Aus im Leerlauf"|WID([$SELF:aktiviert],"uzsuToggle,An,Aus")\
"Ausschaltzeit"|WID([$SELF:?wait],"slider,100,50,600,1")
attr doif.Sonos_Wohnzimmer wait 600

setstate doif.Sonos_Wohnzimmer An
setstate doif.Sonos_Wohnzimmer 2017-12-21 12:27:40 aktiviert An
setstate doif.Sonos_Wohnzimmer 2017-12-21 12:29:35 cmd 0
setstate doif.Sonos_Wohnzimmer 2017-12-21 12:29:35 state initialized

Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

Damian

Wie kommst du auf das Fragezeichen bei wait?


"Ausschaltzeit"|WID([$SELF:wait],"slider,100,50,600,1")


funktioniert bei mir ohne Probleme
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Kai-Alfonso

Zitat von: Damian am 21 Dezember 2017, 12:44:37
Wie kommst du auf das Fragezeichen bei wait?


"Ausschaltzeit"|WID([$SELF:wait],"slider,100,50,600,1")


funktioniert bei mir ohne Probleme

Sorry - da hatte ich nen Knoten im Hirn - du hattest natürlich Recht und ich meine mich erinnern zu können, das es auch bei mir ging. Das Fragezeichen ist irgendwie mit aus der readingsGroup Doku mir im Hirn hängengeblieben - dort wird das ? mit Attribute unterstützt. Deswegen war mir der Fehler nicht sofort aufgefallen  ::) :o :o :o

Edit: Mir ist noch was eingefallen - wie übergebe ich denn einen berechneten Wert? Im Slider möchte ich Minuten eingeben und an wait in Sekunden übergebem
Raspi2|nanoCul433|nanoCul868|CCU2
Energie-USBZähler|homebrew HM Devices
DBLog|DBRep|Homematic|Baumarktsteckdosen
Hue|Webcams mit DS-Station (Synology)|Bewegungsmelder|Rollladen|Schalter (IT|HM)

Ellert

Zitat von: Kai-Alfonso am 21 Dezember 2017, 12:32:35
Hallo Ihrs,

erstmal wollte ich mich bedanken - für uiTable und für Doif im allgemeinen - ich mache relativ viel mit Doif, weil ich so einfacher und (für mich) logischer zum Erfolg komme.

Hab da aber auch noch eine kleine Frage:

Ich wollte per Slider das Attribut wait ändern, das scheint aber nicht zu funktionieren

"Ausschaltzeit"|WID([$SELF:?wait],"slider,100,50,600,1")

Wo könnte ich evtl einen Fehler haben?

defmod doif.Sonos_Wohnzimmer DOIF ([Sonos_Wohnzimmer:transportState]  =~ "PAUSED_PLAYBACK|STOPPED" and\
[$SELF:aktiviert] eq "An")\
\
(set HM_Steckdose_Wohnzimmer_1 off)
attr doif.Sonos_Wohnzimmer alias Sonos automatisch abschalten
attr doif.Sonos_Wohnzimmer room iPhone,Programme,Wohnzimmer
attr doif.Sonos_Wohnzimmer stateFormat [HM_Steckdose_Wohnzimmer_1:state]
attr doif.Sonos_Wohnzimmer uiTable "Sonos anschalten"|WID([HM_Steckdose_Wohnzimmer_1:state],"uzsuToggle,An,Aus")\
"Aus im Leerlauf"|WID([$SELF:aktiviert],"uzsuToggle,An,Aus")\
"Ausschaltzeit"|WID([$SELF:?wait],"slider,100,50,600,1")
attr doif.Sonos_Wohnzimmer wait 600

setstate doif.Sonos_Wohnzimmer An
setstate doif.Sonos_Wohnzimmer 2017-12-21 12:27:40 aktiviert An
setstate doif.Sonos_Wohnzimmer 2017-12-21 12:29:35 cmd 0
setstate doif.Sonos_Wohnzimmer 2017-12-21 12:29:35 state initialized



Du musst den Befehl mit setzen:
WID([$SELF:wait],"10,20,30","attr")

Damian

Zitat von: Kai-Alfonso am 21 Dezember 2017, 12:59:08
Sorry - da hatte ich nen Knoten im Hirn - du hattest natürlich Recht und ich meine mich erinnern zu können, das es auch bei mir ging. Das Fragezeichen ist irgendwie mit aus der readingsGroup Doku mir im Hirn hängengeblieben - dort wird das ? mit Attribute unterstützt. Deswegen war mir der Fehler nicht sofort aufgefallen  ::) :o :o :o

Edit: Mir ist noch was eingefallen - wie übergebe ich denn einen berechneten Wert? Im Slider möchte ich Minuten eingeben und an wait in Sekunden übergebem

Mit "Ausschaltzeit"|WID([$SELF:wait],"slider,100,50,600,1")
wird nur ein Reading gesetzt, damit kannst du aber das Attribut berechnen

attr wait [$SELF:wait]*60
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF