NEWS
Fhem adapter - auf Aliasname von obj zugreifen
-
Hallo,
ich habe einen einfachen trgger geschrieben und will den alias des fhem devices in log schreiben. Leider klappt das nicht so ganz
var timeout; var waitTime =1000*10; var reg = new RegExp("^fhem\\.\\d+\\.MAX_\\d*\\.state$"); on(reg , function (obj) { var name = obj.alias; var value = obj.state.val; var oldValue = obj.oldState.val; var aussentemp = getState("fhem.1.WPL13.AUSSENTEMP").val if (aussentemp < 15 && value == 'opened') { timeout = setTimeout(function () { log(name+'ist seit '+(waitTime/1000)+' Sekunden offen und draußen sind es nur '+aussentemp+ "°C"); }, waitTime); } else { (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})(); } });
obj.name ist undefined, obwohl in den objects der fhem alias korrekt angezeigt. Ich habe auch schon
`obj.channel
obj.channel.val
obj.state.alias
obj.state.alias.val`
probiert. Leider ohne Erfolg.
Was mache ich falsch?
Gruß Frank
9139_iobroker_objects.png -
Versuche es mal mit
var name = obj.channelName;
-
Wenn Du wirklich auf den Wert des Datenpunktes alias zugreifen willst, ist es etwas komplizierter.
var id = obj.id.substr(0, obj.id.indexOf('.state')); id = id + '.Attributes.alias'; var name = getState(id).val;
-
Danke. Funktioniert
var id = [color]obj.id.substr[/color](0, obj.id.indexOf('.state')); id = id + '.Attributes.alias'; var name = getState(id).val;
Gruß Frank
-
Funktioniert `
Das Thema im Betreff des ersten Beitrags bitte als [gelöst] markieren.