Skip to content

Conversation

LKuemmel
Copy link
Contributor

No description provided.

@LKuemmel LKuemmel requested a review from benderl October 12, 2022 06:13
@benderl
Copy link
Contributor

benderl commented Oct 12, 2022

Ich kann nicht beurteilen, ob der Datentyp der Seriennummer immer eine Zahl ist. Eventuell gibt es auch Seriennummern mit Nullen am Anfang?
Ich würde bei solchen Daten, die nicht klar definiert sind und nicht von uns beeinflusst werden können, immer einen String als Datentyp nehmen. Dann bekommt man nicht irgendwann doch Probleme, falls SMA die Zahlen ausgehen und z.B. auf Hexadezimal umgestellt wird.

@LKuemmel
Copy link
Contributor Author

@yankee42 Du hast mal diese Prüfung eingebaut:
log.error("Serial <%s> must bei an int or None, but is <%s>. Assuming None.", serial, type(serial))
Hast Du weitere Infos zur Seriennummer?

Copy link
Contributor

@benderl benderl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wenn es beim Datentyp Int bleiben soll, macht es Sinn, eine Anzahl Stellen vorzugeben, um ein paar Falscheingaben abzufangen. Einfach diese Parameter für openwb-base-number-input ergänzen:
min="1000000"
max="9999999"
Wobei ich keine Ahnung habe, wieviele Stellen so eine Seriennummer haben kann.

@yankee42
Copy link

@yankee42 Du hast mal diese Prüfung eingebaut: log.error("Serial <%s> must bei an int or None, but is <%s>. Assuming None.", serial, type(serial)) Hast Du weitere Infos zur Seriennummer?

Oh, ein Rechtschreibfehler. Es muss natürlich "be an int" heißen.

Aber zu deiner Frage: Die Seriennummer wird im Speedwire-Protokoll binär als 4-Byte-Integer übertragen.

Ich kann nicht beurteilen, ob der Datentyp der Seriennummer immer eine Zahl ist. Eventuell gibt es auch Seriennummern mit Nullen am Anfang?

Es ist immer eine Zahl. Man kann auch Nullen vorranstellen, wenn man die Darstellung schöner findet, macht aber keinen Unterschied.

Dann bekommt man nicht irgendwann doch Probleme, falls SMA die Zahlen ausgehen und z.B. auf Hexadezimal umgestellt wird.

Da kann ich dich beruhigen. Wenn SMA das Ändern will, müssen sie das Speedwire Protokoll ändern und dann geht das ganze Modul nicht mehr.

Was mir zu dem PR einfällt: Bis jetzt ist es so, dass man none (oder irgendwas, was keine Zahl ist) eingeben kann, damit die Seriennummer gänzlich ignoriert wird. Geht irgend sowas nach dem PR noch?

@LKuemmel
Copy link
Contributor Author

Ja, dann das Feld leer lassen.

@benderl benderl merged commit 0bf6cde into openWB:main Oct 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants