Closed mifricke closed 4 years ago
ja, das sieht gut aus, auch wenn meine viiiiel älter aussieht
Ich schau noch mal in den Code. Vielleicht habe ich ja eine Änderung nicht übernommen. Gibt es einen Fehler? Welche node-Version hast du? Ach ja, natürlich.... "request-promise" muss als module dazu...
Alles klar! Das war es! Jetzt erhalte ich Daten. Allerdings bei einigen auch nichts. Wobei Modbus wirklich um einiges schöner ist. Das wird wohl auch letztlich meine Wahl werden.
Hast Du schon eine Lösung wie man die Datenpunkte mit bit mask aufdröseln kann? Ich habe da leider keine Beispiele gefunden die ich mit meinen beschränkten Programmierkenntnissen in iobroker umsetzen könnte...
klar, modbus ist eleganter. Würde ich auch nutzen, wenn es ginge. :-)
Datenpunkte spitten? ja, da habe ich was von meiner E3DC als zusätzliches JS. Etwas unschön, aber geht. Suche ich raus
Sorry. Das ist jetzt 1 Jahr alt. Ich habe es vergessen. Ich mach das so, auch wenn die Daten dann natürlich im JS-Zweig landen
// Aufteilung "Modbus Firmware Version" var id = 'modbus.0.holdingRegisters.40002_Modbus_Firmware'; createState('e3dc.modbus.MajorVersion'); createState('e3dc.modbus.MinorVersion'); on(id, function (obj) { setState('e3dc.modbus.MajorVersion', (obj.state.val >> 8) & 0xFF, true); setState('e3dc.modbus.MinorVersion', obj.state.val & 0xFF, true); });
Leider werden bei der Ausführung des Skripts nur die Datenpunkte erstellt, aber dann nicht mit Werten gefüllt.
Vorgehensweise:
Skript von Github kopiert und in iobroker eingefügt. IP im Kopf des Skripts geändert.
Idee warum das nicht funktioniert? Webinterface ist auf der IP erreichbar... Um mal kurz die grundsätzliche Version des Interfaces zu vergleichen, hast Du sowas?
Edit: Per Url im Browser erhalte ich mit dem Link aus dem Skript folgendes:
`#A1 S_OK 192 91
A2 S_OK
192 92`
Sieht also gut aus...