Neues FTUI Widget PinPad für Alarmanlagen

Begonnen von Syrex-o, 09 November 2017, 20:47:13

Vorheriges Thema - Nächstes Thema

Syrex-o

Hey,

Änderungen kannst du in css natürlich selbst vornehmen.
Auf die schnelle sehe ich, dass du auf inputPin verweist aber nur ein unlockPin reading hast.
Das sollte identisch sein.

Habe mir mein Widget schon lange nicht mehr angeguckt.
Heute Abend gibts mehr Infos.

Grüße

Tommy82

Hi, ok dann warte ich mal auf heute Abend, aber in der readingList gibt es ja den inputPin, müsste der dann nicht gefüllt werden? readingList key,inputPin,fails,unlockPin

Ohha, css und ich, wir mögen uns nicht :-) Aber die schönheit guck ich mir an wenn es funktioniert
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Syrex-o

So...
Ich hab das Widget wieder eingebunden und es funktioniert auf Anhieb.
Nur die Popup Funktion geht nicht.
Dafür, muss ich leider ehrlich sagen, ist mir aktuell der Aufwand zu groß, den Fehler zu beheben.
Eventuell musst du mal ein FTUI Update machen.

Folgendes funktioniert sofort:
Gerät definieren:

define Alarm dummy
attr Alarm room Alarmanlage


Dann einmal per "setreading pin" den Pin setzen.

HTML ist dann folgendes:

<div    data-type="pinpad"
                            data-device="Alarm"
                            data-get="STATE"
                            data-get-pin="pin"
                            data-text-locked="scharf"
                        data-text-unlocked="unscharf"
                    data-locked-time="10"
                        data-tries="3"
                        class="center">
                        </div>


Sogar alle Attribute funktionieren noch.
Die Liste aller Einstellungen findest du im ersten Post.
Einfach mal rumprobieren.
Wenn man keine Größe festlegt, dann ist alles so ausgerichtet, dass es passt.
CSS einfach in den lib Ordner.

Ich kann deinen Fehler leider nicht reproduzieren. :-\

Grüße

Tommy82

Hi,
erstmal Danke für deine Mühe,
was meinst du hier mit genau
ZitatDann einmal per "setreading pin" den Pin setzen.

ein "set Alarm setreading pin 0815" ? oder das Attribut setList mit dem Pin anlegen?

Hab deine HTML Code 1 zu 1 übernommen, und bekomme trotzdem sowohl im FF wie auch in Opera die Fehlermeldung:
TypeError: elem.getReading(...).val is undefined, can't access property "length" of it[Learn More] beim Drücken einer Taste

Die FTUI habe ich gestern noch aktualisiert, daran sollte es nicht liegen

Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Syrex-o

Hey,

Du musst einmal einen pin per setreading festlegen, auf den das widget zugreifen kann.

Grüße

Tommy82

Also über ein set Alarm setreading pin 0815!?

Der Dummy sieht dann so aus:
Internals:
   CFGFN     
   NAME       Alarm
   NR         29862
   STATE      setreading pin 0815
   TYPE       dummy
   Helper:
     DBLOG:
       state:
         myDbLog:
           TIME       1538759057.46619
           VALUE      setreading pin 0815
   READINGS:
     2018-10-05 19:04:17   state           setreading pin 0815
Attributes:
   room       Alarm


Die Error meldungen bleiben
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Syrex-o

Jetzt hast du ja als STATE den ganzen Befehl stehen  ;)
Einmal in der Fhem Kommandozeile setreading Alarm pin 1111 eingeben

Grüße

Tommy82

#142
Oh man, manchmal steh ich mir auch auf dem Schlauch  8)
Jetzt kommt der Fehler auch nicht mehr.

Jetzt müsste ich ja eiegntlich nur noch mit einem notify drauf reagieren!?

Wenn ich diese notify nutzen will
define alarm_ntfy notify Alarm:.* {
  my $state = Value("Alarm");
  if ($state eq "on"){
    set Alarmanlage armed 0
  }
  if($state eq "off"){
    set Alarmanlage disarmed 0
  }
}


bekomme ich diese Meldung beim anlegen und sehe den Fehler nicht
Missing right curly or square bracket at (eval 1716) line 1, at end of line
syntax error at (eval 1716) line 1, at EOF

IF: no left bracket: {     set Alarmanlage armed 0   }    if($state eq "off"){     set Alarmanlage disarmed 0   } }
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Syrex-o

