Mögliche "STATUS PENDING" Anzeige in WebUI. Feedback erbeten.

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Benutzeravatar
jmaus
Beiträge: 8639
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 335 Mal
Danksagung erhalten: 1273 Mal
Kontaktdaten:

Re: Mögliche "STATUS PENDING" Anzeige in WebUI. Feedback erbeten.

Beitrag von jmaus » 11.07.2022, 15:38

stan23 hat geschrieben:
11.07.2022, 15:23
Zum Thema "letzte Änderung":
wenn ein Schaltaktor (HmIP-PSM, HM-ES-PMSw1-Pl) oder ein Wandthermostat (HM-TC-IT-WM-W-EU) den gleichen Schaltzustand oder die gleiche gemessene Temperatur meldet, dann ist es doch keine Änderung und das gelbe Schild bleibt bestehen?
Das ist ne gute Frage die ich so nicht beantworten kann und jemand einfach mal austesten müsste. Auch wäre die Frage wie z.B. mit einem solchen PENDING status auch in der Darstellung wie bei dir gezeigt es sich verhalten soll? Dort wird ja trotzdem das "Verschlossen" mit blauem Hintergrund dargestellt. IMHO sollten aber beide gleich aussehen, eben weil der reale Status im Grunde "unknown" ist und weder "Offen" noch "Verschlossen" in dem Moment korrekt ist.
RaspberryMatic 3.65.6.20220723 @ Proxmox – ~195 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker – GitHub / Twitter / Facebook / Sponsors

Benutzeravatar
Baxxy
Beiträge: 6346
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 380 Mal
Danksagung erhalten: 1169 Mal

Re: Mögliche "STATUS PENDING" Anzeige in WebUI. Feedback erbeten.

Beitrag von Baxxy » 11.07.2022, 15:51

jmaus hat geschrieben:
11.07.2022, 15:38
Das ist ne gute Frage die ich so nicht beantworten kann und jemand einfach mal austesten müsste.
Das ist ganz einfach. :wink:
LastTimestampSeconds() ist m.E. das falsche Mittel der Wahl.

Kurz erklärt:
Nach Zentralen-Reboot sind TimestampSeconds() und LastTimestampSeconds() == "0".

Die erste Aktion auf dem DP aktualisiert nur TimestampSeconds(), genauer gesagt wird die "0" von TimestampSeconds() nach LastTimestampSeconds() "kopiert".

Man muss also aktuell 2 zykl. Meldungen abwarten bzw. 2 Aktionen auf dem DP haben bis der Status per LastTimestampSeconds() "korrekt" (also Epoch > "0") ist.

Für die HomematicIP (local) Integration (HA) hatte ich auch empfohlen das über den Timestamp() bzw. TimestampSeconds() auszuwerten.

Benutzeravatar
jmaus
Beiträge: 8639
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 335 Mal
Danksagung erhalten: 1273 Mal
Kontaktdaten:

Re: Mögliche "STATUS PENDING" Anzeige in WebUI. Feedback erbeten.

Beitrag von jmaus » 11.07.2022, 16:02

Baxxy hat geschrieben:
11.07.2022, 15:51
jmaus hat geschrieben:
11.07.2022, 15:38
Das ist ne gute Frage die ich so nicht beantworten kann und jemand einfach mal austesten müsste.
Das ist ganz einfach. :wink:
LastTimestampSeconds() ist m.E. das falsche Mittel der Wahl.
Ok, danke für die präzisierung. Aktuell nehme ich ja die "system.fn::getLastTime()" Methode aus der WebUI wie man unschwer erkennen kann. Die ist wie folgt für Kanäle und Datenpunkte umgesetzt:

Code: Alles auswählen

[...]
    if( obj.IsTypeOf( OT_CHANNEL ) )
    {    
      sLastTime = obj.LastDPActionTime();          
      iSeconds = obj.LastDPActionTimeSeconds();
    }                                                                     
    if( obj.IsTypeOf( OT_DP ) )
    {                               
      sLastTime = obj.Timestamp();        
      iSeconds = obj.TimestampSeconds();
    }    
