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

Eingabefeld für Gerätekonstante bei HmIP-ESI lässt keine zweite Nachkommastelle zu #2712

Closed
cmd-sam opened this issue Apr 9, 2024 · 12 comments
Labels
🐛 bug-report Something isn't working 🏷️ WebUI This refs the WebUI component 🙏 help wanted Extra attention is needed

Comments

@cmd-sam
Copy link

cmd-sam commented Apr 9, 2024

Describe the issue you are experiencing

Bildschirmaufnahme.2024-04-09.um.21.02.55.mov

Steps to reproduce the issue

siehe Video

What is the version this bug report is based on?

3.75.6.20240316

Which base platform are you running?

intelnuc (intel NUC, AMD64/x86_64)

Which HomeMatic/homematicIP radio module are you using?

HmIP-RFUSB

Additional information

Ich habe es in Safari, Firefox und DuckDuckGo Browser auf MacOS 14.3 ausprobiert. Sowie in WIN11 in Chrome.

@cmd-sam cmd-sam added the 🐛 bug-report Something isn't working label Apr 9, 2024
@Baxxy13
Copy link
Contributor

Baxxy13 commented Apr 10, 2024

eQ-3 hatte da was gefixt (und heute eine neue CCU3-Version veröffentlicht) was möglicherweise dein Problem angeht.
Der Fix ist in den RM-Nightly's drin, du könntest also mal einen installieren und gucken ob das damit vielleicht schon gelöst ist.

@jens-maus
Copy link
Owner

Ehrlich gesagt bin ich mir selbst nicht so sicher ob der mini-fix den eQ3 da in die 3.75.7 eingebaut hat wirklich die Lösung auch für dieses HmIP-ESI Gerät hier ist. Die Routinen die eQ3 angefasst hatte um da was für die Nachkommastellenanzeige in der WebUI zu reparieren hatten wir im Rahmen von RaspberryMatic ja schon länger angepasst und verbessert. Würde mich nicht wundern wenn sich da diesbzgl. nichts tut mit der 3.75.7.

Wäre aber auch gut wenn du (@Baxxy13) hier vielleicht mal kurz querchecken könntest ob bei anderen Geräten mit der Nachkommastellenanzeige und eingabe mit dem aktuellen 3.75.7 nightly snapshot noch alles soweit gut ist...

@jens-maus jens-maus changed the title Energiezählerschnittstelle Gerätekonstante Eingabefeld lässt keine zweite Nachkommastelle zu Eingabefeld für Gerätekonstante bei für HmIP-ESI lässt keine zweite Nachkommastelle zu Apr 10, 2024
@jens-maus jens-maus added the 🏷️ WebUI This refs the WebUI component label Apr 10, 2024
@jens-maus jens-maus changed the title Eingabefeld für Gerätekonstante bei für HmIP-ESI lässt keine zweite Nachkommastelle zu Eingabefeld für Gerätekonstante bei HmIP-ESI lässt keine zweite Nachkommastelle zu Apr 10, 2024
@Baxxy13
Copy link
Contributor

Baxxy13 commented Apr 10, 2024

Das ist gar nicht so einfach einen passenden Parameter, der 2 Nachkommastellen erlaubt, zu finden.

Die Schwellwerte von IP-Messaktoren erlauben 2 Nachkomastellen, die kann ich auch problemlos mit aktuellem 3.75.7er Nightly setzen. Ich weiß aber nicht ob man das mit der Zählerkonstante des ESI vergleichen kann.
ESI_GAS_Zaehlerkonstante

@jens-maus
Copy link
Owner

Hmm. Dann brauchen wir für diese HmIP-ESI Sacher wohl mehr tester die einfach mal den nightly snapshot installieren und konkret testen...

@jens-maus jens-maus added the 🙏 help wanted Extra attention is needed label Apr 17, 2024
@PhilippEngler
Copy link
Contributor

In der 3.57.7 von EQ3 lässt sich die Gerätekonstante mit zwei Nachkommastellen angeben, in der RaspberryMatic 3.75.7.20240420 und auch in der letzten Nightly 3.75.7.20240519-751e2c funktioniert das nicht.

Es liegt an dem Aufruf der ProofAndSetValue-Funktion in der folgenden Zeile (leider nur aus den Entwicklertools des Browsers)

<input id="separate_CHANNEL_1_2" type="text" size="5" value="0.01" name="METER_CONSTANT_VOLUME" onblur="ProofAndSetValue(this.id, this.id, '0.0', '65.5', 1);">