Hey,

ist das: define alarm_ntfy notify Alarm:.* {
  my $state = Value("Alarm");
  if ($state eq "on"){
    set Alarmanlage armed 0
  }
  if($state eq "off"){
    set Alarmanlage disarmed 0
  }
}

deine definition in der fhem.cfg direkt?

falls ja, dann sollte es eher so aussehen:
define alarm_ntfy notify Alarm:.* {\
  my $v=Value("Alarm");;\
  if($v eq "on"){\
    fhem("set Alarmanlage armed 0");;\
  } else {\
    fhem(" set Alarmanlage disarmed 0");;\
  }\
}


Ich würde nicht state benutzen, da es da durchaus zu Konflikten kommen kann.

Grüße

Tommy82

Hi,
nein das was ins Kommando Feld eingeben wollte.
Wenn ich deinen empfehlung dort eingebe bekomme ich:

Experimental aliasing via reference not enabled at (eval 3409) line 1.

Hatte mir jetzt nochmal die Platzierung deines Pinpads in meiner FTUI angesehen, und habe den Code dafür so geändert:
<!-- ========= Einbruchmeldeanlage ========== -->
<!-- ====================================== -->
  <!-- Alarmanlage Keypad -->
<li data-row="3" data-col="6" data-sizey="1" data-sizex="1">
   <header>Alarmanlage aktivieren</header>
  <div    data-type="pinpad"
                            data-device="Alarm"
                            data-get="STATE"
                            data-get-pin="pin"
                            data-text-locked="scharf"
                        data-text-unlocked="unscharf"
                    data-locked-time="10"
                        data-tries="3"
                        class="center">
                        </div>
</li>


Wie du aber auf dem Bild sehen kannst, wird das Pad zu hoch angezeigt
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Syrex-o

ZitatWenn ich deinen empfehlung dort eingebe bekomme ich:

Meine Empfehlung ist auch nur direkt für die fhem.cfg.
Probier es mal mit:
define alarm_ntfy notify Alarm:.* {
  my $v=Value("Alarm");
  if($v eq "on"){
    fhem("set Alarmanlage armed 0");
  } else {
    fhem(" set Alarmanlage disarmed 0");
  }
}


Das sollte funktionieren.

ZitatWie du aber auf dem Bild sehen kannst, wird das Pad zu hoch angezeigt
Ja stimmt wohl. Ich hab mich nie so richtig an den standard gehalten.

Entweder du legst beim stylen noch etwas selbst hand an oder ich versuche mal die Tage ein neues PinPad zu schreiben.
Je nach Bedarf...

Grüße

Tommy82

Also das notify funktioniert jetzt, danke dafür.

Was müsste ich denn an hand anlegen beim styling? Kenne es in der FTUI eigentlich so, das man die Widges z.b. über die Listen Elemente mit "li" gruppieren kann, allerdings funktioniert das hier leider nicht
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Syrex-o

Hey,

ZitatWas müsste ich denn an hand anlegen beim styling? Kenne es in der FTUI eigentlich so, das man die Widges z.b. über die Listen Elemente mit "li" gruppieren kann, allerdings funktioniert das hier leider nicht

Folgendes sollte gehen "ungetestet":

Das Pinpad hat eine absolute Positionierung, deshalb schiebt es sich einfach nach oben.
Das kannst du beheben, indem du deinem "li" ein style Attribut gibst.

Das könnte dann so aussehen:

<ul>
  <li>"Anderes Zeug"</li>
  <li style="position:relative;">hier das Pinpad einfügen.</li>
</ul>


Grüße

Tommy82

Hi,
du meinst so?
<!-- ========= Einbruchmeldeanlage ========== -->
<!-- ====================================== -->
  <!-- Alarmanlage Keypad -->

  <li style="position:relative; "data-row="2" data-col="8" data-sizey="1" data-sizex="1">
  <div    data-type="pinpad"
          data-device="Alarm"
          data-get="STATE"
          data-get-pin="pin"
          data-text-locked="scharf"
          data-text-unlocked="unscharf"
          data-locked-time="10"
          data-tries="3"
          class="center">
   </div>
</li>


Ändert sich das ergebnis leider nicht
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Syrex-o

Hey,

Zitat<li style="position:relative;
Dir fehlen Anführungsstriche.
<li style="position:relative;"
Keine Garantie ;)

Bitte erst lesen und ein wenig selber denken oder "recherchieren".

Grüße