[...]                              
D.h. hier wird entweder LastDPActionTimeSeconds() oder TimestampSeconds() verwendet. Müsstest du also bitte mal beides testen ob es so auch geht. Im Grunde ist das ja genau die Zeit die in der "Letzte Änderung" Spalte angezeigt wird. Wird da nämlich keine angezeigt entspricht das iSeconds==0.
RaspberryMatic 3.65.6.20220723 @ Proxmox – ~195 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker – GitHub / Twitter / Facebook / Sponsors

Benutzeravatar
Baxxy
Beiträge: 6346
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 380 Mal
Danksagung erhalten: 1169 Mal

Re: Mögliche "STATUS PENDING" Anzeige in WebUI. Feedback erbeten.

Beitrag von Baxxy » 11.07.2022, 16:37

Hmm, LastDPActionTime() vom Kanal ist auch nicht so das Gelbe vom Ei.

Beispiel:
  • HmIP-PS Kanal:3 ist EIN (erster virt.Schaltkanal) --> Zentrale wird rebootet
  • LastDPActionTime() von Kanal:3 ist nun "0"
  • Ich schalte Kanal:3 der PS (über deren Taste) AUS
  • LastDPActionTime() bleibt "0" weil für die ReGa nur eine "Änderung" zählt um LastDPActionTime() zu "aktualisieren"
  • Erst der nächste "gegenseitige Schaltvorgang" aktualisiert den LastDPActionTime() vom Kanal, zyklische Meldungen der weiterhin AUSgeschalteten PS hingegen nicht

Benutzeravatar
jmaus
Beiträge: 8639
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 335 Mal
Danksagung erhalten: 1273 Mal
Kontaktdaten:

Re: Mögliche "STATUS PENDING" Anzeige in WebUI. Feedback erbeten.

Beitrag von jmaus » 11.07.2022, 19:38

Ok, danke für das Testen. Und mit .TimestampSeconds() passt dann alles wirklich wie gedacht und mit alle möglichen Aktoren/Sensoren?
RaspberryMatic 3.65.6.20220723 @ Proxmox – ~195 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker – GitHub / Twitter / Facebook / Sponsors

Benutzeravatar
Baxxy
Beiträge: 6346
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 380 Mal
Danksagung erhalten: 1169 Mal

Re: Mögliche "STATUS PENDING" Anzeige in WebUI. Feedback erbeten.

Beitrag von Baxxy » 11.07.2022, 19:50

Das kann nur ein größerer "Feldtest" zeigen.
Bei dem was ich mir hier angeguckt habe (PS/SWDO) sah das erstmal korrekt aus.

Willst du das jetzt eigentlich "auf alles" anwenden oder erstmal nur auf Geräte mit Binär-Status begrenzen?
Alls was "nichts falsches" anzeigen kann (Taster) habt ihr ja schon aussortiert.

Grüße, Baxxy

Benutzeravatar
jmaus
Beiträge: 8639
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 335 Mal
Danksagung erhalten: 1273 Mal
Kontaktdaten:

Re: Mögliche "STATUS PENDING" Anzeige in WebUI. Feedback erbeten.

Beitrag von jmaus » 11.07.2022, 19:59

Baxxy hat geschrieben:
11.07.2022, 19:50
Willst du das jetzt eigentlich "auf alles" anwenden oder erstmal nur auf Geräte mit Binär-Status begrenzen?
Alls was "nichts falsches" anzeigen kann (Taster) habt ihr ja schon aussortiert.
Meine Idee war schon das jetzt generell einzubauen und quasi wie jetzt geschehen nur eine blacklist zu haben von Geräten/Typen für die man diese PENDING Anzeige nicht umsetzen sollte.

Es bleibt aber am Schluss eben noch die Frage inwieweit man das dann noch etwas graphisch besser aufbereitet. Weil nur dieser "STATUS PENDING“ Text ist vielleicht etwas nichtssagend oder gar verwirrend (und so richtig happy bin ich mit diesem text auch noch nicht). Vielleicht kann man ja noch irgendwie stattdessen etwas ausgrauen oder den Hintegrund einer Zelle oder der gesamten Zeile dieses Kanales anders darstellen lassen damit dieser pending status etwas besser aufbereitet/dargestellt ist. Aber irgendwie kam mir da noch nichz der richtige Geistesblitz! Vielleicht hat ja aber hier jemand eine gute Idee…
RaspberryMatic 3.65.6.20220723 @ Proxmox – ~195 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker – GitHub / Twitter / Facebook / Sponsors

