Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: support INFO namespace #149

Closed
git-kick opened this issue Apr 14, 2023 · 14 comments
Closed

Feature request: support INFO namespace #149

git-kick opened this issue Apr 14, 2023 · 14 comments
Assignees
Labels
enhancement New feature or request

Comments

@git-kick
Copy link
Owner

git-kick commented Apr 14, 2023

(created from #148)

Include tags of the INFO namespace in the adapter.
This will also show the E3/DC firmare version, as requested by @smartboart in #148

@ArnoD15
Copy link

ArnoD15 commented Apr 14, 2023

Hallo Uli, würde mich auch freuen, wenn du das anzeigen könntest. :-) Ist noch der einzige Punkt, warum man den Modbus Adapter benötigen würde.

@git-kick
Copy link
Owner Author

git-kick commented Apr 17, 2023

Vorabversion ist im master branch.
Wer Lust hat, kann ja schon mal probieren :)

Nicht vergessen: die settings dürfen nicht aus einem json geladen werden, weil ja in der Intervallliste neue Parameter hinzugekommen sind.

cc: @smartboart

@ArnoD15
Copy link

ArnoD15 commented Apr 17, 2023

Dann bin ich mal so mutig und teste die Version. :-)
Muss der Adapter vorher deinstalliert werden?

@git-kick
Copy link
Owner Author

Eigentlich sollte es reichen, die Instanz zu löschen (damit die Einstellungen weg sind). Aber sicher bin ich mir nicht, da fehlt mir noch ioBroker-Knowhow...
Klares Zeichen ist, dass in den Einstellungen jetzt eine Checkbox für INFO sein muss.

@ArnoD15
Copy link

ArnoD15 commented Apr 17, 2023

Ok, habe es jetzt ohne Deinstallation einfach über Github neu installiert und es funktioniert. :-)
Bei den Abfrageintervallen sind aber keine Tags mit Info, ist das richtig?
Ok zu früh gefreut, muss noch mal neu installieren, da einige Fehlermeldungen LOG sind.
Werde jetzt doch erstmal alles deinstallieren.

@ArnoD15
Copy link

ArnoD15 commented Apr 17, 2023

Ok, jetzt sieht es besser aus. Es kommt nur noch eine Warnung die 5x wiederholt wird:
e3dc-rscp.0 | 2023-04-17 18:10:44.409 | warn | Unknown tag: tagCode=0xa800036, len=8, typeCode=0xd

`
TAG_INFO_DHCP_STATUS - type: 0x01 - Bool - length: 1 value: 0x00
TAG_INFO_TIME - type: 0x0F - Timestamp - length: 12 seconds: 1681754579 - nseconds: 929000
TAG_INFO_UTC_TIME - type: 0x0F - Timestamp - length: 12 seconds: 1681747379 - nseconds: 930000
TAG_INFO_TIME_ZONE - type: 0x0D - CString - length: 13 value: Europe/Berlin
TAG_INFO_SW_RELEASE - type: 0x0D - CString - length: 12 value: P10_2022_046
TAG_INFO_GUI_TARGET - type: 0x03 - UChar8 - length: 1 value: 0x01
TAG_INFO_GET_FACILITY - type: 0x0E - Container - length: 154
TAG_INFO_NAME - type: 0x0D - CString - length: 4 value: Arno

  • invalid tag: 0xA800036
    no CRC32
    2023-04-17 18:02:59.235 - warn: e3dc-rscp.0 (4142) Unknown tag: tagCode=0xa800036, len=8, typeCode=0xd
    2023-04-17 18:02:59.405 - debug: e3dc-rscp.0 (4142) Sending request TAG_EMS_REQ_POWER_PV
    2023-04-17 18:02:59.406 - silly: e3dc-rscp.0 (4142) OUT: magic: >E3DC< is OK - ctrl: >0011< is OK - Version 1, with CRC - seconds: 1681747379 - nseconds: 0 - length: 57
    TAG_EMS_REQ_POWER_PV - type: 0x00 - None - length: 0
    TAG_EMS_REQ_POWER_BAT - type: 0x00 - None - length: 0
    TAG_EMS_REQ_POWER_HOME - type: 0x00 - None - length: 0
    TAG_EMS_REQ_POWER_GRID - type: 0x00 - None - length: 0
    TAG_EMS_REQ_POWER_ADD - type: 0x00 - None - length: 0
    TAG_EMS_REQ_BAT_SOC - type: 0x00 - None - length: 0
    TAG_EMS_REQ_ALIVE - type: 0x01 - Bool - length: 1 value: 0x00
    TAG_EMS_REQ_STATUS - type: 0x00 - None - length: 0
    CRC32
    `

