NEWS
[Neuer Adapter] LinkedDevices
-
@sevenup sagte in [Neuer Adapter] LinkedDevices:
@Scrounger ist es möglich ein Boolean Wert negiert zu verlinken?
Nein das geht nicht. Schreib nen issue auf github, dann bau ich es mal ein
@e-s sagte in [Neuer Adapter] LinkedDevices:
@scrounger
Habe jetzt 200 links und es werden immer mehr. Wäre es möglich diese Liste in Instanzen besser zu formatieren? Also am besten nach Gruppen sortieren, welche man auf und zu klappen kann. Defekte links aber sofort sichtbar.Das geht leider nicht. Aber du kannst doch den filter verwenden, einfach instanz rein schreiben.
Nicht verlinkte kannst du durch sotieren über click auf die Überschrift sehr schnell finden.
Zusätzlich zeigt derlinkeddevices.0.info.notlinkedObjects
Datenpunkt an, ob es nicht verlinkte Objekte gibt. -
@scrounger
habe eben mal wieder links unter instanzen neu zugeordnet. Leider wird dabei der dp in linkeddevices neu geschrieben, denn nur so kann ich mir erklären warum die enums verloren gehen. Wäre es möglich dies zu ändern, so das ich anschließend nicht wieder die Räume und Funktionen überprüfen und einstellen muss. -
@e-s
Du musst bei den Verlinkungen
aktivieren, dann sollte das nicht mehr passieren
-
Hallo,
bei mir ist es jetzt schon zum 2. mal passiert, dass plötzlich am Morgen Geräte nicht mehr reagieren und beim Nachsehen die Instanz von LinkedDevices auf Rot steht. Ein Neustart Klappt dann und alles geht wieder. Das Problem tritt erst seit kurzem auf. Im Log habe ich folgendes gefunden:
2021-03-15 00:00:00.842 - [31merror[39m: linkeddevices.0 (14748) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2021-03-15 00:00:00.846 - [31merror[39m: linkeddevices.0 (14748) unhandled promise rejection: Unexpected type of argument in function round (expected: number or Complex or BigNumber or Fraction or Array or Matrix or DenseMatrix or SparseMatrix or string or boolean, actual: null, index: 0) 2021-03-15 00:00:00.847 - [31merror[39m: linkeddevices.0 (14748) TypeError: Unexpected type of argument in function round (expected: number or Complex or BigNumber or Fraction or Array or Matrix or DenseMatrix or SparseMatrix or string or boolean, actual: null, index: 0) at createError (D:\iobroker\KuhnHome\node_modules\typed-function\typed-function.js:555:19) at Function.generic (D:\iobroker\KuhnHome\node_modules\typed-function\typed-function.js:1077:15) at Object.round (D:\iobroker\KuhnHome\node_modules\typed-function\typed-function.js:1092:24) at Linkeddevices.getConvertedValue (D:\iobroker\KuhnHome\node_modules\iobroker.linkeddevices\main.js:1473:31) at async Linkeddevices.onStateChange (D:\iobroker\KuhnHome\node_modules\iobroker.linkeddevices\main.js:274:20) 2021-03-15 00:00:00.847 - [31merror[39m: linkeddevices.0 (14748) Unexpected type of argument in function round (expected: number or Complex or BigNumber or Fraction or Array or Matrix or DenseMatrix or SparseMatrix or string or boolean, actual: null, index: 0) 2021-03-15 00:00:00.853 - [31merror[39m: linkeddevices.0 (14748) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2021-03-15 00:00:00.853 - [31merror[39m: linkeddevices.0 (14748) unhandled promise rejection: Unexpected type of argument in function round (expected: number or Complex or BigNumber or Fraction or Array or Matrix or DenseMatrix or SparseMatrix or string or boolean, actual: null, index: 0) 2021-03-15 00:00:00.853 - [31merror[39m: linkeddevices.0 (14748) TypeError: Unexpected type of argument in function round (expected: number or Complex or BigNumber or Fraction or Array or Matrix or DenseMatrix or SparseMatrix or string or boolean, actual: null, index: 0) at createError (D:\iobroker\KuhnHome\node_modules\typed-function\typed-function.js:555:19) at Function.generic (D:\iobroker\KuhnHome\node_modules\typed-function\typed-function.js:1077:15) at Object.round (D:\iobroker\KuhnHome\node_modules\typed-function\typed-function.js:1092:24) at Linkeddevices.getConvertedValue (D:\iobroker\KuhnHome\node_modules\iobroker.linkeddevices\main.js:1473:31) at async Linkeddevices.onStateChange (D:\iobroker\KuhnHome\node_modules\iobroker.linkeddevices\main.js:274:20) 2021-03-15 00:00:00.853 - [31merror[39m: linkeddevices.0 (14748) Unexpected type of argument in function round (expected: number or Complex or BigNumber or Fraction or Array or Matrix or DenseMatrix or SparseMatrix or string or boolean, actual: null, index: 0) 2021-03-15 00:00:00.859 - [33mwarn[39m: linkeddevices.0 (14748) Terminated (UNCAUGHT_EXCEPTION): Without reason
Nach diesem Fehler gibt es keinen Eintrag mehr im Log vom Adapter. Es läuft bei mir die V1.4.2 auf einem IOB unter Windows mit JS-Controller V3.2.16.
Ich hoffe es hat jemand eine Idee. -
Eben, um 14:36Uhr, genau der selbe Fehler wieder und kein Alias mehr erreichbar. Ich hab jetzt mal einen Downgrade auf die V1.4.1 durchgeführt und schau mal wie es da läuft, falls der Fehler vom Adapter kommt.
-
@palm_maniac
Test mal die version von github. Hab was eingebaut, dass der Adapter zumindest nicht mehr abschmieren sollte.
Weiter hab ich die log ausgabe bissle erweitert, da ich noch nicht verstehe was da passiert.
Sobald der Fehler bei dir wieder auftritt, mir das log zur Verfügung stellen. -
Hallo, ich habs gerade über Github installiert. Wenn es wieder passiert, melde ich mich. Vielen Dank.
-
Ich habe unter Experteneinstellung: keine Umwandlung ,0 Nachkommastellen und Umrechnung /xxx eingetragen. Das verlinkte Objekt hat aber Nachkommastellen.
Wie bekomme ich diese weg? -
@sevenup sagte in [Neuer Adapter] LinkedDevices:
@Scrounger ist es möglich ein Boolean Wert negiert zu verlinken?
Habs eingebaut, v1.4.3 sollte demnächst im latest sein.@ryto sagte in [Neuer Adapter] LinkedDevices:
Ich habe unter Experteneinstellung: keine Umwandlung ,0 Nachkommastellen und Umrechnung /xxx eingetragen. Das verlinkte Objekt hat aber Nachkommastellen.
Zeig mal die Einstellungen oder die raw daten des zu verlinkenden Objektes (parent)
-
@scrounger
Hier die Einstellungen:{ "type": "state", "common": { "name": "", "role": "value", "type": "number", "unit": "", "read": true, "write": true, "custom": { "linkeddevices.0": { "enabled": true, "number_unit": "", "linkedId": "dali_ecg_set_color_COORDINATE_Y", "name": "", "role": "", "mergeSettingsOnRestart": true, "expertSettings": true, "number_convertTo": "", "number_maxDecimal": 0, "number_min": "", "number_max": "", "number_calculation": "/65535", "number_calculation_readOnly": "", "number_to_boolean_condition": "", "number_to_boolean_value_true": "", "number_to_boolean_value_false": "", "number_to_string_condition": "", "number_to_duration_convert_seconds": "", "number_to_duration_format": "", "number_to_datetime_convert_seconds": "", "number_to_datetime_format": "", "number_to_multi_condition": "", "boolean_convertTo": "", "boolean_to_string_value_true": "", "boolean_to_string_value_false": "", "string_convertTo": "", "string_prefix": "", "string_suffix": "", "string_to_boolean_value_true": "", "string_to_boolean_value_false": "", "string_to_number_unit": "", "string_to_number_maxDecimal": "", "string_to_number_calculation": "", "string_to_number_calculation_readOnly": "", "string_to_duration_format": "", "string_to_datetime_parser": "", "string_to_datetime_format": "" } } }, "native": { "cat": "db", "type": "WORD", "db": "DB12", "dbId": 12, "address": 972, "offsetBit": 0, "rw": true, "wp": false, "len": "" }, "from": "system.adapter.s7.0", "user": "system.user.admin", "ts": 1615905527674, "_id": "s7.0.DBs.DB12.dali_ecg_set_color_COORDINATE_Y", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
@scrounger Hallo. Bisher keine Fehler mehr mit der Version über github, es scheint zu klappen. Das komische dabei ist aber, dass es vorher eigentlich immer ohne Probleme lief. Mal schauen, wie die neue Version 1.4.3 läuft.
-
@ryto sagte in [Neuer Adapter] LinkedDevices:
@scrounger
Hier die Einstellungen:Sieht soweit alles gut aus. Habs getestet funktioniert. Hat den der datenpunkt
s7.0.DBs.DB12.dali_ecg_set_color_COORDINATE_Y
auch einen Wert?
Lösch mal das verlinkte Objekt und starte den Adapter neu.@palm_maniac sagte in [Neuer Adapter] LinkedDevices:
@scrounger Hallo. Bisher keine Fehler mehr mit der Version über github, es scheint zu klappen. Das komische dabei ist aber, dass es vorher eigentlich immer ohne Probleme lief. Mal schauen, wie die neue Version 1.4.3 läuft.
Wie gesagt ich hab nur das Error Handling optimiert, so dass der Adapter nicht mehr abschmieren sollte. Du musst aber trotzdem mal das Log beobachten ob da eine Fehlermeldung kommt.
-
@scrounger
Alles gelöscht, Neustart und alles neu angelegt. Keine Änderung.
Aber:
Wenn ich in Objekte den linked_xxx Datenpunkt ändere, wird der Wert ohne Nachkomma im verlinkten Objekt eingetragen, i.O.
Den Wert im linked_xxx Datenpunkt habe ich bisher über Blockly mit aktualisiere.... geändert, Ergebnis waren Nachkommastellen im Datenpunkt. Da linked_xxx für mich eigentlich eine interne Variable ist, habe ich mit aktualisiere... gearbeitet.
Nun habe ich aktualisiere mit setze... auf den linked_xxx Datenpunkt ersetzt, und die Nachkommastellen sind weg.
Problem gelöst, nur noch mit setze... auf den linked_ und es klappt.
Danke -
@ryto
Nachkommastellen werden auch nur auf den verlinkten Datenpunkt angewendet!Grundsätzlich solltest du nur noch mit den verlinkten Datenpunkten in Script vis, etc. arbeiten, das ist die Idee Konzept hinter dem Adapter
-
@scrounger
Ich hatte nur auf das verlinkte (linked_...) Objekt geschrieben. Es arbeitet aber nur richtig, wenn die Variable mit setze... und nicht aktualisiere... geändert wird. -
@scrounger said in [Neuer Adapter] LinkedDevices:
@sevenup sagte in [Neuer Adapter] LinkedDevices:
@Scrounger ist es möglich ein Boolean Wert negiert zu verlinken?
Habs eingebaut, v1.4.3 sollte demnächst im latest sein.Vielen Dank!
Funktioniert super -
@scrounger Hi. Es gab wieder Fehler. Hier der Logauszug:
2021-03-19 10:38:57.248 - error: linkeddevices.0 (1508) [getConvertedValue] sourceId 'Datenpunkte.0.Energie.Autarkie' targetId 'linkeddevices.0.Sensoren.Keller.Hobbyraum.Wechselrichter.Autarkie_Jetzt', error: Unexpected type of argument in function round (expected: number or Complex or BigNumber or Fraction or Array or Matrix or DenseMatrix or SparseMatrix or string or boolean, actual: null, index: 0), stack: TypeError: Unexpected type of argument in function round (expected: number or Complex or BigNumber or Fraction or Array or Matrix or DenseMatrix or SparseMatrix or string or boolean, actual: null, index: 0) at createError (D:\iobroker\KuhnHome\node_modules\typed-function\typed-function.js:555:19) at Function.generic (D:\iobroker\KuhnHome\node_modules\typed-function\typed-function.js:1077:15) at Object.round (D:\iobroker\KuhnHome\node_modules\typed-function\typed-function.js:1092:24) at Linkeddevices.getConvertedValue (D:\iobroker\KuhnHome\node_modules\iobroker.linkeddevices\main.js:1474:32) at runMicrotasks () at runNextTicks (internal/process/task_queues.js:62:5) at processImmediate (internal/timers.js:434:9) at async Linkeddevices.onStateChange (D:\iobroker\KuhnHome\node_modules\iobroker.linkeddevices\main.js:274:21)
Der Fehler taucht immer wieder regelmäßig auf, obwohl der Alias-Datenpunkt und LinkedDevices sauber laufen. es handelt sich hierbei um einen manuell angelegten Datenpunkt, der per Blockly berechnet wird.
-
@palm_maniac
Zeig mal die raw daten von beiden datenpunkten.
Wird auch der richtige type vom blockly in den DP geschrieben? -
Hier die Daten von der Quelle:
{ "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1613475446191, "common": { "name": "Autarkie Jetzt", "role": "", "type": "number", "desc": "Manuell erzeugt", "unit": "%", "min": 0, "read": true, "write": true, "custom": { "linkeddevices.0": { "enabled": true, "number_unit": "", "linkedId": "Sensoren.Keller.Hobbyraum.Wechselrichter.Autarkie_Jetzt", "name": "Autarkie Jetzt", "role": "", "mergeSettingsOnRestart": true, "expertSettings": true, "number_convertTo": "", "number_maxDecimal": 2, "number_min": "", "number_max": "", "number_calculation": "", "number_calculation_readOnly": "", "number_to_boolean_condition": "", "number_to_boolean_value_true": "", "number_to_boolean_value_false": "", "number_to_string_condition": "", "number_to_duration_convert_seconds": "", "number_to_duration_format": "", "number_to_datetime_convert_seconds": "", "number_to_datetime_format": "", "number_to_multi_condition": "", "boolean_convertTo": "", "boolean_to_string_value_true": "", "boolean_to_string_value_false": "", "string_convertTo": "", "string_prefix": "", "string_suffix": "", "string_to_boolean_value_true": "", "string_to_boolean_value_false": "", "string_to_number_unit": "", "string_to_number_maxDecimal": "", "string_to_number_calculation": "", "string_to_number_calculation_readOnly": "", "string_to_duration_format": "", "string_to_datetime_parser": "", "string_to_datetime_format": "", "boolean_invert": false } } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "Datenpunkte.0.Energie.Autarkie", "type": "state" }
Und hier vom Ziel:
{ "type": "state", "common": { "name": "Autarkie Jetzt", "role": "", "type": "number", "desc": "Created by linkeddevices", "unit": "%", "min": 0, "max": 100, "def": 0, "read": true, "write": true, "custom": { "linkeddevices.0": { "enabled": true, "parentId": "Datenpunkte.0.Energie.Autarkie", "parentType": "number", "isLinked": true, "mergeSettingsOnRestart": true, "number_maxDecimal": 2, "linkedId": "", "name": "", "role": "", "expertSettings": false, "number_convertTo": "", "number_unit": "", "number_min": "", "number_max": "", "number_calculation": "", "number_calculation_readOnly": "", "number_to_boolean_condition": "", "number_to_boolean_value_true": "", "number_to_boolean_value_false": "", "number_to_string_condition": "", "number_to_duration_convert_seconds": "", "number_to_duration_format": "", "number_to_datetime_convert_seconds": "", "number_to_datetime_format": "", "number_to_multi_condition": "", "boolean_convertTo": "", "boolean_to_string_value_true": "", "boolean_to_string_value_false": "", "string_convertTo": "", "string_prefix": "", "string_suffix": "", "string_to_boolean_value_true": "", "string_to_boolean_value_false": "", "string_to_number_unit": "", "string_to_number_maxDecimal": "", "string_to_number_calculation": "", "string_to_number_calculation_readOnly": "", "string_to_duration_format": "", "string_to_datetime_parser": "", "string_to_datetime_format": "", "boolean_invert": false }, "influxdb.0": { "enabled": true, "changesOnly": false, "debounce": "1000", "retention": 0, "changesRelogInterval": 4, "changesMinDelta": 0, "storageType": "", "aliasId": "Autarkie Jetzt" } }, "icon": "linkeddevices_small.png" }, "native": {}, "from": "system.adapter.linkeddevices.0", "user": "system.user.admin", "ts": 1616149703821, "_id": "linkeddevices.0.Sensoren.Keller.Hobbyraum.Wechselrichter.Autarkie_Jetzt", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Das Blockly scheint richtig zu arbeiten, da nur gerechnet wird. Es handelt sich dabei um einen Prozentwert zwischen 0 und 100.
-
Ich hab nochmal nachgeschaut. Der Fehler taucht nur heute auf, 3mal. Gestern war noch nix drin.