FHEM Tablet Ui Widget für Rolladensteuerung

Begonnen von eburkon, 14 Oktober 2015, 21:36:01

Vorheriges Thema - Nächstes Thema

Jens_B

Zitat von: Thorsten Pferdekaemper am 18 Februar 2016, 15:42:05
Hi,
mit HM-Wired wäre das nicht passiert. SCNR...
Vielleicht solltest Du das auch mal im HM-Bereich posten. Meiner Meinung nach ist das Verhalten nicht ganz so toll.
So etwas ist für state ja ok, aber die anderen Readings sollten schon die Werte passend zum Wertebereich haben.
Gruß,
   Thorsten

Ich könnte das dort posten, aber es kann ja keiner ändern ;-). Die Rückmeldung kommt ja so vom Autor, in dem Augenblick wo er den Befehl empfangen hat.

RaspberryPi 4 (Raspian Buster)FHEM+Homebridge
HMLAN für Homematic
Z-Wave USB Stick
Shelly Devices
Fritz!Box 7590Ax

Thorsten Pferdekaemper

Zitat von: Jens_B am 19 Februar 2016, 09:15:50
Ich könnte das dort posten, aber es kann ja keiner ändern ;-). Die Rückmeldung kommt ja so vom Autor, in dem Augenblick wo er den Befehl empfangen hat.
Du meinst wahrscheinlich Aktor. Der Autor des Moduls kann da sehr wohl was tun. Die Geräte senden ja kein "set_-irgendwas". Auf eine Nachricht senden die nur ein ACK, möglicherweise verbunden mit dem aktuellen Wert. Was FHEM dann daraus macht ist Sache des Modulautors (martinp876).
Ich denke sogar, dass Martin das "set_..." da sofort reinschreibt, wenn er die Nachricht an das Modul sendet. D.h. das hat mit der Antwort des Geräts ganz und gar nichts zu tun. Wahrscheinlich kann man sogar das Gerät vom Strom trennen und FHEM schreibt immer noch "set_..." rein.
Richtiger fände ich es, wenn das "set_..." nur im Reading state stehen würde, aber nicht in "level" bzw. "pct". Das liegt sehr wohl in Martins Hand.
Gruß,
   Thorsten
FUIP

Jens_B

Hallo Thorsten,

Ja ich meinte Aktor ;-). Blöde Korrektur auf dem iPad.;-)
Ok, ich dachte das wäre die Rückmeldung des Aktors selber.

Gruss
Jens
RaspberryPi 4 (Raspian Buster)FHEM+Homebridge
HMLAN für Homematic
Z-Wave USB Stick
Shelly Devices
Fritz!Box 7590Ax

Frank13

Hallo allerseits!

Ich versuche mich auch gerade an meinem ersten Rolladen. Die grundlegende Steuerung funktioniert soweit erstmal, nur die Visualisierung haut nicht hin - die Data-Icons (oa-fts_shutter_90 etc.) werden nicht angezeigt. Muß ich dafür noch irgendwas installieren oder wo könnte der Fehler liegen?

Viele Grüße

Frank

Thorsten Pferdekaemper

Zitat von: Frank13 am 22 Februar 2016, 20:48:45Ich versuche mich auch gerade an meinem ersten Rolladen. Die grundlegende Steuerung funktioniert soweit erstmal, nur die Visualisierung haut nicht hin - die Data-Icons (oa-fts_shutter_90 etc.) werden nicht angezeigt. Muß ich dafür noch irgendwas installieren oder wo könnte der Fehler liegen?
Hi,
hast Du das hier drinstehen?

<link rel="stylesheet" href="/fhem/tablet/lib/openautomation.css" />

Gruß,
   Thorsten
FUIP

kvo1

Thorsten war schneller !   

Es stehen auch Openautomation Font-Files zur Verfügung. Wer sie nutzen möchte, muss folgende Stylesheets in die index.html hinzufügen.

   <link rel="stylesheet" href="/fhem/tablet/lib/openautomation.css" />
   <link rel="stylesheet" href="/fhem/tablet/lib/fhemSVG.css" />
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Frank13

