NEWS
Supportthread Resol-Adapter
-
// Create or extend object /* createOrExtendObject(id, objData, value) { const self = this; this.getObject(id, function (err, oldObj) { if (!err && oldObj) { self.extendObject(id, objData, () => { if (typeof value !== 'undefined') self.setState(id, value, true); }); } else { self.setObjectNotExists(id, objData, () => { if (typeof value !== 'undefined') self.setState(id, value, true); }); } }); } */ createOrExtendObject(id, objData, value) { const self = this; // Hole das aktuelle Objekt, um zu überprüfen, ob es bereits existiert this.getObject(id, function (err, oldObj) { if (!err && oldObj) { // Objekt existiert bereits, nur den Wert des States aktualisieren const currentState = self.getState(id) ? self.getState(id).val : undefined; // Nur den State setzen, wenn sich der Wert geändert hat if (typeof value !== 'undefined' && currentState !== value) { self.setState(id, value, true); // State nur aktualisieren, wenn der Wert sich geändert hat } } else { // Objekt existiert noch nicht - setze es mit den Metadaten self.setObjectNotExists(id, objData, () => { // Bei der ersten Erstellung setzen wir auch den Wert if (typeof value !== 'undefined') { self.setState(id, value, true); } }); } }); }iobroker/node-modules/iobroker.resol/main.js
Ca. Ab Zeile 882 , das "Auskommentierte" ist das Orginal
Den Teil danach hab ich von ChatGPT .......gemacht bekommen .Scheint so zu Funktionieren.......
Ich hab das (ChatGPT) zum ersten mal Benutzt , bin nicht mal Angemeldet....MFG noio
-
Ich hab jetzt auch einen debug Log von der Ausgabe wenn ich unter den Actions was umstelle....
resol.0 2025-11-25 19:34:02.068 debug Finishing runshot ... resol.0 2025-11-25 19:34:02.067 error [runShot] Error: Error: Unable to complete value {"valueId":"Heizung_Heizkreis2_Betriebsart","value":3} resol.0 2025-11-25 19:34:02.005 debug Start Optimizer resol.0 2025-11-25 19:34:02.005 debug options1 {"deviceAddress":32273,"version":2} resol.0 2025-11-25 19:34:02.004 debug Found master with address 0x7e11 resol.0 2025-11-25 19:34:00.015 debug Finishing loadMyConfig... resol.0 2025-11-25 19:34:00.015 error TypeError: Cannot read properties of undefined (reading 'cmd') resol.0 2025-11-25 19:34:00.009 debug options1 {"deviceAddress":32273,"version":2} resol.0 2025-11-25 19:33:59.059 debug Waiting for free bus... resol.0 2025-11-25 19:33:59.059 debug myJSON: [{"valueId":"Heizung_Heizkreis2_Betriebsart","value":3}] resol.0 2025-11-25 19:33:59.059 debug Finishing Dpfunction... resol.0 2025-11-25 19:33:59.058 debug [{"valueId":"Heizung_Heizkreis2_Betriebsart","value":3}] resol.0 2025-11-25 19:33:59.058 debug getDpFunction jsoncontrollerSetupItems->item {"name":"Heizung_Heizkreis2_Betriebsart","cmd":"Heizung_Heizkreis2_Betriebsart","val":"val"} resol.0 2025-11-25 19:33:59.058 debug "getDpFunction jsoncontrollerSetupItems [object Object]" resol.0 2025-11-25 19:33:59.058 debug State :3 resol.0 2025-11-25 19:33:59.057 debug State of Object: {"val":3,"ack":false,"ts":1764095639054,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1764095639054} resol.0 2025-11-25 19:33:59.056 debug Change on Object: "resol.0.007E110010.Actions.Heizung_Heizkreis2_Betriebsart" resol.0 2025-11-25 19:33:00.015 debug Finishing loadMyConfig... resol.0 2025-11-25 19:33:00.015 error TypeError: Cannot read properties of undefined (reading 'cmd') resol.0 2025-11-25 19:33:00.010 debug options1 {"deviceAddress":32273,"version":2} resol.0 2025-11-25 19:32:37.001 debug Finishing runshot ... resol.0 2025-11-25 19:32:37.001 error [runShot] Error: TypeError: Cannot read properties of undefined (reading 'reduce') resol.0 2025-11-25 19:32:36.999 debug Save config undefined resol.0 2025-11-25 19:32:36.999 debug Optimizer savedConfig = loadedConfig resol.0 2025-11-25 19:32:36.997 debug options1 {"deviceAddress":32273,"version":2} resol.0 2025-11-25 19:32:36.996 debug Found master with address 0x7e11 resol.0 2025-11-25 19:32:35.019 debug Waiting for free bus... resol.0 2025-11-25 19:32:35.018 debug myJSON: undefined resol.0 2025-11-25 19:32:35.018 debug Finishing Dpfunction... resol.0 2025-11-25 19:32:35.018 error [getDpFunction] : fctItem not defined! resol.0 2025-11-25 19:32:35.018 debug getDpFunction jsoncontrollerSetupItems->item {"name":"Heizung_Heizkreis2_Betriebsart","cmd":"Heizung_Heizkreis2_Betriebsart","val":"val"} resol.0 2025-11-25 19:32:35.018 debug "getDpFunction jsoncontrollerSetupItems [object Object]" resol.0 2025-11-25 19:32:35.017 debug State :0 resol.0 2025-11-25 19:32:35.017 debug State of Object: {"val":0,"ack":false,"ts":1764095555014,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1764095555014} resol.0 2025-11-25 19:32:35.016 debug Change on Object: "resol.0.007E110010.Actions.Heizung_Heizkreis1_Betriebsart"Heizkreis 2 bekommt nach wie vor keinen Namen......und kann auch nicht benannt werden......

