Hallo,
ich versuche gerade einen switch zu bauen für meinen Heizkörperthermostat. Der Switch soll beim Betätigen den Wert aus Wohnzimmer night-temp (bzw der andere auf day-temp) auslesen und mittels set desired-temp setzen.
In irgendeinem Thread hier habe ich etwas in der Art und Weise gesehen:
<div data-type="switch"
data-device="Wohnzimmer"
data-set="desired-temp"
data-get="desired-temp"
data-set-on="<Wohnzimmer>:<day-temp>"
data-get-on="22.0"
data-lock="desired-temp"
data-lock-on="22.0"
data-lock-off="!22.0"
data-icon="fa-sun-o"
class="cell top-align"></div>
Das gleiche wäre dann beim data-get-on und beim data-lock-on bzw die Invertierung beim data-lock-off benötigt.
Das ganze wird dann benutzt für zwei switches- einen um die Raumtemperatur (desired-temp) auf die "night-temp" bzw. die "day-temp" zu setzen.
Geht das so? Oder vielleicht so ähnlich?
Der Lock ist leider nötig, damit im eingeschalteten Zustand der Switch nicht betätigt werden kann und dann einen off schickt und die Heizung komplett ausschaltet.
Danke und viele Grüsse,
Marco
Hallo Marco, da hatten wir wohl fast zeitgleich die selbe Überlegung. Schau mal hier, was setstate dazu für einen Lösungsansatz hat. https://forum.fhem.de/index.php/topic,67787.0.html (https://forum.fhem.de/index.php/topic,67787.0.html)
data-set-on="[Wohnzimmer:day-temp]"
Das würde im Prinzip funktionieren, aber zumindest bei HM Thermostaten hat das Reading nicht das richtige Format. Da steht dann "21 C" drin, erwartet wird aber "21.0". Vom Prinzip her kann man so aber einen Reading Wert weiterreichen.
Hallo,
super. Das
data-set-on="[Wohnzimmer:day-temp]"
ist genau was ich gesucht habe. Bei FHT80B funktioniert das auch (und ist einfacher als per userreading und notify).
Nur: beim data-set-on geht es aber nicht beim data-get-on (beim data-lock-on habe ich noch nicht getestet).
Schade das wäre dann echt super und trivial gewesen.
Viele Grüsse,
Marco
Hallo,
ich bin endlich mal dazu gekommen an meinem UI weiter zu machen. Allerdings habe ich mit dem switch immer noch so meine Probleme. So funktioniert es:
<div
data-type="switch"
data-device="Badezimmer"
data-set="desired-temp"
data-get="desired-temp"
data-set-on="[Badezimmer:day-temp]"
data-get-on="22.0" data-lock="desired-temp"
data-lock-on="22.0" data-lock-off="!22.0"
data-icon="fa-sun-o" >
</div>
Ist aber eben unschön hier die Werte für data-get-on, data-lock-on und data-lock-off tatsächlich als Zahl eintragen zu müssen. Schöner wäre es natürlich so:
<div
data-type="switch"
data-device="Badezimmer"
data-set="desired-temp"
data-get="desired-temp"
data-set-on="[Badezimmer:day-temp]"
data-get-on="[Badezimmer:day-temp]"
data-lock="desired-temp"
data-lock-on="[Badezimmer:day-temp]"
data-lock-off="![Badezimmer:day-temp]"
data-icon="fa-sun-o" >
</div>
Aber sobald ich in data-get-on statt des Werts den Ausdruck verwende erscheint nicht einmal mehr der switch im UI.
Hat einer von euch eine Idee, was ich da machen könnte? Die Idee dahinter ist es eine andere Art von Thermostat zu haben (siehe Bild)
Oder eben wie im verlinkten Thread per notify (wäre aber einiges aufwändiger daher hoffe ich immer noch auf diesen Weg).
Danke und viele Grüsse,
Marco
Ich habe eine Update gemacht, jetzt wird das so unterstützt
Eventuell fehlt noch ein
data-get-off="!on"
Damit das selbständige Ausschalten erfolgt
Und es muss
data-lock-off="!on"
heißen. Bedeutet "alles außer der Wert von lock-on"
Hi,
Zitat von: setstate am 04 August 2017, 02:04:08
Ich habe eine Update gemacht, jetzt wird das so unterstützt
Klasse. Ich habe per
update all https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt und shutdown restart das dann auch eingespielt.
Nur leider geht es nicht.
Sobald ich nur den data-get-on vom Wert auf die Variable umstelle lädt auf der ganzen Seite kein einziges Icon mehr (nicht mal mehr die Icons im Homestatus werden geladen). Sobald ich die Änderung wieder rückgängig mache (auf Wert zurück) werden die Icons geladen.
Was kann da schieflaufen?
Danke und viele Grüsse,
Marco
PS hier noch der geht Zustand:
<div
data-type="switch"
data-device="Badezimmer"
data-set="desired-temp"
data-get="desired-temp"
data-set-on="[Badezimmer:night-temp]"
data-get-on="18.0"
data-lock="desired-temp"
data-lock-on="18.0"
data-lock-off="!18.0"
data-get-off="!18.0"
data-icon="fa-moon-o"
class="cell top-align">
</div>
geht nicht:
<div
data-type="switch"
data-device="Badezimmer"
data-set="desired-temp"
data-get="desired-temp"
data-set-on="[Badezimmer:night-temp]"
data-get-on="[Badezimmer:night-temp]"
data-lock="desired-temp"
data-lock-on="18.0"
data-lock-off="!18.0"
data-get-off="!18.0"
data-icon="fa-moon-o"
class="cell top-align">
</div>
Gibt es Fehlermeldungen in der Web Console?
Das sagt die Console:
Try to init plugin: switch
jquery.min.js:2 jQuery.Deferred exception: Cannot read property 'val' of null TypeError: Cannot read property 'val' of null
at r.fn.init.$.fn.matchingState (http://zarafa:8083/fhem/ftui_eval/js/fhem-tablet-ui.js:1969:49)
at HTMLDivElement.<anonymous> (http://zarafa:8083/fhem/ftui_eval/js/widget_famultibutton.js:522:42)
at Function.each (http://zarafa:8083/fhem/ftui_eval/lib/jquery.min.js:2:2815)
at r.fn.init.each (http://zarafa:8083/fhem/ftui_eval/lib/jquery.min.js:2:1003)
at String.<anonymous> (http://zarafa:8083/fhem/ftui_eval/js/widget_famultibutton.js:510:18)
at Function.each (http://zarafa:8083/fhem/ftui_eval/lib/jquery.min.js:2:2815)
at Object.update (http://zarafa:8083/fhem/ftui_eval/js/widget_famultibutton.js:508:11)
at http://zarafa:8083/fhem/ftui_eval/js/fhem-tablet-ui.js:1320:40
at i (http://zarafa:8083/fhem/ftui_eval/lib/jquery.min.js:2:27983)
at fireWith (http://zarafa:8083/fhem/ftui_eval/lib/jquery.min.js:2:28749) undefined
Das taucht aber nur auf in der nicht funktionierenden Version. In der anderen sieht die Console gut aus.
Viele Grüsse,
Marco
Okay, es sieht so aus, als ob der Wert nicht im Cache gefunden wird. Das Abo sollte aber angelegt werden, habe ich extra eingebaut.
Erstelle mal testweise ein Label daneben, was das Reading night-temp anzeigt. Dann müsste der Wert auch für den Switch verfügbar sein.
Wenn ich einfach (im nicht funktionierenden Zustand) ein entsprechendes Label hinzufüge passiert nichts. Nehme ich aber dann den funktionierenden Zustand (mit Wert statt Variable) wird das Label angezeigt. Danach kann ich im switch dann umstellen auf variable statt wert und es funktioniert (auch nachdem ich das label wieder gelöscht habe).
Durch die Aktion ist der Wert jetzt im Cache. Es war nicht gegeben, welche Widget zuerst dran ist. Vermutlich Switch vor Label. Dadurch trat der Fehler wieder auf.
Ich werde mal zuhause nachschauen, warum das indirekte Reading nicht bekannt ist.
Hallo,
seit dem letzten update (2.6.17) werden bei mir (code seit Monaten unverändert) einige switches und label nicht mehr angezeigt. Alles andere geht noch. Kann das damit zusammenhängen?
Schöne Grüße
Jo
Hi,
Zitat von: setstate am 04 August 2017, 11:38:38
Ich werde mal zuhause nachschauen, warum das indirekte Reading nicht bekannt ist.
konntest du schon herausbekommen, was da schief läuft?
Danke und viele Grüsse,
Marco
Ich habe keinen Fehler gefunden. Referenzierte Readings erscheinen in der jsonlist Anfrage an FHEM ohne das man Hilfs-Label verbauen muss. Die Anfrage sieht man sehr gut in den Entwicklertools des Browsers unter Netzwerk...
Zitat von: setstate am 09 August 2017, 10:10:43
Ich habe keinen Fehler gefunden. Referenzierte Readings erscheinen in der jsonlist Anfrage an FHEM ohne das man Hilfs-Label verbauen muss. Die Anfrage sieht man sehr gut in den Entwicklertools des Browsers unter Netzwerk...
hm. Und wie kann man dann den bei mir aufgetretenen Effekt erklären? Der Fehler war ja in der Chrome Console sichtbar und nach Verwendung des Labels weg. Auf anderen Devices funktioniert die Seite weiterhin nicht...
Danke und viele Grüsse,
Marco
Hi,
gibt es irgendwas was ich tun/liefern kann um das Problem zu lösen?
Danke und viele Grüsse,
Marco
Hallo,
seit dem letzten Update werden bei mir die Symbole der Mülltonnen nicht mehr angezeigt. Hängt dies evtl. auch mit den hier beschriebenen Änderungen zusammen? Meine Definition dafür ist:
<div data-type="symbol"
data-background-icon="none"
data-device="myAbfall"
data-get="muellkalender_Biotonne_tage"
data-off-color="#606060"
data-get-on='["off","^[01]$","^[1-9][0-9]|[2-9]$"]'
data-icons='["fa-trash-o warn","fa-trash-o warn blink","fa-trash-o warn"]'
data-colors='["Saddlebrown","Saddlebrown","Saddlebrown"]'
class="largeplus autohide"
></div>
Die Web-Console (Firefox auf Windows) bringt folgende Meldung (ich kenne mich da nicht aus und weiß nicht ob das weiterhilft):
ZitatUnbekannte Eigenschaft 'speak'. Deklaration ignoriert. fhemSVG.css:14:6
Unbekannte Eigenschaft '-moz-osx-font-smoothing'. Deklaration ignoriert. fhemSVG.css:23:24
Unbekannte Eigenschaft 'speak'. Deklaration ignoriert. fhem-tablet-ui.css:73:9
Unbekannte Eigenschaft '-moz-osx-font-smoothing'. Deklaration ignoriert. fhem-tablet-ui.css:80:27
Unbekannte Eigenschaft '-moz-box-shadow'. Deklaration ignoriert. fhem-tablet-ui.css:270:19
Fehler beim Verarbeiten des Wertes für 'display'. Deklaration ignoriert. fhem-tablet-ui.css:492:11
Fehler beim Verarbeiten des Wertes für 'display'. Deklaration ignoriert. fhem-tablet-ui.css:991:13
Fehler beim Verarbeiten des Wertes für 'display'. Deklaration ignoriert. fhem-tablet-ui.css:1025:13
Fehler beim Verarbeiten des Wertes für 'white-space'. Deklaration ignoriert. fhem-tablet-ui.css:1653:16
Fehler beim Verarbeiten des Wertes für 'white-space'. Deklaration ignoriert. fhem-tablet-ui.css:1654:16
Fehler beim Verarbeiten des Wertes für 'white-space'. Deklaration ignoriert. fhem-tablet-ui.css:1655:16
Fehler beim Verarbeiten des Wertes für 'display'. Deklaration ignoriert. fhem-tablet-ui.css:1662:13
Fehler beim Verarbeiten des Wertes für 'width'. Deklaration ignoriert. fhem-tablet-ui.css:2528:11
Fehler beim Verarbeiten des Wertes für 'width'. Deklaration ignoriert. fhem-tablet-ui.css:2529:11
Fehler beim Verarbeiten des Wertes für 'height'. Deklaration ignoriert. fhem-tablet-ui.css:2531:12
Fehler beim Verarbeiten des Wertes für 'height'. Deklaration ignoriert. fhem-tablet-ui.css:2532:12
Fehler beim Verarbeiten des Wertes für 'width'. Deklaration ignoriert. fhem-tablet-ui.css:2540:11
Fehler beim Verarbeiten des Wertes für 'width'. Deklaration ignoriert. fhem-tablet-ui.css:2541:11
Fehler beim Verarbeiten des Wertes für 'height'. Deklaration ignoriert. fhem-tablet-ui.css:2543:12
Fehler beim Verarbeiten des Wertes für 'height'. Deklaration ignoriert. fhem-tablet-ui.css:2544:12
Unbekannte Eigenschaft 'appearance'. Deklaration ignoriert. fhem-tablet-ui.css:2627:14
Unbekannte Pseudoklasse oder Pseudoelement '-ms-expand'. Regelsatz wegen ungültigem Selektor ignoriert. fhem-tablet-ui.css:2632:8
Unbekannte Eigenschaft '-moz-osx-font-smoothing'. Deklaration ignoriert. font-awesome.min.css:4:586
Unbekannte Eigenschaft 'speak'. Deklaration ignoriert. openautomation.css:12:9
Unbekannte Eigenschaft '-moz-osx-font-smoothing'. Deklaration ignoriert. openautomation.css:20:27
Base dir: /fhem/tablet/ fhem-tablet-ui.js:2063:1
initPage: Timer gestartetfhem-tablet-ui.js:626
initPage: 130.53msfhem-tablet-ui.js:682
initPage: Timer gestartetfhem-tablet-ui.js:626
get jsonlist2: Timer gestartetfhem-tablet-ui.js:780
Fehler beim Verarbeiten des Wertes für 'display'. Deklaration ignoriert. swiper.min.css:15:416
Unbekannte Eigenschaft '-moz-box-lines'. Deklaration ignoriert. swiper.min.css:15:1035
Unbekannte Eigenschaft '-moz-background-size'. Deklaration ignoriert. swiper.min.css:15:2295
Unbekannte Eigenschaft 'appearance'. Deklaration ignoriert. swiper.min.css:15:5376
Fehler beim Verarbeiten des Wertes für 'background-image'. Deklaration ignoriert. swiper.min.css:15:7369
Fehler beim Verarbeiten des Wertes für 'background-image'. Deklaration ignoriert. swiper.min.css:15:7809
Fehler beim Verarbeiten des Wertes für 'background-image'. Deklaration ignoriert. swiper.min.css:15:8253
Fehler beim Verarbeiten des Wertes für 'background-image'. Deklaration ignoriert. swiper.min.css:15:8694
initPage: 905.97msfhem-tablet-ui.js:682
get jsonlist2: 669.26msfhem-tablet-ui.js:786
read jsonlist2: Timer gestartetfhem-tablet-ui.js:787
read jsonlist2: 1.53ms
Viele Grüße
Achim
Wenn gar nichts mehr angezeigt wird, liegt dass vermutlich am class='autohide' .
Wenn es kein Reading "muellkalender_Biotonne_tage" beim Device "myAbfall" gibt, wird das Element versteckt.
Wenn ich den Code bei mir reinkopiere und mein "ftuitest" Dummy und Reading "state" eintrage, funktioniert alles.
Auch mit einem "setreading ftuitest muellkalender_Biotonne_tage 5" und data-get="muellkalender_Biotonne_tage" klappt es.
Zitat von: MarcoE am 11 August 2017, 13:22:37
Hi,
gibt es irgendwas was ich tun/liefern kann um das Problem zu lösen?
Danke und viele Grüsse,
Marco
Beim data-get-on klappt es nur ohne die [ ],
data-get-on="ftuitest:night-temp"
und
data-lock-off="!on"
data-get-off="!on"
anstatt
data-lock-off="!18.0"
data-get-off="!18.0"
Hi,
Zitat von: setstate am 15 August 2017, 01:48:47
Beim data-get-on klappt es nur ohne die [ ],
data-get-on="ftuitest:night-temp"
hm leider nicht. data-lock-on habe ich jetzt fix auf "18.0" belassen.
Solange ich data-get-on auch auf "18.0" setze geht es.
Ändere ich es entweder auf
Arbeitszimmer:night-temp oder
[Arbeitszimmer:night-temp] bekomme ich folgende Fehlermeldung in der console:
Uncaught TypeError: Cannot read property 'val' of null
at r.fn.init.$.fn.matchingState (fhem-tablet-ui.js:1969)
at HTMLDivElement.<anonymous> (widget_famultibutton.js:522)
at Function.each (jquery.min.js:2)
at r.fn.init.each (jquery.min.js:2)
at String.<anonymous> (widget_famultibutton.js:510)
at Function.each (jquery.min.js:2)
at Object.update (widget_famultibutton.js:508)
at Object.<anonymous> (fhem-tablet-ui.js:285)
at Function.each (jquery.min.js:2)
at Object.update (fhem-tablet-ui.js:282)
und dann werden keinerlei Icons mehr angezeigt.
Viele Grüsse,
Marco
PS: der Vollständigkeit halber:
<div data-type="switch"
data-device="Arbeitszimmer"
data-set="desired-temp"
data-get="desired-temp"
data-set-on="[Arbeitszimmer:night-temp]"
data-get-on="Arbeitszimmer:night-temp"
data-lock="desired-temp"
data-lock-on="18.0"
data-lock-off="!on"
data-get-off="!on"
data-icon="fa-moon-o"
class="left-align cell small">
</div>
<div data-type="label" data-device="Arbeitszimmer" data-get="measured-temp" data-unit="%B0C%0A" class="top-align cell large"></div>
liefert die obengenannte Fehlermeldung
in meiner Version fange ich den Fehler schon ab. Ich habe das Update jetzt hochgeladen ...
Zitat von: setstate am 15 August 2017, 19:55:05
in meiner Version fange ich den Fehler schon ab. Ich habe das Update jetzt hochgeladen ...
Vielen Dank! Jetzt funktioniert es!
Viele Grüsse,
Marco
Hallo,
hast du was an dem Verhalten der Buttons geändert? Nun senden meine Buttons nichts mehr...
Mein Coding sieht weiterhin so aus:
<div
data-type="switch"
data-device="Wohnzimmer"
data-set="desired-temp"
data-get="desired-temp"
data-set-on="[Wohnzimmer:night-temp]"
data-get-on="Wohnzimmer:night-temp"
data-lock="desired-temp"
data-lock-on="Wohnzimmer:night-temp"
data-lock-off="!on"
data-get-off="!on"
data-icon="fa-moon-o"
class="left-align cell">
</div>
Sobald ich den data-set-on wieder auf einen fixen Wert umstelle funktioniert es aber nicht mit dem verwendeten Konstrukt.
Viele Grüsse,
Marco