Zitat von: Thorsten Pferdekaemper am 22 Februar 2016, 21:09:32
Hi,
hast Du das hier drinstehen?

<link rel="stylesheet" href="/fhem/tablet/lib/openautomation.css" />

Gruß,
   Thorsten

Hi!

NATÜRLICH ............ nicht.............   Danke!

Ist heute irgendwie der Wurm drin bei mir...

Viele Grüße

Frank

jemu75

Hallo an alle "Rolladenbauer"  :)

habe mich vor einiger Zeit auch mit passenden Widgets für meine Rolladen-Aktoren rumgequält.
Bei mir sind es letztlich die ganz normalen Slider in Verbindung mit PopUp's geworden.
Ich greife ausschließlich auf die Icon's von "font awsome" zurück.
Anbei ein Screenshot zum Ideen holen.  :)

Thorsten Pferdekaemper

Zitat von: jemu75 am 22 Februar 2016, 21:59:08Anbei ein Screenshot zum Ideen holen.  :)
Könntest Du mal das Coding für Dein Menue zeigen und die "hoch/runter" Buttons? Ich meine die, bei denen z.B. "manual" im Screenshot steht.
Danke&Gruß,
   Thorsten
FUIP

jemu75

Anbei der Code. Es handelt sich nur um das template für den Rolladen, welches ich in meine "seiten.html" eingebunden habe.


<!DOCTYPE html>
<html>
<head>
<!-- FHEM Tablet UI -->
<!-- Widget für Homematic Jalousieaktor HM-LC-Bl1PBU-FM -->
</head>
<body>
<header>var_name</header>
<div data-type="label" data-device="var_device1" data-get="pct" data-unit="%" class="top-space big thin"></div>

<div data-type="popup" data-height="190px" data-width="250px">
<div data-type="link" data-color="grey" data-border-color="grey" data-icon="fa-sort" class="top-space round">
auf / ab
</div>
<div class="dialog">
<header>Jalousie var_name</header>
<div class="top-space inline">
<div data-type="switch"
data-device="var_device1"
data-get="pct"
data-get-on="25"
data-get-off="((?!25).)*"
data-set="pct"
data-set-on="25"
data-set-off="25"
data-on-color="white"
data-on-background-color="green"
data-icon="fa-minus">
</div>
<div class="mini">25%</div>
</div>
<div class="top-space inline">
<div data-type="switch"
data-device="var_device1"
data-get="pct"
data-get-on="50"
data-get-off="((?!50).)*"
data-set="pct"
data-set-on="50"
data-set-off="50"
data-on-color="white"
data-on-background-color="green"
data-icon="fa-bars">
</div>
<div class="mini">50%</div>
</div>
<div class="top-space inline">
<div data-type="switch"
data-device="var_device1"
data-get="pct"
data-get-on="75"
data-get-off="((?!75).)*"
data-set="pct"
data-set-on="75"
data-set-off="75"
data-on-color="white"
data-on-background-color="green"
data-icon="fa-align-justify">
</div>
<div class="mini">75%</div>
</div>
<div class="newline"></div>
<div class="top-space inline">
<div data-type="switch"
data-device="var_device1"
data-get="pct"
data-get-on="0"
data-get-off="((?!0).)*"
data-set="pct"
data-set-on="0"
data-set-off="0"
data-on-color="white"
data-on-background-color="green"
data-icon="fa-chevron-down">
</div>
<div class="mini">zu</div>
</div>
<div class="top-space inline">
<div data-type="switch"
data-device="var_device1"
data-get="pct"
data-get-on="100"
data-get-off="((?!100).)*"
data-set="pct"
data-set-on="100"
data-set-off="100"
data-on-color="white"
data-on-background-color="green"
data-icon="fa-chevron-up">
</div>
<div class="mini">auf</div>
</div>
</div>
</div>
</div>

