NEWS
Admin Error
-
@peterk34 sagte: alias.read ist die Konvertierungsfunktion?
Ja.
-
@paul53 sagte in Admin Error:
@peterk34 sagte: alias.read ist die Konvertierungsfunktion?
Ja.
so schaut zB einer dieser Datenpunkte aus ...
{ "common": { "name": "Gang OG", "desc": "Manuell erzeugt", "role": "state", "type": "boolean", "read": true, "write": true, "def": false, "alias": { "id": "shelly.1.SHSW-25#BCDDC277525E#1.Relay0.Switch" } }, "type": "state", "_id": "alias.0.Lichter.Gang_OG", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1660073002336 }
-
@peterk34 sagte: so schaut zB einer dieser Datenpunkte aus ...
Der Alias hat keine Konvertierung. Im obersten Bild wird die Konvertierung angemeckert.
-
@paul53
hier noch ein zweiter mit Konvertierung:
Die Konvertierung habe ich im Reiter Alias angelegt - in den Objektdaten nicht bearbeitet.{ "common": { "name": "Eingestellte Lade A", "desc": "Manuell erzeugt", "role": "state", "type": "number", "read": true, "write": true, "unit": "A", "def": 0, "alias": { "id": { "read": "tesla-motors.0.LRWYGCEK0NC338561.charge_state.charge_amps", "write": "tesla-motors.0.LRWYGCEK0NC338561.remote.set_charging_amps-charging_amps" } } }, "type": "state", "_id": "alias.0.Tesla.Laden.Eingestellte_Lade_A", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1659852813175 }
-
@peterk34 sagte: hier noch ein zweiter mit Konvertierung:
Der Alias hat auch keine Konvertierung, sondern verschiedene Original-Datenpunkte für Lesen und Schreiben.
-
{ "common": { "name": "Es wird geladen", "desc": "Manuell erzeugt", "role": "state", "type": "boolean", "read": true, "write": true, "states": { "true": "LÄDT", "false": "LÄDT NICHT" }, "def": false, "alias": { "id": "shelly.1.SHEM-3#84CCA8AD0EA1#1.Total.InstantPower", "read": "val>30" } }, "type": "state", "_id": "alias.0.Tesla.Laden.Es_wird_geladen", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1660335640792 }
Das ist jetzt einer. Ich hab jetzt tatsächlich einen gefunden der einen String abfragt und deshalb das " drinnen hatte ... kann ein Datenpunkt einen Error bei allen auslösen?
-
@peterk34 sagte: einen gefunden der einen String abfragt und deshalb das " drinnen hatte ...
Es müssen zwei sein, einmal mit
"read": "val == 'asleep'"
und einmal mit
"read": "val != 'asleep'"
richtig geschrieben.
-
@paul53
tatsächlich beide gefunden ...der web adapter gibt einen error bei jedem alias auf bei dem es eine konvertierung gibt 🥹
-
@peterk34
Poste bitte die Konvertierungen in Code tags.Dir ist bewusst, dass toFixed(1) in einen String konvertiert?
Richtig:val < 0 ? Math.round(-val / 100) / 10 : 0
-
nein war mir nicht bewusst ...
{ "common": { "name": "Regelverbrauch A", "desc": "Manuell erzeugt", "role": "state", "type": "number", "read": true, "write": true, "unit": "A", "def": "", "alias": { "id": "0_meine_Daten.0.PV.Werte.Haus_Regelverbrauch", "read": "(val / (230 * 3)).toFixed(1)" } }, "type": "state", "_id": "alias.0.PV.Regelverbrauch_A", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1659870908888 }
-
"alias": { "id": "0_meine_Daten.0.PV.Werte.Haus_Regelverbrauch", "read": "Math.round(val / (23 * 3)) / 10" }
-
"alias": { "id": "e3dc-rscp.0.EMS.BAT_SOC", "read": "val < 10" }
"alias": { "id": "deconz.1.Sensors.13.temperature", "read": "val.toFixed(1)" }
-
@peterk34
Der erste Alias konvertiert in "boolean", der zweite in einen String. Für Zahl:"alias": { "id": "deconz.1.Sensors.13.temperature", "read": "Math.round(val * 10) / 10" }
-
wäre dann das ein weg gerundet zurückzubekommen?
"alias": { "id": "deconz.1.Sensors.22.temperature", "read": "parseFloat(val.toFixed(1))" } },
oder
"read": "+val.toFixed(1)"
oder gibts einen einfacheren Weg eine gerundete zahl mit einer definierten Kommastelle zu bekommen?
-
@peterk34 sagte: gibts einen einfacheren Weg eine gerundete zahl mit einer definierten Kommastelle zu bekommen?
Siehe hier. Zahlen werden allerdings nie mit einer 0 nach dem Punkt dargestellt.
-
@paul53
mir gehts darum eine auf ein oder zwei stellen gerundete zahl zu bekommen ... Math.round rundet ja immer auf ganze zahlen -
@peterk34 sagte: Math.round rundet ja immer auf ganze zahlen
Deshalb wird bei einer Nachkommastelle der 10-fache Wert gerundet und anschließend durch 10 dividiert. Beispiel:
"alias": { "id": "0_meine_Daten.0.PV.Werte.Haus_Regelverbrauch", "read": "Math.round(val / (23 * 3)) / 10" }
-
@paul53 sagte in Admin Error:
auch ein Weg
-
die Zahl der Errors hat sich deutlich vermindert. Es gibt aber noch immer welche. Kann es an der Schreibweise der Konvertierungsformel liegen (Leerzeichen)?
-
@peterk34 sagte: Es gibt aber noch immer welche. Kann es an der Schreibweise der Konvertierungsformel liegen (Leerzeichen)?
Welche (bitte in Code tags)?
Leerzeichen stören nicht.