Ansonsten Funktioniert der Adapter bei mir anstandslos fehlerfrei...
Nochmal vielen vielen DankMFG Noio
-
Ich hab jetzt auch einen debug Log von der Ausgabe wenn ich unter den Actions was umstelle....
resol.0 2025-11-25 19:34:02.068 debug Finishing runshot ... resol.0 2025-11-25 19:34:02.067 error [runShot] Error: Error: Unable to complete value {"valueId":"Heizung_Heizkreis2_Betriebsart","value":3} resol.0 2025-11-25 19:34:02.005 debug Start Optimizer resol.0 2025-11-25 19:34:02.005 debug options1 {"deviceAddress":32273,"version":2} resol.0 2025-11-25 19:34:02.004 debug Found master with address 0x7e11 resol.0 2025-11-25 19:34:00.015 debug Finishing loadMyConfig... resol.0 2025-11-25 19:34:00.015 error TypeError: Cannot read properties of undefined (reading 'cmd') resol.0 2025-11-25 19:34:00.009 debug options1 {"deviceAddress":32273,"version":2} resol.0 2025-11-25 19:33:59.059 debug Waiting for free bus... resol.0 2025-11-25 19:33:59.059 debug myJSON: [{"valueId":"Heizung_Heizkreis2_Betriebsart","value":3}] resol.0 2025-11-25 19:33:59.059 debug Finishing Dpfunction... resol.0 2025-11-25 19:33:59.058 debug [{"valueId":"Heizung_Heizkreis2_Betriebsart","value":3}] resol.0 2025-11-25 19:33:59.058 debug getDpFunction jsoncontrollerSetupItems->item {"name":"Heizung_Heizkreis2_Betriebsart","cmd":"Heizung_Heizkreis2_Betriebsart","val":"val"} resol.0 2025-11-25 19:33:59.058 debug "getDpFunction jsoncontrollerSetupItems [object Object]" resol.0 2025-11-25 19:33:59.058 debug State :3 resol.0 2025-11-25 19:33:59.057 debug State of Object: {"val":3,"ack":false,"ts":1764095639054,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1764095639054} resol.0 2025-11-25 19:33:59.056 debug Change on Object: "resol.0.007E110010.Actions.Heizung_Heizkreis2_Betriebsart" resol.0 2025-11-25 19:33:00.015 debug Finishing loadMyConfig... resol.0 2025-11-25 19:33:00.015 error TypeError: Cannot read properties of undefined (reading 'cmd') resol.0 2025-11-25 19:33:00.010 debug options1 {"deviceAddress":32273,"version":2} resol.0 2025-11-25 19:32:37.001 debug Finishing runshot ... resol.0 2025-11-25 19:32:37.001 error [runShot] Error: TypeError: Cannot read properties of undefined (reading 'reduce') resol.0 2025-11-25 19:32:36.999 debug Save config undefined resol.0 2025-11-25 19:32:36.999 debug Optimizer savedConfig = loadedConfig resol.0 2025-11-25 19:32:36.997 debug options1 {"deviceAddress":32273,"version":2} resol.0 2025-11-25 19:32:36.996 debug Found master with address 0x7e11 resol.0 2025-11-25 19:32:35.019 debug Waiting for free bus... resol.0 2025-11-25 19:32:35.018 debug myJSON: undefined resol.0 2025-11-25 19:32:35.018 debug Finishing Dpfunction... resol.0 2025-11-25 19:32:35.018 error [getDpFunction] : fctItem not defined! resol.0 2025-11-25 19:32:35.018 debug getDpFunction jsoncontrollerSetupItems->item {"name":"Heizung_Heizkreis2_Betriebsart","cmd":"Heizung_Heizkreis2_Betriebsart","val":"val"} resol.0 2025-11-25 19:32:35.018 debug "getDpFunction jsoncontrollerSetupItems [object Object]" resol.0 2025-11-25 19:32:35.017 debug State :0 resol.0 2025-11-25 19:32:35.017 debug State of Object: {"val":0,"ack":false,"ts":1764095555014,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1764095555014} resol.0 2025-11-25 19:32:35.016 debug Change on Object: "resol.0.007E110010.Actions.Heizung_Heizkreis1_Betriebsart"Heizkreis 2 bekommt nach wie vor keinen Namen......und kann auch nicht benannt werden......

Ansonsten Funktioniert der Adapter bei mir anstandslos fehlerfrei...
Nochmal vielen vielen DankMFG Noio
Nichts desto Trotz hat @Gargano absolut Recht: Nimm den Alias-Manager Adapter und richte Aliase ein. Das ist zwar erst einmal ein bisschen Arbeit; ist aber deutlich nachhaltiger und erspart dir in der Zukunft eine Menge Aufwand. Vertrau mir - bei mir sterben pro Jahr 1-2 Shellys; da sind Aliase Gold wert.
Begründung:
- Wenn Du die main.js in der gezeigten Art veränderst, schneidest Du dich von Updates ab, denn die überschreiben deine Änderung jedes mal wieder. Ich denke nicht das das in deinem Sinne ist.
- Mit Aliasen kannst Du jeden Datenpunkt benennen, wie Du es willst.
- Mit Aliasen verwendest Du in Skripten, einer Visualisierung, ... nur noch die Aliase und nicht mehr die "Original"-Datenpunkte. Das spart Dir eine Unmenge an Zeit und Ärger, wenn Du mal ein Gerät ersetzen musst und dann nur noch ein paar Aliase ändern musst und nicht an zig Stellen suchen musst ob oder wo Du den Datenpunkt ansprichst.
Am einfachen Beispiel eines Lichtsensors bei mir kann das z.B. so aussehen:


Das liest sich sogar in Blockly etc richtig gut.
viele Grüße
grizzelbee -
Also wenn es dir drum geht, dass das NAME Feld überschrieben wird, dann erstell doch ein Issue beim Adapter,
Da sollte beim extendObject ein 'preserve' ergänzt werden, dann ist das Ganze sauber. -
Das mit dem update ist mir bewusst.....
Wenn ich den Adapter bevor ich update pausiere dann die main.js anpasse und danach den adapter wiedwr starte dürfte nichts überschrieben werden......
-
@mcm1957 sagte in Supportthread Resol-Adapter:
erstell doch ein Issue beim Adapter,
Ich finde nicht wo.....
-
ey danke......dass ist doch von @Grizzelbee der hier supportet ?
-
Wenn @Grizzelbee es hier für sinnlos erklärt ,wird er seine Meinung auch nicht ändern , wenn ich dort ein issue eröffne ......
-
@NoLo
Nor zur Sicherheit:
Welche Änderung beim Adapterrestart stört deine Anwendung genau?
Wenn ich die vorhergehenden Postings richtig interpretiere geht es um das state Attribiute NAME das ja prinzipiell von Anwender frei änderbar ist.
Stimmt das? Oder hab ich das falsch verstanden?Und damit's nicht falsch rüber kommt. Die Verwendung von alis hat viele Vorteile. Insbesondere wenn sich die Id eine states ändert (z.B bei HW Tausch). Aber nichts desto trotz sollte das Name field nicht überschrieben werden.
-
@NoLo
Nor zur Sicherheit:
Welche Änderung beim Adapterrestart stört deine Anwendung genau?
Wenn ich die vorhergehenden Postings richtig interpretiere geht es um das state Attribiute NAME das ja prinzipiell von Anwender frei änderbar ist.
Stimmt das? Oder hab ich das falsch verstanden?Und damit's nicht falsch rüber kommt. Die Verwendung von alis hat viele Vorteile. Insbesondere wenn sich die Id eine states ändert (z.B bei HW Tausch). Aber nichts desto trotz sollte das Name field nicht überschrieben werden.
@mcm1957 sagte in Supportthread Resol-Adapter:
Welche Änderung beim Adapterrestart stört deine Anwendung genau?
Wenn ich die vorhergehenden Postings richtig interpretiere geht es um das state Attribiute NAME das ja prinzipiell von Anwender frei änderbar ist.
Stimmt das? Oder hab ich das falsch verstanden?Der Adapter überschreibt bei jedem Datenpoll das state Attribiute NAME und mehr vom Datenpunkt.....
Grudsetztlich stört mich dass nicht weiter , hab ja einen relativ einfachen workaround.
Es war eher als Vorschlag gedacht dass zu ändern.....MFG
noio -
Keine Ahnung ob das falsch sein soll wenn der Adapter -100 / +300 als min/max werte angibt....
Sehe dass eher so dass der Einsatzbereich den min/max Wert vorgibt , und den kann hier eg. nur der wissen der den Regler im Einsatz hat....
Da es hier teils frei progammierbare zuweisungen bei den Sensoren gibt ...ist das so.... -
