Code für Homematic 105155 HM-CC-RT-DN

Begonnen von rasti, 16 Februar 2016, 15:08:52

Vorheriges Thema - Nächstes Thema

rasti

Hallo,

ich suche Tablet UI-Code für die o.g. Thermostate....

Ich habe mal folgendes genommen :
http://forum.fhem.de/index.php/topic,37378.msg382514.html#msg382514
Funktioniert eigentlich auch.

Des weiteren habe ich zur Einstellung der Wochenzeiten das hier gefunden:
http://forum.fhem.de/index.php/topic,48646.msg404723.html#msg404723
leider nur Screenshot, kein Code.

Eine zusammenhängende Übersicht hab ich auf Anhieb nicht gefunden,
hat das schon jemand mal "allumfassend" implementiert mit Tablet UI ?

Also
- obiges Element mit Manuell/Auto/Soll/Ist Anzeige
- Einstellung der Wochenprogramme
- Temperaturverlaufskurven (Graph mit z.B.  desired_temp, ist-Temp, Ventilposition)
und könnte freundlicherweise mal den Code hier posten ?

Gruss

Ralf

zap

Zitat von: rasti am 16 Februar 2016, 15:08:52
Des weiteren habe ich zur Einstellung der Wochenzeiten das hier gefunden:
http://forum.fhem.de/index.php/topic,48646.msg404723.html#msg404723
leider nur Screenshot, kein Code.

Ich nehme mal an, dass das Beispiel oben sich nicht auf Homematic Thermostate bezieht. Da sind die Einstellmöglichkeiten mit Wochenprogrammen 1-3 und Wochentag bezogenen Zeiten deutlich komplexer. Zumal die Thermostate beim Setzen der Zeiten immer konsistente, vollständige Wertelisten erwarten (d.h. in den Zeitspannen dürfen keine Lücken/Überschneidungen sein). Das müsste man dann analog zur CCU Oberfläche abbilden, d.h. wenn ich den Endzeitpunkt eines Intervalls ändere, muss sich automatisch der Startzeitpunkt des Folgeintervalls ändern.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

ekur

Hallo Rasti,

Einstellen habe ich sowohl mit Thermostat widget als auch über einfache select widgets (Anzeige der Temperatur mit range widget) umgesetzt. Für mich persönlich ist die select Geschichte netter, da ich mit meinen dicken Fingern bei dem Thermostat widget ziemlich rumfummeln muss.

Eine Graphumsetzung bei mir habe ich mit Chart gemacht, hier ein Mustercode (für logdb):


<div    class="normal" data-type="chart"
                data-device="logdb"
                data-logdevice='["logdb","logdb","logdb"]'
                data-logfile='["HISTORY","HISTORY","HISTORY"]'
                data-columnspec='["HZK_Kueche:measured-temp","HZK_Kueche:desired-temp","HZK_Kueche:actuator"]'
                data-style='["ftui l4fill","ftui l5dot","ftui l0"]'
                data-ptype='["lines","lines","lines"]'
                data-uaxis='["primary","primary","secondary"]'
                data-legend='["Ist-Wert","Ziel-Wert","Ventilstellung"]'
                data-yunit="°C"
                data-ytext="Temperature"
                data-minvalue="10"
                data-maxvalue="35"
                data-yunit_sec="%"
                data-ytext_sec="Ventilstellung (%)"
                data-height="250"
                data-yticks="auto"
                data-minvalue_sec="0"
                data-maxvalue_sec="100"
                data-nofulldays="true"
                data-daysago_start="0"
                data-daysago_end="-1"
                data-cursorgroup="1"
                data-scrollgroup="1"
                data-xticks="auto">
</div>

FHEM 5.8 auf Intel NUC, Visualisierung TabletUI auf Lenovo Tab10, Datenlogging MySQL
CUL_HM  HM-CC-RT-DN, HM-RC, HM-LC-BL1-FM, HM-PBI-4-FM, HM-SEC-SD, HM-SEC-SCo
ZWave
OWDevice:DS1420,DS18B20 an Intel NUC

kvo1

Hallo ekur,

