Kleinrotti / py-senertec

Senertec energy system gen2 interface.
MIT License
2 stars 1 forks source link

Differenzierte Datapoint Namen bei Array Werten #4

Closed MarAlze closed 1 year ago

MarAlze commented 1 year ago

Um die Datenverarbeitung für die lib und für HA zu verbessern schlage ich vor bei werden die in einem Array geliefert werden diese verschieden zu benennen.

Beispiel die Speichertemperaturen: Source: BM001 Name: Gem.PuSpTemp Value: 0.05°C SCB-06 Source: BM001 Name: Gem.PuSpTemp Value: 55.2°C SCB-06 Wert vom Screenshot Source: BM001 Name: Gem.PuSpTemp Value: 39.4°C SCB-06 Source: BM001 Name: Gem.PuSpTemp Value: -2.5°C SCB-06 Source: BM001 Name: Gem.PuSpTemp Value: 19.59°C SCB-06 Source: BM001 Name: Gem.PuSpTemp Value: 0.05°C EM-FC01 Source: BM001 Name: Gem.PuSpTemp Value: 0.05°C SCB-06

ggf. mit _1 _2 _3 _4 etc. oder ähnlich

Screenshot 2023-04-02 222737

Kleinrotti commented 1 year ago

Schau ich mir an

Kleinrotti commented 1 year ago

Mein aktueller Plan wäre alle Datenpunkte die nicht aktuell sind (age >0) raus zu filtern, sodass nur der aktuelle Wert zurückgegeben wird vom Array. Das mit der Benennung klappt leider nicht wirklich, da auch einige Werte kommen wo index: null ist obwohl es ein Array ist. Außerdem sollen auch nur aktuelle Werte mit der request Funktion abgefragt werden und keine "Historie".

MarAlze commented 1 year ago

Hmmmm das ist blöd.

Dann muss ich mein Python lernen wohl noch ein bisschen beschleunigen. 🙈

Das Problem ist in dem BM001 liegen die 3 Speicher Temperaturen für den Dachs 08 und der Electra

Ich glaube ich werde versuchen da eine If abfrage einzubauen wenn BM001 dann lege die Array variablen an.

Bin halt mehr bei codesys und ein bisschen c# unterwegs.

Frau und Kinder brauchen ja auch noch ein bisschen Zeit.

Kleinrotti commented 1 year ago

Was ich als alternative einbauen könnte wäre eine neue Funktion, die dann ausschließlich Datenpunkte abfragt die als Array kommen.

Da würde dann als Beispiel für deinen BM001 Sensor sowas zurück kommen: image

Kleinrotti commented 1 year ago

Ich glaube ich habe eine gute Lösung gefunden. Mit einem zweitem Callback sollte das relativ einfach machbar sein.

Kleinrotti commented 1 year ago

Was meinst du, würde das so für dich passen, habe es doch mit der Benennung hin bekommen:


Source: BM001_0
Board: EM-FC01
Name: Meas Btank temp 0
Value: 59.800000000000004°C

Source: BM001_1
Board: EM-FC01
Name: Meas Btank temp 1
Value: 51.2°C

Source: BM001_2
Board: EM-FC01
Name: Meas Btank temp 2
Value: 30.84°C

Source: BM001_3
Board: EM-FC01
Name: Meas Btank temp 3
Value: -2.42°C

Source: BM001_4
Board: EM-FC01
Name: Meas Btank temp 4
Value: 35.800000000000004°C
MarAlze commented 1 year ago

Du bist eine Granate.

Ich glaube ich hätte ewig dafür gebraucht.

Ich hoffe ich nerve nicht zu viel mit meinen Ideen und Vorschlägen.🙈

Kleinrotti commented 1 year ago

Freut mich das ich dir damit helfen kann :) Über neue Ideen oder Verbesserungsvorschläge bin ich immer dankbar.

Das mit der Benennung macht ja auch Sinn, da man sonst die verschiedenen Werte nicht unterscheiden kann. Das hatte ich vorher auch gar nicht so auf dem Schirm, dass mehrere Werte für den gleichen Sensor als Array hintereinander kommen ^^

Ich mache die Tage ein neues Release fertig. Und schöne Ostern wünsche ich dir und deiner Familie :)

MarAlze commented 1 year ago

👍

Du bist wunderbar.

Dankeschön und dir auch noch schöne Feiertage.