FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: darkon am 02 Januar 2018, 14:30:33

Titel: Javascript Problem - Wert wird nicht neu ausgelesen
Beitrag von: darkon am 02 Januar 2018, 14:30:33
Hallo zusammen,

habe folgendes Problem. Ich bastel mir gerade selber einen Switch-Button. Dabei wird zuerst der Wert meines dummys eingelesen und anschließend auf aus oder an gesetzt. Also ein einfacher Wechsel des Zustandes. Dieses funktioniert auch soweit. Leider wird das einlesen


var status_ftui = ftui.getDeviceParameter(objID,'state').val;


nur einmalig ausgeführt. Wie muss ich den Code ändern das bei jedem Klick der Status neu eingelesen wird?


function getStatus (objID){
     var status_ftui = ftui.getDeviceParameter(objID,'state').val;
     return status_ftui;
}

function setStatus (objID) {
     var status_ftui = getStatus(objID);
     if(status_ftui == "an") {
          ftui.setFhemStatus('set SUN_SZ_Rollo_Fenster_Hoch_Status aus');
     }
     else {
  ftui.setFhemStatus('set SUN_SZ_Rollo_Fenster_Hoch_Status an');
     }
}
Titel: Antw:Javascript Problem - Wert wird nicht neu ausgelesen
Beitrag von: viegener am 02 Januar 2018, 19:08:48
Vielleicht vermisse ich nur mehr Infos aus dem Text kann ich jedenfalls nur begrenzt helfen:

Wenn Du getStatus  bei jedem Click aufrufen willst, musst Du es ja wohl an den Click-Event binden in Deinem Button binden

Generell ist mir aber nicht klar, was Du eigentlich machen willst? Einen Button, der auf einen Click ein Kommando in FHEM auslöst und sich dann aktualisiert ist irgendwie doch schon Teil des TabletUI?
Titel: Antw:Javascript Problem - Wert wird nicht neu ausgelesen
Beitrag von: darkon am 02 Januar 2018, 20:24:21
Sorry für meine sperrlichen Auskünfte. Am liebsten würde ich einfach einen Switch aus dem Tablet UI verwenden, welcher den Status von "SUN_SZ_Rollo_Fenster_Hoch_Status" wechselt und anzeigt. Dieser dummy sorgt dafür, ob ich meine Rollos per Helligkeit oder durch eine definierte Uhrzeit schalte.

Um das ganze optisch hübscher zu gestalten sollen meine data-types "datetimepicker" und "slider" jeweils nur angezeigt werden, wenn sie benötigt werden. Also das "datetimepicker" wenn es uhrzeitgesteuert und "slider" wenn es helligkeitsgesteuert ist. Das hatte ich bis vor ein paar Updates des famultibutton auch per zusätzlichem onclick und einer passenden Javascript-Funktion gelöst. Leider wird vom famultibutton aber kein click oder touch Event mehr gehandelt. Am PC läuft alles einwandfrei, jedoch nicht auf meinen Tablets oder Mobiltelefonen.

Daher versuche ich mir gerade einen eigenen Switch zu bauen, wo ich aber stark an meine Grenzen im Bereich der Programmierung komme.
Titel: Antw:Javascript Problem - Wert wird nicht neu ausgelesen
Beitrag von: setstate am 03 Januar 2018, 09:03:34
Setze die beiden optionalen Controls doch in ein eigenes DIV, was durch einen classchanger-Widget versteckt/gezeigt wird. Das macht man dann vom Status des dummys abhängig.
Titel: Antw:Javascript Problem - Wert wird nicht neu ausgelesen
Beitrag von: darkon am 03 Januar 2018, 09:35:04
Vielen Dank. Das Widget hatte ich noch nicht auf dem Schirm. Funktioniert auf anhieb.