werden die Parameter wie folgt geändert

ProofAndSetValue(this.id, this.id, '0.00', '65.53', 1);

werden zwei Nachkommastellen übernommen. Kann es sein, dass das Problem durch einen WebUI-Patch entsteht?

@Baxxy13
Copy link
Contributor

Baxxy13 commented May 20, 2024

Hmm, die ProofAndSetValue-Funktion arbeitet nach meinen Tests richtig.
Das Problem scheint das sie nicht mit der korrekten Anzahl Nachkommastellen gefüttert wird.
Warum das an dieser Stelle passiert kann ich aktuell nicht sagen.
Der Gegentest mit den Grenzwerten einer PSM passt jedenfalls:
RM_PSM_Grenzwerte_ProofAndSet

@PhilippEngler
Copy link
Contributor

Ja, die ProofAndSetValue-Funktion arbeitet korrekt (habe ich auch in keinster Weise angezweifelt). Aber die übergebenen Minimum- und Maximum-Werte sind nicht korrekt. Wenn man die ändert, werden auch für den ESI zwei Nachkommastellen übernommen.

@jens-maus
Copy link
Owner

jens-maus commented May 20, 2024

Dann sollte man jemand herausfinden wo genau im WebUI Quellcode der proofandset Aufruf stattfindet damit man da sicherstellen kann das diese dann mit zwei nachkommastellen aufgerufen wird. D.h. Jemand müsste man konkret im Dateisystem die Datei+Zeile herausfinden wo die für den ESI aufgerufen wird, dann könnte ich die ggf. anpassen.

@jens-maus
Copy link
Owner

Hab mir das jetzt mal selbst ein wenig angeschaut und vielleicht die Lösung dazu bereits gefunden und dafür den entsprechenden WebUI Patch modifiziert damit er auch mit METER_CONSTANT_ENERGY klar kommt und hier zwei Nachkommastellen ausgibt und zur Eingabe zulassen sollte. Bitte also Betroffene den nächsten nightly snapshot am besten einmal testen und zurückmelden ob diese Anpassung das hier diskutierte Problem wirklich löst.

@PhilippEngler
Copy link
Contributor

PhilippEngler commented May 21, 2024

Vielen Dank, Jens. Diesen Patch hatte ich mir auch angesehen.

Zumindest bei mir haben Deine Änderungen in der RaspberryMatic 3.75.7.20240521-7d6677 leider nicht den gewünschten Erfolg gehabt.

Ich habe mir das nun noch etwas genauer angesehen. Wenn ich den in der uiElements.tcl die Zeilen 241 bis 248 wie folgt ersetze:

  if {([string equal $dev_descr(TYPE) "HmIP-ESI"] == 1)} {
    if {$param == "METER_OBIS_SEARCH_STRING"} {
      set minValue "stringUTF8"
      set maxValue "stringUTF8"
      set maxLength "maxLength=16"
      set sizeTextfield 16
    }
    if {$param == "METER_CONSTANT_VOLUME"} {
      set minValue [format {%1.2f} $param_descr(MIN)]
      set maxValue [format {%1.2f} $param_descr(MAX)]
    }
  }

(der Teil METER_OBIS_SEARCH_STRING ist unverändert geblieben, der Teil METER_CONSTANT_VOLUME ist neu hinzugekommen), funktioniert es hier nun.

ESI

Allerdings weiß ich nicht, ob das andere Probleme verursachen kann.

jens-maus added a commit that referenced this issue May 21, 2024
precision for the input values for the HmIP-ESI (this refs #2712).
@jens-maus
Copy link
Owner

Zumindest bei mir haben Deine Änderungen in der RaspberryMatic 3.75.7.20240521-7d6677 leider nicht den gewünschten Erfolg gehabt.

Danke, das hat weitergeholfen. Mit dem nächsten nightly snapshot sollte das dann hoffentlich komplett behoben sein und eine zweistellige Eingabe von Werten dann mit einem HmIP-ESI möglich sein. Bitte dann reporten dann können wir hier dicht macht.

@jens-maus jens-maus added this to the next release milestone May 21, 2024
@PhilippEngler
Copy link
Contributor

Danke Jens, in der 3.75.7.20240522-b64307 funktioniert das nun korrekt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛 bug-report Something isn't working 🏷️ WebUI This refs the WebUI component 🙏 help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants