ioBroker.solax icon indicating copy to clipboard operation
ioBroker.solax copied to clipboard

Falscher Type für json

Open peterpan-user opened this issue 1 year ago • 19 comments

Describe the bug
Jede 5 Minuten erhalte ich die folgende Info im Log: State value to set for "solax.0.data.json" has to be type "string" but received type "number"

vgl. bitte auch #181 , scheint bei mir aber keine Auswirkung gehabt haben.

Versions:

  • Adapter version: 0.9.12
  • JS-Controller version: 7.0.3
  • Node version: v20.18.1
  • Operating system: ubuntu

Additional context
Meldung erhalte ich schon länger

peterpan-user avatar Dec 20 '24 14:12 peterpan-user

Thanks for reporting a new issue @peterpan-user!

  1. Please make sure your topic is not covered in the documentation
  2. Please attach all necessary log files (in debug mode!), screenshots and other information to reproduce this issue
  3. Search for the issue topic in other/closed issues to avoid duplicates!
  4. Ensure that you use the latest available beta version of this adapter (not the current stable version): 0.9.13

Otherwise this issue will be closed.

github-actions[bot] avatar Dec 20 '24 14:12 github-actions[bot]

Gleiches Verhalten bei Controller 7.1.5 und Adapterversion 9.1.12

htrecksler avatar Dec 29 '24 14:12 htrecksler

Zeige bitte die Config von solax.0.data.json

simatec avatar Dec 29 '24 14:12 simatec