@git-kick
Copy link
Owner Author

Ok danke, das invalid tag: 0xA800036 schau ich mir bei Gelegenheit noch an, vielleicht steht da ja etwas sinnvolles drin, obwohl die tag id bisher nicht dokumentiert ist.

@ArnoD15
Copy link

ArnoD15 commented Apr 18, 2023

Hatte heute um 6:00 Uhr noch eine Fehlermeldung im LOG, leider hatte ich die LOG Stufe wieder auf Info gestellt.
Eventuell hilft dir die Fehlermeldung weiter:

2023-04-18 06:26:20.925 - warn: e3dc-rscp.0 (5462) Received message with inconsistent length: 5792 vs 6515
2023-04-18 06:26:20.950 - error: e3dc-rscp.0 (5462) uncaught exception: The value of "offset" is out of range. It must be >= 0 and <= 5788. Received 6511
2023-04-18 06:26:20.952 - error: e3dc-rscp.0 (5462) RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 5788. Received 6511
at new NodeError (node:internal/errors:399:5)
at boundsError (node:internal/buffer:88:9)
at Buffer.readInt32LE (node:internal/buffer:392:5)
at E3dcRscp.processFrame (/opt/iobroker/node_modules/iobroker.e3dc-rscp/main.js:1338:74)
at Socket. (/opt/iobroker/node_modules/iobroker.e3dc-rscp/main.js:522:10)
at Socket.emit (node:events:513:28)
at addChunk (node:internal/streams/readable:324:12)
at readableAddChunk (node:internal/streams/readable:297:9)
at Readable.push (node:internal/streams/readable:234:10)
at TCP.onStreamRead (node:internal/stream_base_commons:190:23)
2023-04-18 06:26:20.952 - error: e3dc-rscp.0 (5462) Exception-Code: ERR_OUT_OF_RANGE: The value of "offset" is out of range. It must be >= 0 and <= 5788. Received 6511
2023-04-18 06:26:21.035 - warn: e3dc-rscp.0 (5462) Received message with invalid MAGIC: >2BD1<
2023-04-18 06:26:21.036 - warn: e3dc-rscp.0 (5462) Received message with invalid CTRL: >69A8<
2023-04-18 06:26:21.036 - warn: e3dc-rscp.0 (5462) Received message with inconsistent length: 6528 vs 21841
2023-04-18 06:26:21.040 - warn: e3dc-rscp.0 (5462) Unknown tag: tagCode=0xa9a66a4e, len=30773, typeCode=0x96
2023-04-18 06:26:21.044 - info: e3dc-rscp.0 (5462) terminating
2023-04-18 06:26:21.045 - warn: e3dc-rscp.0 (5462) Terminated (UNCAUGHT_EXCEPTION): Without reason
2023-04-18 06:26:21.054 - warn: e3dc-rscp.0 (5462) E3/DC connection closed
2023-04-18 06:26:21.054 - info: e3dc-rscp.0 (5462) Stop communication with E3/DC and pause a minute before retry ...
2023-04-18 06:26:21.642 - error: host.iobroker instance system.adapter.e3dc-rscp.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
2023-04-18 06:26:21.643 - info: host.iobroker Restart adapter system.adapter.e3dc-rscp.0 because enabled
2023-04-18 06:26:51.766 - info: host.iobroker instance system.adapter.e3dc-rscp.0 started with pid 16441
2023-04-18 06:26:56.505 - info: e3dc-rscp.0 (16441) starting. Version 1.2.0 (non-npm: git-kick/ioBroker.e3dc-rscp#4f870640e4806923fa86221ca129283714f9eb98) in /opt/iobroker/node_modules/iobroker.e3dc-rscp, node: v18.15.0, js-controller: 4.0.24
2023-04-18 06:26:56.673 - info: e3dc-rscp.0 (16441) Connection to E3/DC is established
2023-04-18 06:26:57.233 - warn: e3dc-rscp.0 (16441) Unknown tag: tagCode=0xa800036, len=8, typeCode=0xd
2023-04-18 06:27:04.315 - warn: e3dc-rscp.0 (16441) Unknown tag: tagCode=0xa800036, len=8, typeCode=0xd
2023-04-18 06:27:11.297 - warn: e3dc-rscp.0 (16441) Unknown tag: tagCode=0xa800036, len=8, typeCode=0xd
2023-04-18 06:27:18.259 - warn: e3dc-rscp.0 (16441) Unknown tag: tagCode=0xa800036, len=8, typeCode=0xd
2023-04-18 06:27:25.220 - warn: e3dc-rscp.0 (16441) Unknown tag: tagCode=0xa800036, len=8, typeCode=0xd

@git-kick
Copy link
Owner Author

git-kick commented Apr 20, 2023

Das Tag 0xa800036 ist gefixt (immer noch im master branch), es ist der Nachname.

@git-kick
Copy link
Owner Author

Hatte heute um 6:00 Uhr noch eine Fehlermeldung im LOG, leider hatte ich die LOG Stufe wieder auf Info gestellt. Eventuell hilft dir die Fehlermeldung weiter:

2023-04-18 06:26:20.925 - warn: e3dc-rscp.0 (5462) Received message with inconsistent length: 5792 vs 6515 2023-04-18 06:26:20.950 - error: e3dc-rscp.0 (5462) uncaught exception: The value of "offset" is out of range. It must be >= 0 and <= 5788.

Das passiert bei mir auch (selten). Vermutlich zeigt das ein Problem auf TCP/IP Ebene an. Die größeren Nachrichten werden nämlich in Pakete unterteilt und wenn da eines nicht ankommt, dann bleibt die Nachricht unvollständig, der Adapter erkennt das an den Längenangaben und verwirft die Nachricht.

Solange das sehr sporadisch auftritt, kann man es m.E. ignorieren, weil es ja immer eine nächste Abfrage gibt, die dann hoffentlich gut geht. Wenn es häufiger auftritt, bitte mal mit silly-log laufen lassen. Unter Verdacht steht aber dann vor allem das LAN (incl. Treiber).

Grundsätzlich könnte der Adapter solche Fehler auch einfach unterdrücken, aber ich denke ein "warn" ist es schon wert.

@git-kick
Copy link
Owner Author

git-kick commented Apr 23, 2023

Die Erweiterung um INFO wird demnächst als V1.2.0 released.

Achtung: auf npm ist schon eine v1.2.0, aber die hat Fehler (bin mit den Branches durcheinander gekommen); bitte wartet noch auf das Release im ioBroker.

@ArnoD15
Copy link

ArnoD15 commented Apr 23, 2023

Habe gerade die neue Version installiert und habe immer noch die Meldung "Unknown tag: tagCode=0xa800036, len=8, typeCode=0xd".

@ArnoD15
Copy link

ArnoD15 commented Apr 23, 2023

OK, da war ich wieder mal zu schnell :-)

@git-kick
Copy link
Owner Author

Nachdem v1.2.0 ein Flop war, kann man jetzt v1.2.1 im "latest" channel probieren. Nicht "stable", ohne Garantie ;-)

@git-kick git-kick closed this as completed May 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants