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

Reading from file, not from port #472

Open
Nick-2-2 opened this issue Nov 1, 2023 · 13 comments
Open

Reading from file, not from port #472

Nick-2-2 opened this issue Nov 1, 2023 · 13 comments
Assignees
Labels
enhancement New feature or request

Comments

@Nick-2-2
Copy link

Nick-2-2 commented Nov 1, 2023

Hallo!
Vielen Dank für die Arbeit und den Adapter.
Ich wollte die Daten meines neuen SmartShunt in ioBroker einlesen und habe mir einen TTL-RS232-Wandler für die ve.direct Schnittstelle gebaut und mit meinem RS232->TCP Adapter verbunden. Anders bekomme ich keine seriellen Daten in meine vmware rein.
Dann ein socat pty,link=/dev/virtualcom0,raw tcp:Ei.Pi.Ad.Rs:port &
und ich kann auf dem ioBroker-Server den seriellen Datenstrom des SmartShut z.B mit cat /dev/virtualcom0 lesen. Schön.

Gibt man in der Instanzkonfiguration /dev/virtualcom0 ein, scheitert natürlich schon das
port = new SerialPort({ path: USB_Device, baudRate: 19200 ...
und es gibt den 'Issue handling serial port connection : ' - Fehler

Wäre es möglich, auch direkt von z.B /dev/virtualcom0 zu lesen?
Javascript ist nicht mein Thema - ich komme aus der Fortran-Ära :-)

Viele Grüße
Nick

@Nick-2-2 Nick-2-2 added the enhancement New feature or request label Nov 1, 2023
@DutchmanNL
Copy link
Contributor

Wäre es möglich, auch direkt von z.B /dev/virtualcom0 zu lesen?

ich müsste wissen was fuer settings es braucht und ob es eine serielle Kommunikation ist.
Der adapter ist auf serial communication basiert, auch das auslesen der werte etc das ist also die basis

was fuer ein Fehler kommt da genau? Sollte noch n bissl mehr stehen was uns eventuell weiterhelfen kan

@Nick-2-2
Copy link
Author

Nick-2-2 commented Nov 1, 2023

es braucht keine Settings. Eigentlich öffnet man nur die Datei /dev/virtualcom0 und liest eine Zeile bis zum CRLF
Gelegentlich kommt dann ein CHECKSUM
Parameter wie z.B. Baudrate oder Handshake braucht man nicht.
Die relevanten Zeilen des Logs:
2023-11-01 13:04:07.502 - info: host.kd007 "system.adapter.vedirect.0" enabled
2023-11-01 13:04:07.521 - info: host.kd007 instance system.adapter.vedirect.0 started with pid 3546
2023-11-01 13:04:08.132 - debug: vedirect.0 (3546) Redis Objects: Use Redis connection: 127.0.0.1:9001
2023-11-01 13:04:08.154 - debug: vedirect.0 (3546) Objects client ready ... initialize now
2023-11-01 13:04:08.154 - debug: vedirect.0 (3546) Objects create System PubSub Client
2023-11-01 13:04:08.155 - debug: vedirect.0 (3546) Objects create User PubSub Client
2023-11-01 13:04:08.162 - debug: vedirect.0 (3546) Objects client initialize lua scripts
2023-11-01 13:04:08.165 - debug: vedirect.0 (3546) Objects connected to redis: 127.0.0.1:9001
2023-11-01 13:04:08.166 - silly: vedirect.0 (3546) redis psubscribe cfg.o.system.user.*
2023-11-01 13:04:08.170 - silly: vedirect.0 (3546) redis psubscribe cfg.o.enum.*
2023-11-01 13:04:08.172 - silly: vedirect.0 (3546) objectDB connected
2023-11-01 13:04:08.174 - debug: vedirect.0 (3546) Redis States: Use Redis connection: 127.0.0.1:9000
2023-11-01 13:04:08.177 - debug: vedirect.0 (3546) States create System PubSub Client
2023-11-01 13:04:08.177 - debug: vedirect.0 (3546) States create User PubSub Client
2023-11-01 13:04:08.224 - debug: vedirect.0 (3546) States connected to redis: 127.0.0.1:9000
2023-11-01 13:04:08.225 - silly: vedirect.0 (3546) statesDB connected
2023-11-01 13:04:08.239 - debug: vedirect.0 (3546) Plugin sentry Initialize Plugin (enabled=true)
2023-11-01 13:04:08.241 - info: vedirect.0 (3546) Plugin sentry Sentry Plugin disabled for this process because sending of statistic data is disabled for the system
2023-11-01 13:04:08.335 - info: vedirect.0 (3546) starting. Version 0.3.0 (non-npm: DrozmotiX/ioBroker.vedirect#321f717ae28d8a2268c92bafed3da1d9cb3c7c60) in /opt/iobroker/node_modules/iobroker.vedirect, node: v18.16.0, js-controller: 4.0.24
2023-11-01 13:04:08.349 - info: vedirect.0 (3546) Starting VE.Direct with Protocol Version 3.33 and configurable expiring state capability
2023-11-01 13:04:08.356 - error: vedirect.0 (3546) Issue handling serial port connection : {}
2023-11-01 13:04:08.360 - silly: vedirect.0 (3546) States system redis pmessage system.adapter.vedirect.0.logLevel/system.adapter.vedirect.0.logLevel:{"val":"silly","ack":true,"ts":1698840248353,"q":0,"from":"system.adapter.vedirect.0","lc":1698840248353}

Die relevanten Zeilen von /dev/virtualcom0:
PID 0xA389
V 36595
I 0
P 0
CE 0
SOC 1000
TTG -1
Alarm OFF
AR 0
BMV SmartShunt 500A/50mV
FW 0414
MON 0
Checksum g
H1 0
H2 0
H3 0
H4 0
H5 0
H6 0
H7 12010
H8 49689
H9 0
H10 0
H11 0
H12 0
H15 0
H16 0
H17 0
H18 0
Checksum ▒

@DutchmanNL
Copy link
Contributor

es braucht keine Settings. Eigentlich öffnet man nur die Datei /dev/virtualcom0 und liest eine Zeile bis zum CRLF

hmm ok, also ist es kein serial listener mehr sonder ein file reader der überwachen muss ob die Datei sich geändert hat und dan auslesen.

möglich auf jedenfalls, in NodeJS kan man das mit fs realisieren, habe damit aber noch nie rumgespielt ehrlich gesagt und problem ist ein wenig das ich es hier nicht local habe.

also um zu verstehen was da dan passiert und notwendig ist brauchte ich Zugang zu einem test-system mit dieser sistuation

@Nick-2-2
Copy link
Author

Nick-2-2 commented Nov 1, 2023

Genau, fs habe ich auch gefunden. und dann noch
https://www.digitalocean.com/community/tutorials/java-read-file-line-by-line
aber umsetzten kann ich das nicht.
Sind ja immer 2 Blöcke die da kommen. Zeilen mit "CRLF = 0D0A" und Block mit "Checksum" terminiert

das Testsystem wird sich machen lassen. Ich clone die VM, strippe die nicht relevanten Komponenten und gebe Dir die Zugangsdaten per PM.
Ich melde mich, sobald ich damit fertig bin.

danke, Nick

@DutchmanNL
Copy link
Contributor

Genau, fs habe ich auch gefunden. und dann noch https://www.digitalocean.com/community/tutorials/java-read-file-line-by-line aber umsetzten kann ich das nicht. Sind ja immer 2 Blöcke die da kommen. Zeilen mit "CRLF = 0D0A" und Block mit "Checksum" terminiert

das Testsystem wird sich machen lassen. Ich clone die VM, strippe die nicht relevanten Komponenten und gebe Dir die Zugangsdaten per PM. Ich melde mich, sobald ich damit fertig bin.

danke, Nick

danke das waehre super, dan kan ich mich da mal drauf einklinken und schauen ob wir das hinbekommen

@Nick-2-2
Copy link
Author

Nick-2-2 commented Nov 1, 2023

so, ab jetzt könntest Du das mal probieren - wie schreibe ich Dir eine pers Nach Richt?
Wenn´s über github nicht geht, kann ich hier meine mitteilen (für max 24h :-)

@DutchmanNL
Copy link
Contributor

so, ab jetzt könntest Du das mal probieren - wie schreibe ich Dir eine pers Nach Richt?

Wenn´s über github nicht geht, kann ich hier meine mitteilen (für max 24h :-)

Hast du Telegramm oder discord?

@Nick-2-2
Copy link
Author

Nick-2-2 commented Nov 1, 2023

ja Discord habe ich, aber null-Ahnung
ansonsten kannst Du nick007 kud com verwenden, die lösche ich in ein paar Stunden

@DutchmanNL
Copy link
Contributor

ja Discord habe ich, aber null-Ahnung

ansonsten kannst Du nick007 kud com verwenden, die lösche ich in ein paar Stunden

Ich muss mir morgen erstmal fs anschauen ;)

Aber ein Zugang würde Dan helfen um mal bissl mit logging zu spielen.

Ich Probier dich mal über DC zu erreichen

@Nick-2-2
Copy link
Author

Nick-2-2 commented Nov 3, 2023

Habe Dir mal im Discord eine Freundschaftsanfrage geschickt, falls Du es bist und es der richtige Knopf war.

@DutchmanNL
Copy link
Contributor

Habe Dir mal im Discord eine Freundschaftsanfrage geschickt, falls Du es bist und es der richtige Knopf war.

ich glaube wir schicken die anfragen zu den falschen personen, ich hatte die auch eine geschickt aber ist wohnlich angekommen ?

Mein discord name: dutchman.nl

Screenshot 2023-11-03 at 16 23 32

@Nick-2-2
Copy link
Author

Nick-2-2 commented Nov 8, 2023

Danke der . war´s der fehlte.
Habe im Discord mal die msg "Prima! was brauchst Du an Infos, um starten zu können?" gesendet.
Ist sie angekommen, oder bediene ich das falsch?

@DutchmanNL
Copy link
Contributor

Danke der . war´s der fehlte.

Habe im Discord mal die msg "Prima! was brauchst Du an Infos, um starten zu können?" gesendet.

Ist sie angekommen, oder bediene ich das falsch?

Hi, sorry! Ha Message ist angekommen en werde mich in kürze bei dir melden.

Bissl arbeits Stress diese Woche aber hab euch nicht vergessen!

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