NEWS
Frage Javascript "on-id-change"
JavaScript
45
Beiträge
3
Kommentatoren
4.6k
Aufrufe
5
Watching
-
ich kann das grad nicht testen. gibt das den State "hm-rpc.0.xxxx.1.LEVEL" oder den Namen "Terrassentür links.LEVEL" aus?
@sveni_lee
Den Namen "Terrassentür links.LEVEL". -
dp.id -
@sveni_lee sagte:
DP "Festverglasung rechts.WORKING" der geht auf true solange der Rollladen in Bewegung ist.
Ich wollte nun den DP als auslöser verwendenconst idFestRechtsWork = getIdByName('Festverglasung rechts.WORKING'); const idFestRechtsLevel = getIdByName('Festverglasung rechts.LEVEL'); var rechtslevel = getState(idFestRechtsLevel).val; // Initialisierung bei Skriptstart on(idFestRechtsLevel, function(dp) { // Triggern bei Wertänderung rechtslevel = dp.state.val; }); on(idFestRechtsWork, function(dp) { if(!dp.state.val) { // Änderung auf false // Nachricht mit Auswertung von rechtslevel } });so, es hat zwar etwas gedauert aber ich habe es hinbekommen.
var Rolllaeden = ["hm-rpc.0.WWWW.1.WORKING"/*Terrassentür links.WORKING*/, "hm-rpc.0.XXXX.1.WORKING"/*Terrassentür rechts.WORKING*/, "hm-rpc.0.YYYY.1.WORKING"/*Festverglasung links.WORKING*/, "hm-rpc.0.ZZZZ.1.WORKING"/*Festverglasung rechts.WORKING*/]; var start_position; var end_position; on(Rolllaeden, function(dp) { if(dp.state.val) { start_position = getState((dp.id).replace('WORKING', 'LEVEL')).val; } if(!dp.state.val) { end_position = getState((dp.id).replace('WORKING', 'LEVEL')).val; if(end_position > start_position) sendTo("telegram.0", "send", { text: dp.common.name.replace(".WORKING", "") + " geöffnet auf: " + end_position + "%" }); if(end_position < start_position) sendTo("telegram.0", "send", { text: dp.common.name.replace(".WORKING", "") + " geschlossen auf: " + (100 - end_position) + "%" }); } });Danke für eure hilfe... :-)