<div data-type="slider" data-device="var_device1" data-get="pct" data-set="pct" data-height="113" class="top-space"></div>

<div data-type="symbol" data-device="var_device1" data-get="pct" data-states='[0,1]' data-colors='["red","green"]'  data-icon="fa-align-justify" class="small right"></div>
</body>
</html>

jemu75

Und hier noch die template-Datei für das Menü.  :)


<!DOCTYPE html>
<html>
<head>
<!-- FHEM Tablet UI -->
<!-- Widget für Menü -->
</head>
<body>
<header>Men&uuml;</header>
<div data-type="link" data-color="grey" data-border-color="grey" data-url="test.html" data-icon="fa-home" class="top-space round">Home</div>
<div data-type="link" data-color="grey" data-border-color="grey" data-url="page_EG.html" data-icon="fa-bars" class="top-space round">EG</div>
<div data-type="link" data-color="grey" data-border-color="grey" data-url="page_OG.html" data-icon="fa-bars" class="top-space round">OG</div>
<div data-type="link" data-color="grey" data-border-color="grey" data-url="page_Chart.html" data-icon="fa-bar-chart" class="top-space round">Klima</div>
<div data-type="link" data-color="grey" data-border-color="grey" data-url="page_System.html" data-icon="fa-cog" class="top-space round">System</div>
</body>
</html>


Thorsten Pferdekaemper

FUIP

HoTi

Zitat von: Thorsten Pferdekaemper am 15 Februar 2016, 22:48:50
Hi,
also das beste, was ich bisher habe, sieht so aus:

function rollladen_detail($device, $title) {
echo '
<table>
<tr>
<td>
<div data-type="symbol" class="cell bigger left" data-device="'.$device.'" data-get="level"
    data-icons=\'["oa-fts_window_2w","oa-fts_shutter_10","oa-fts_shutter_20","oa-fts_shutter_30","oa-fts_shutter_40",
"oa-fts_shutter_50","oa-fts_shutter_60","oa-fts_shutter_70","oa-fts_shutter_80",
"oa-fts_shutter_90","oa-fts_shutter_100"]\'
    data-get-on=\'["0","10","20","30","40","50","60","70","80","90","100"]\' data-on-color="#2A2A2A"
data-on-background-color="#aa6900" data-background-icon="fa-square">
</div>
</td>
<td> 
<div class="triplebox-v left" >
<div data-type="push" data-device="'.$device.'" data-icon="fa-chevron-up" data-background-icon="fa-square-o" data-set-on="off" class=""> </div>
<div data-type="push" data-device="'.$device.'" data-icon="fa-minus" data-background-icon="fa-square-o" data-set-on="stop" class=""> </div>
<div data-type="push" data-device="'.$device.'" data-icon="fa-chevron-down" data-background-icon="fa-square-o" data-set-on="on" class=""> </div>
</div>
</td>
<td>
          <div data-type="select" data-device="'.$device.'" data-items=\'["0","10","20","30","40","50","60","70","80","90","100"]\'
       data-alias=\'["Auf","10%","20%","30%","40%","50%","60%","70%","80%","90%","Zu"]\' data-get="" data-set="" class="cell" ></div>
</td>
</tr>
<tr>
<td>
<div style="position:absolute; bottom:0; right:0;"
          data-type="wdtimer"
          data-device="'.$device.'Timer"   
          data-style="round"
          data-theme="dark"
          data-title="Rollladen '.$title.'" 
          data-cmdlist=\'{"Auf":"0","Zu":"100","10%":"10","20%":"20","30%":"30","40%":"40","50%":"50","60%":"60","70%":"70","80%":"80","90%":"90"}\'
        >
       <div data-type="button" class="cell small readonly" data-icon="oa-edit_settings" data-background-icon="fa-square-o"
        data-on-color="#505050" data-on-background-color="#505050">
</div>
        </div>
</td>
</tr>
</table> ';
};

Das ist zwar PHP, aber ich denke, dass es auch so klar wird.
Das Widget für die Timer-Steuerung ist von hier: http://forum.fhem.de/index.php/topic,48106.0.html
Gruß,
   Thorsten

@Thorsten,
erst mal vielen Dank dafür. Ich habe es auch an laufen gebracht (erstmal ohne weekdaytimer).

@all
Ich verzweifel aber gleich warum mir für 0% und 100% kein ICON angezeigt wird.
Kann mir vielleicht jemand helfen? Es wird nur ein orangenes Kästchen angezeigt.

<li data-row="2" data-col="1" data-sizex="3" data-sizey="2" class="halbTransparent">
<header>TEST-CONTAINER</header>
<table>
<tr>
<td>
<div data-type="symbol" class="cell bigger left" data-device="TestRollo" data-get="position"
data-icons='["oa-fts_shutter","oa-fts_shutter_10","oa-fts_shutter_20","oa-fts_shutter_30",
"oa-fts_shutter_40","oa-fts_shutter_50","oa-fts_shutter_60","oa-fts_shutter_70",
"oa-fts_shutter_80","oa-fts_shutter_90","oa-fts_window_100"]'
data-get-on='["0","10","20","30","40","50","60","70","80","90","100"]' data-on-color="#2A2A2A"
data-on-background-color="#aa6900" data-background-icon="fa-square">
</div>
</td>
<td>
<div class="triplebox-v left" >
<div data-type="push" data-device="TestRollo" data-icon="fa-chevron-up" data-background-icon="fa-square-o" data-off-color="#2A2A2A" data-off-background-color="#2A2A2A" data-set-on="open" class=""> </div>
<div data-type="push" data-device="TestRollo" data-icon="fa-minus" data-background-icon="fa-square-o" data-off-color="#2A2A2A" data-off-background-color="#2A2A2A" data-set-on="stop" class=""> </div>
<div data-type="push" data-device="TestRollo" data-icon="fa-chevron-down" data-background-icon="fa-square-o" data-off-color="#2A2A2A" data-off-background-color="#2A2A2A" data-set-on="closed" class=""> </div>
</div>
</td>
<td>
<div data-type="select" data-device="TestRollo" data-items='["position 0","position 10","position 20","position 30","position 40","position 50","position 60","position 70","position 80","position 90","position 100"]'
data-alias='["Auf","10%","20%","30%","40%","50%","60%","70%","80%","90%","Zu"]' data-get="" data-set="" class="cell" ></div>
</td>
</tr>

<tr>
<td>
<div style="position:absolute; bottom:0; right:0;"
data-type="wdtimer"
data-device="TestRollo"   
data-style="round"
data-theme="dark"
data-title="Rollladen Arbeitszimmer"
data-cmdlist='{"Auf":"0","Zu":"100","10%":"10","20%":"20","30%":"30","40%":"40","50%":"50","60%":"60","70%":"70","80%":"80","90%":"90"}'>
<div data-type="button" class="cell small readonly" data-icon="oa-edit_settings" data-background-icon="fa-square-o"
data-on-color="#B28F00">
</div>
</div>
</td>
</tr>
</table>
    </li>

Viele Grüße aus  Oberbayern
Tim (RettungsTim)

Thorsten Pferdekaemper

Zitat von: HoTi am 13 Juni 2016, 15:35:12
Ich verzweifel aber gleich warum mir für 0% und 100% kein ICON angezeigt wird.
Kann mir vielleicht jemand helfen? Es wird nur ein orangenes Kästchen angezeigt.
Wahrscheinlich weil's kein oa-fts_shutter und kein oa-fts_window_100 gibt. Versuch's mal mit oa-fts_window_2w fuer 0% und oa-fts_shutter_100 fuer 100%.
Gruss,
   Thorsten
FUIP

HoTi

Oh man, was habe ich da gerstern nur zu viel rumgespielt :-(

Danke dir!!
Viele Grüße aus  Oberbayern
Tim (RettungsTim)