das ist aber nur Chart Teil , würdest Du  ev. auch ein/dein Gesamt FTUi-code dafür posten ? DANKE
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

rasti

Hallo,

welche Farbkombinationen nehmt ihr, um mehrere Kurven übereinander noch gut aussehen zu lassen.
Im Standardfhem konnte man bei den svg dot/ibars/steps usw eingeben aber hier in tablet ui
scheint das nicht zu gehen ?

Hier mal Screenshots von Standard vorher und jetzt mit tablet ui, vorher sieht's fast
besser aus wie jetzt mit tablet ui. Das sollte doch optisch ansprechender hinzukriegen sein ?

Gruss

Ralf

rasti

So,

nun sieht es ein wenig besser aus.

Unten der Code dazu .

Gibt es eine Möglichkeit,die Achsenbeschriftung zu vergrößern ?

Gruss

Ralf



<li data-row="2" data-col="2" data-sizex="6" data-sizey="3" class="semitransparent">
<header><font size="+1">Badezimmer</font></header>
<BR>
<div    class="normal" data-type="chart"
                data-logdevice='["FileLog_HM_2CFD66","FileLog_HM_2CFD66","FileLog_HM_2CFD66"]'
                data-columnspec='["Bad:desired-temp","Bad:actuator","Bad:measured-temp"]'
                data-style='["ftui l2","ftui l1fill","ftui l0fill"]'
                data-ptype='["histeps","lines","histeps"]'
                data-uaxis='["primary","secondary","primary"]'
                data-legend='["Soll-Wert","Ventilstellung","Ist-Wert"]'
                data-yunit="°C"
                data-ytext="Temperatur"
                data-minvalue="10"
                data-maxvalue="35"
                data-yunit_sec="%"
                data-ytext_sec="Ventilstellung (%)"
                data-height="400"
                data-yticks="auto"
                data-minvalue_sec="0"
                data-maxvalue_sec="100"
                data-nofulldays="true"
                data-daysago_start="0"
                data-daysago_end="-1"
                data-cursorgroup="1"
                data-scrollgroup="1"
                data-xticks="auto"
>


</div>

ekur

@ kvo1,

Rest siehe Code von Rasti, da ist alles drin.

@ rasti
Man könnte in der Datei


/www/tablet/css/ftui_chart.css   


den Bereich


/* Definition of the axes generally*/
.text.axes {
        fill: #bbb;
        font-size: 10px;


anpassen.

Aber damit wäre bei einem Update die Änderung auch wieder weg. Wie man das ändert ohne einen Verlust beim Update weiß ich nicht. Bei mir macht es auch keinen Unterschied ob ich in der class "normal" oder "fullsize" stehen habe.




FHEM 5.8 auf Intel NUC, Visualisierung TabletUI auf Lenovo Tab10, Datenlogging MySQL
CUL_HM  HM-CC-RT-DN, HM-RC, HM-LC-BL1-FM, HM-PBI-4-FM, HM-SEC-SD, HM-SEC-SCo
ZWave
OWDevice:DS1420,DS18B20 an Intel NUC

eki

#7
fuer eigene Anpassungen ist schon das ftui_chart.css gedacht, dort lässt sich das Aussehen von fast allen Bestandteilen des Chart anpassen. Der Update Mechanismus sieht auch vor, einzelne Files aus dem Update heraus zu lassen. Einfach mal im Wiki oder in der commandref nachschauen.

[edit]: Das war Blödsinn von mir, sorry: Richtig ist, wenn style Definitionen aus den Standardwerten überschrieben oder erweitert werden sollen, dann sollten diese im fhem-tablet-ui-user.css definiert werden, das wird auch beim Update nicht überschrieben.

rasti

So nun hier meine Lösung für
- Reglereinstellung
- Temperaturverläufe
Vielleicht kanns ja jemand gebrauchen



<li data-row="2" data-col="2" data-sizex="6" data-sizey="3" class="semitransparent">
<header><font size="+1">Badezimmer</font></header>
<font size="+1" color="#CC0000">Solltemperatur</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font size="+1" color="#DDA400">Isttemperatur </font>
        <div    class="normal" data-type="chart"
                data-logdevice='["FileLog_HM_3DFD66","FileLog_HM_3DFD66"]'
                data-columnspec='["Bad:desired-temp","Bad:measured-temp"]'
                data-style='["ftui l2","ftui l0fill"]'
                data-ptype='["histeps","histeps"]'
                data-uaxis='["primary","secondary"]'
                data-legend='["Soll-Wert","Ist-Wert"]'
                data-yunit="°C"
                data-ytext=""
                data-minvalue="10"
                data-maxvalue="35"
                data-yunit_sec="°C"
                data-ytext_sec=""
                data-height="280"
                data-yticks="auto"
                data-minvalue_sec="10"
                data-maxvalue_sec="35"
                data-nofulldays="true"
                data-daysago_start="0"
                data-daysago_end="-1"
                data-cursorgroup="1"
                data-scrollgroup="1"
                data-xticks="auto"
></div>
<font size="+1" color="#BBBBBB">Ventilstellung (%)</font>
        <div    class="normal" data-type="chart"
                data-logdevice='["FileLog_HM_3DFD66"]'
                data-columnspec='["Bad:actuator"]'
                data-style='["ftui l1fill"]'
                data-ptype='["lines"]'
                data-uaxis='["primary","secondary"]'
                data-legend='["Ventilstellung"]'
                data-yunit="%"
                data-ytext=""
                data-minvalue="0"
                data-maxvalue="100"
                data-yunit_sec="%"
                data-ytext_sec=""
                data-height="120"
                data-yticks="auto"
                data-minvalue_sec="0"
                data-maxvalue_sec="100"
                data-nofulldays="true"
                data-daysago_start="0"
                data-daysago_end="-1"
                data-cursorgroup="1"
                data-scrollgroup="1"
                data-xticks="auto"
>



</div>
                                                                                                                                         
</li>




<li data-row="2" data-col="2" data-sizex="1" data-sizey="3" class="semitransparent">
<header><font size="+1">Daniel</font></header>

<table width="100%">
                <tr>     <td> Ist:</td>

                             <td>
<div data-type="label" style="font-size: 200% "
data-device="HM_2E4CE0" data-get="measured-temp" data-unit="%B0C%0A" data-fix="1"
data-limits="[10,18,23]" data-colors='["#0000ff","#00ff00","#ff0000"]' >
</div>
                          </td>
                          </tr>
                            <tr><td> Ventil:</td>
<td> <div data-type="label" style="font-size: 200% "
data-device="HM_2E4CE0" data-get="actuator" data-unit="%" data-fix="1"
data-limits='[0,33,66]' data-colors='["skyblue","darkorange","orangered"]'>
</div>
</td>
</TR>
</table>
<hr>
Reglereinstellung<br><br>
<div data-type="thermostat"
data-device="HM_2E4CE0_Clima" data-get="desired-temp"
                                                         data-set="desired-temp" 
                                                      data-valve="ValvePosition"
                                  data-min="0" data-max="30" data-step="0.5"

data-fgColor="darkorange"
data-height="100px"
data-width="100px">
</div>
<hr>
Modus<br>

<div data-type="multistatebutton"
                                                                             data-device="HM_2E4CE0_Clima"
                                                                             data-get="controlMode"
                                                                             data-get-on='["auto","manual"]'
data-set='["controlMode manual","controlMode auto"]'                                                data-icons='["oa-sani_heating_automatic","oa-sani_heating_manual"]'                                                 data-colors='["darkgreen","darkblue"]'
data-background-icon="fa-square"
data-background-color="grey"
>
</div>

<div data-type="multistatebutton"
                                                                             data-device="HM_2E4CE0"
                                                                        data-get="R-btnLock" data-get-on='["on","off"]'
data-set='["regSet btnLock off","regSet btnLock on"]'
data-icons='["oa-secur_locked","oa-secur_open"]'
data-colors='["darkred","darkblue"]'
data-background-icon="fa-square"
data-background-color="grey"
>
</div>


<div data-type="pagebutton" data-url="temperatur-daniel.html" class="cell" data-icon="fa-area-chart" class="cell"></div>
     


</li>

Ich hätte gerne noch
- Einstellung der Wochenprogramme über Tablet UI
- PIN-Sicherung fürs Thermostat,Multistate und andere widgets ...

Wenn jemand Code dazu hat,bitte posten

Gruss

Ralf

kvo1

Hallo Ralf,

das sieht schon mal SEHR schön aus  ;)

ZitatVielleicht kanns ja jemand gebrauchen

ja einen Teil davon schon, dafür Danke.

ZitatWenn jemand Code dazu hat,bitte posten
Wenn ich soweit bin(zu viele Baustellen) dann poste ich meine Lösung hier auch.

Meine Idee ist nur den Regler darzustellen und dann ein Popup in welchem ich den Mode und ggf. die Zeitprofile ändern kann !

klaus

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

Gunther

Danke fürs Bereitstellen Deines Codes.

Ich habe dazu Fragen:
Mein Button für Manuell - Automatisch ist beim Öffnen das "Schloss" (wie im Screenshot).
Erst wenn ich den Button betätige, zeigt mir Tablet UI den richtigen Status an. Danach wechselt das Ding auch gut durch.

Beim Button-Lock Teil wird immer "... btnLock off" gesendet. Egal wie der Status ist. Der Button sieht immer wie im Screenshot aus.

Muss ich hier noch etwas beachten?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

rasti

Zitat von: Gunther am 22 Februar 2016, 17:08:11
Danke fürs Bereitstellen Deines Codes.

Ich habe dazu Fragen:
Mein Button für Manuell - Automatisch ist beim Öffnen das "Schloss" (wie im Screenshot).
Erst wenn ich den Button betätige, zeigt mir Tablet UI den richtigen Status an. Danach wechselt das Ding auch gut durch.

Beim Button-Lock Teil wird immer "... btnLock off" gesendet. Egal wie der Status ist. Der Button sieht immer wie im Screenshot aus.

Muss ich hier noch etwas beachten?

Ich glaube, dass nur "btnLock off" gesendet wird, weil das Reading noch auf ON steht.
Wenn es auf OFF steht, kann man dann wahrscheinlich auch "btnLock on" senden.
Ach ja,bei mir zumindest heisst das Reading R-btnLock, ggf. auch auf GROSS/klein-Schreibung achten.
Schau dir das Reading des Thermostats doch mal an.
Wenn das Reading da ist muss auch das Icon kommen -wenn nicht fehlt die Grafik in dem entsprechenden Directory.

Gruss

Ralf

Gunther

Super, Ralf. Danke, dass war es.

Damit hat sich auch das 1. Problem mit auto / manuell gelöst.

:D

Habt Ihr eine Idee, wie ich das Sperren für Wandthermostat und Stellventil gleichzeitig hinbekomme?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

Gunther

Und direkt noch eine 2. Frage:

Ich habe nun versucht Boost noch mit einzubauen.

Folgendes Verhalten:
Wenn der Regler auf boost steht, sendet er immer boost, stellt also nicht um.
Wenn der Regler auf auto oder manual steht, schaltet FTUI immer nur zwischen den beiden Modi und nicht auf boost.
Mein Reading sagt "controlMode boost".

Freue mich, wenn Ihr hierzu auch noch eine Idee habt.

<div data-type="multistatebutton"
                data-device="eg_ki_Wandthermostat_Climate"
                data-get="controlMode"
                data-get-on='["auto","manual","boost"]'
data-set='["controlMode manual","controlMode auto","controlMode boost"]'
data-icons='["oa-sani_heating_automatic","oa-sani_heating_manual","fa-fire"]'                                                
data-colors='["darkgreen","darkblue","darkblue"]'
data-background-icon="fa-square"
data-background-color="grey"
>
</div>
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

rasti

Zitat von: Gunther am 22 Februar 2016, 18:12:11
Habt Ihr eine Idee, wie ich das Sperren für Wandthermostat und Stellventil gleichzeitig hinbekomme?

hmmm....vielleicht mit cmdalias in fhem, also aus 1 Befehl 2 machen.... ?

Gruss

Ralf