{ "type": "state", "common": { "name": "json data", "type": "string", "role": "state", "read": true, "write": false }, "native": {}, "from": "system.adapter.solax.0", "user": "system.user.admin", "ts": 1723466510107, "_id": "solax.0.data.json", "acl": { "object": 1638, "state": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }

htrecksler avatar Dec 29 '24 15:12 htrecksler

Es sollte so aussehen...

{
  "type": "state",
  "common": {
    "name": "json data",
    "type": "string",
    "role": "json",
    "read": true,
    "write": false
  },
  "native": {},
  "from": "system.adapter.solax.0",
  "user": "system.user.admin",
  "ts": 1644221196513,
  "_id": "solax.0.data.json",
  "acl": {
    "object": 1636,
    "state": 1636,
    "owner": "system.user.admin",
    "ownerGroup": "system.group.administrator"
  }
}

simatec avatar Dec 29 '24 15:12 simatec

So sieht es bei mir aus: { "type": "state", "common": { "name": "json data", "type": "string", "role": "json", "read": true, "write": false }, "native": {}, "from": "system.adapter.solax.0", "user": "system.user.admin", "ts": 1706544406556, "_id": "solax.0.data.json", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }

peterpan-user avatar Dec 29 '24 15:12 peterpan-user

@peterpan-user Und was hast du für eine Fehlermeldung?

simatec avatar Dec 29 '24 15:12 simatec

Keine Fehlermeldung, aber alle 5 Minuten die Info "State value to set for "solax.0.data.json" has to be type "string" but received type "number"" im Log.

peterpan-user avatar Dec 29 '24 15:12 peterpan-user

ich habe gerade "role" auf "json" umgestellt, ansonsten konnte ich aber keinen Unterschied feststellen. Ich hab danach den Adapter neu gestartet, aber ohne Auswirkung.

Die Meldung lautet immer noch: State value to set for "solax.0.data.json" has to be type "string" but received type "number" Also die gleiche Infomeldung wie bei @peterpan-user

htrecksler avatar Dec 29 '24 15:12 htrecksler

Was hast du denn für Werte in dem State?

simatec avatar Dec 29 '24 15:12 simatec

{ "success": true, "exception": "Query success!", "inverterSN": "H34A08I6377636", "sn": "SN8GN9GTSV", "inverterType": "X3-Hybrid-G4", "inverterStatus": "Idle Mode", "uploadTime": "2024-12-29 16:32:52", "connectType": "cloud", "connection": true, "acpower": 0, "yieldtoday": 0.8, "yieldtotal": 2309.4, "feedinpower": -11171, "feedinenergy": 1703.85, "consumeenergy": 1265.16, "soc": 8, "powerdc1": 0, "powerdc2": 0, "batPower": 0 }

htrecksler avatar Dec 29 '24 15:12 htrecksler

{ "connectType": "cloud", "connection": true, "exception": "Query success!", "inverterSN": "H34A12J3779051", "inverterStatus": "Normal Mode", "inverterType": "X3-Hybrid-G4", "sn": "SYP4THD465", "success": true, "uploadTime": "2024-12-29 16:40:37", "acpower": -18, "batPower": 0, "consumeenergy": 2603.59, "feedinenergy": 2189.7, "feedinpower": -3424, "powerdc1": 0, "powerdc2": 0, "soc": 8, "yieldtoday": 0.9, "yieldtotal": 5468.2 }

peterpan-user avatar Dec 29 '24 15:12 peterpan-user

es ist ja jetzt nicht tragisch, ist ja "nur" eine Info, aber eigentlich gehört sie da nicht hin, und ich versuche möglichst mein System aktuell und mein log sauber zu halten.

htrecksler avatar Dec 29 '24 15:12 htrecksler

Die Meldung ist Verwirrend, da euer Daten ein String sind und keine Number. Laut offizieller Doku ist die Role und der Type auch korekkt. https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/stateroles.md#common

Könnt ihr die Daten aus dem State mal loggen, damit man sieht, ob da eventuell irgendwann statt des json Strings eine Nummer geschrieben wird?

simatec avatar Dec 29 '24 15:12 simatec

ich hab mir mal ein kleines Script erstellt.

on({id:'solax.0.data.json',change:'any'}, function (obj) { log('Wert JSON: ' + JSON.stringify(obj), 'warn'); }); mal sehen was kommt...

htrecksler avatar Dec 29 '24 16:12 htrecksler

Mit dem obigen Script:

29.12.2024, 17:02:36.121 [info ]: javascript.0 (3440) Stopping script script.js.Homedingskacke.Solax 29.12.2024, 17:02:38.817 [info ]: javascript.0 (3440) Start JavaScript script.js.Homedingskacke.Solax (Javascript/js) 29.12.2024, 17:02:38.835 [info ]: javascript.0 (3440) script.js.Homedingskacke.Solax: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions

solax.0 2024-12-29 17:05:56.613 info State value to set for "solax.0.data.json" has to be type "string" but received type "number"

29.12.2024, 17:05:56.617 [warn ]: javascript.0 (3440) script.js.Homedingskacke.Solax: Wert JSON: {"id":"solax.0.data.json","newState":{"val":0,"ts":1735488356614,"ack":true,"lc":1735488356614,"from":"system.adapter.solax.0","q":0,"user":"system.user.admin"},"oldState":{"val":"{"connectType":"cloud","connection":true,"exception":"Query success!","inverterSN":"H34A12J3779051","inverterStatus":"Idle Mode","inverterType":"X3-Hybrid-G4","sn":"SYP4THD465","success":true,"uploadTime":"2024-12-29 17:00:37","acpower":0,"batPower":0,"consumeenergy":2604.29,"feedinenergy":2189.7,"feedinpower":-1176,"powerdc1":42,"powerdc2":0,"soc":8,"yieldtoday":0.9,"yieldtotal":5468.2}","ts":1735488057904,"ack":true,"lc":1735488057904,"from":"system.adapter.solax.0","q":0,"user":"system.user.admin"},"state":{"val":0,"ts":1735488356614,"ack":true,"lc":1735488356614,"from":"system.adapter.solax.0","q":0,"user":"system.user.admin"}} 29.12.2024, 17:05:57.918 [warn ]: javascript.0 (3440) script.js.Homedingskacke.Solax: Wert JSON: {"id":"solax.0.data.json","newState":{"val":"{"connectType":"cloud","connection":true,"exception":"Query success!","inverterSN":"H34A12J3779051","inverterStatus":"Idle Mode","inverterType":"X3-Hybrid-G4","sn":"SYP4THD465","success":true,"uploadTime":"2024-12-29 17:05:37","acpower":0,"batPower":0,"consumeenergy":2604.29,"feedinenergy":2189.7,"feedinpower":-1231,"powerdc1":0,"powerdc2":0,"soc":8,"yieldtoday":0.9,"yieldtotal":5468.2}","ts":1735488357916,"ack":true,"lc":1735488357916,"from":"system.adapter.solax.0","q":0,"user":"system.user.admin"},"oldState":{"val":0,"ts":1735488356614,"ack":true,"lc":1735488356614,"from":"system.adapter.solax.0","q":0,"user":"system.user.admin"},"state":{"val":"{"connectType":"cloud","connection":true,"exception":"Query success!","inverterSN":"H34A12J3779051","inverterStatus":"Idle Mode","inverterType":"X3-Hybrid-G4","sn":"SYP4THD465","success":true,"uploadTime":"2024-12-29 17:05:37","acpower":0,"batPower":0,"consumeenergy":2604.29,"feedinenergy":2189.7,"feedinpower":-1231,"powerdc1":0,"powerdc2":0,"soc":8,"yieldtoday":0.9,"yieldtotal":5468.2}","ts":1735488357916,"ack":true,"lc":1735488357916,"from":"system.adapter.solax.0","q":0,"user":"system.user.admin"}}

peterpan-user avatar Dec 29 '24 16:12 peterpan-user

Log

htrecksler avatar Dec 29 '24 16:12 htrecksler

Es sieht eigentlich gut aus... Es kommt nur der String und kein anderer numerischer Wert. Ich werde das nochmal checken, warum diese Meldung kommt

simatec avatar Dec 31 '24 11:12 simatec

Solax_Debug ich hatte den Adapter auch noch mal auf "DEBUG" eingestellt. Aber auch da erkennt man erstmal keine nummerischen Werte. Sehr merkwürdig...

htrecksler avatar Dec 31 '24 12:12 htrecksler

done

simatec avatar Nov 29 '25 08:11 simatec