Benutzeravatar
Baxxy
Beiträge: 6346
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 380 Mal
Danksagung erhalten: 1169 Mal

Re: Mögliche "STATUS PENDING" Anzeige in WebUI. Feedback erbeten.

Beitrag von Baxxy » 11.07.2022, 20:21

jmaus hat geschrieben:
11.07.2022, 19:59
das jetzt generell einzubauen
Ok.
Sind da Auswirkungen auf die Performance der Darstellung zu erwarten?
Nehmen wir mal die PS.
Bei deaktivierter "Kindersicherung" stellt die ja 6 Kanäle bei Status und Bedienung > Geräte dar. (den ausgeblendeten Maintenance-Kanal lassen wir mal aussen vor)

Iterierst du da dann über alle Kanäle oder pickst du einen raus?

Alle wäre m.E. zuviel des Guten denn wenn der Timestamp von einem DP (auf einem Kanal) aktualisiert wird passiert das auch für alle anderen DP's auf den anderen (zugehörigen virtuellen) Kanälen.
Mein Vorschlag wäre hier nur den Statuskanal (HssType: SWITCH_TRANSMITTER) heranzuziehen, bei mehrkanaligen Aktoren dann aber für jeden Statuskanal. Beispiel PCBS2 --> Kanal:3 und Kanal:7.

Designentscheidungen sind auch nicht so meins, aber da gibt's ja hier sicher ein paar Leute mit guten Ideen. :)

Mein simpler Vorschlag wäre das gelbe Schild (von den Servicemeldungen) einzublenden und beim "draufgehen" einen Hinweistext ala: "echter Status der Zentrale noch unbekannt..." oder so anzuzeigen.

Benutzeravatar
jmaus
Beiträge: 8639
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 335 Mal
Danksagung erhalten: 1273 Mal
Kontaktdaten:

Re: Mögliche "STATUS PENDING" Anzeige in WebUI. Feedback erbeten.

Beitrag von jmaus » 11.07.2022, 20:23

Baxxy hat geschrieben:
11.07.2022, 19:50
Das kann nur ein größerer "Feldtest" zeigen.
Bei dem was ich mir hier angeguckt habe (PS/SWDO) sah das erstmal korrekt aus.
Jetzt wo ich mit das mit .LastDPActionTimeSeconds() vs. .TimestampSeconds() nochmal genauer angeschaut habe ist mir wieder eingefallen, dass es bei einem Kanal ja gar kein TimestampSeconds() gibt, sondern diese Methode nur auf OT_DP (Datenpunkten) angewendet valide ist. Kannst du also bitte (wenn das wirklich so ist das es nur mit TimestampSeconds() geht) mal zeigen auf welche Datenpunkte eines Kanales zu das bitte anwendest um zu testen das diese 0 sind und folglich PENDING? Weil auf den Kanal kann ich eben .TimestampSeconds() nicht anwenden, sondern lediglich . LastDPActionTimeSeconds().
RaspberryMatic 3.65.6.20220723 @ Proxmox – ~195 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker – GitHub / Twitter / Facebook / Sponsors

MichaelN
Beiträge: 5809
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 441 Mal
Danksagung erhalten: 852 Mal

Re: Mögliche "STATUS PENDING" Anzeige in WebUI. Feedback erbeten.

Beitrag von MichaelN » 11.07.2022, 20:44

jmaus hat geschrieben:
11.07.2022, 19:59
Weil nur dieser "STATUS PENDING“ Text ist vielleicht etwas nichtssagend oder gar verwirrend
Zumindest sollte es bei deutscher Sprache entsprechend übersetzt werden
" Status undefiniert"
Oder
"Aktualisierung ausstehend"
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Antworten

Zurück zu „RaspberryMatic“