Hallo Paul,
schon mal vielen Dank für deine Antwort und LÖSUNG!!! 😄
Ich habe diese heute morgen mal Studiert und ausprobiert.
Da meine JS-Kenntnisse sich auf 0,1% definieren lassen(0,1% = ich weiß das es einen JS-Adapter gibt. ENDE :lol: ), war es nicht ganz so einfach wie gedacht :lol:
Aber ich denke ich habe es jetzt verstanden und mal versucht es für JS-Anfänger zu beschreiben.
Ich hatte bei dem Import noch eine Fehlermeldung die ich jetzt hoffentlich berichtigt habe?
function dec2bool(in) { (habe ich in dp geändert)
for(var i = 0; i < 8; i++) {
var b = !!(in >> i & 1); (habe ich in dp geändert)
(Es läuft auf jeden fall bei mir mal)
Nur ich denke das der Weg "Rückwärts", also DOs zu schreiben doch nicht so einfach ist wie gedacht. Aber ich werde es demnächst versuchen und mein Ergebnis Posten 😄
`const idVar = 'ASIM.Telegram.MODBUS_DI2'; // Datenpunkt-ID Modbus Input
var name = 'Modbus.DI_2'; //Legt 8 Datenpunkte im Javascript-Objektordner an
var bits = [false,false,false,false,false,false,false,false];
for(var i = 0; i < 8; i++) {
var di = 8 - i;
createState(name + di, false, {type: 'boolean'});
}
function dec2bool(dp) { // function = js befehl / dec2bool = frei vergebener Name für die Funktion / dp = temporäre Variable für die funktion
for(var i = 0; i < 8; i++) {
var b = !!(dp >> i & 1);
if(b != bits[i]) {
var di = 8 - i;
setState(name + di, b, true);
bits[i] = b;
}
}
}
on(idVar, function(dp) { // Triggern bei Wertänderung
dec2bool(dp.state.val);
})`[/i][/i]