Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Hm-rega Aktualisierung nur bei echter Änderung

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.0k

Hm-rega Aktualisierung nur bei echter Änderung

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
15 Beiträge 5 Kommentatoren 3.0k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • N Offline
    N Offline
    nobody
    schrieb am zuletzt editiert von
    #1

    Hallo,

    der hm-rega-Adapter verursacht eine ziemliche Grundlast, da alle Variablen im konfigurierten Intervall aus der CCU gelesen und immer überschrieben werden. Die Last entsteht leider nicht nur in der CCU und js-Controller sondern auch in node-red und vis.

    Hier wäre es besser, wenn vor dem Überschreiben des Werts erst einmal überprüft wird, ob der in der states-DB gespeicherte Wert vom neuen Wert abweicht oder ack noch nicht gesetzt ist und nur dann, wenn eine Wertänderung erforderlich ist, der Wert wirklich überschrieben wird.

    Hierfür wäre eine neue Methode (z.B. setStateIfChanged) im js-Controller sinnvoll, die die Wertprüfung direkt vor dem Speichern macht. Dann wäre keine zusätzliche Kommunkikation zwischen hm-rega-Adapter und js-controller erforderlich und die Latenz würde nicht wesentlich steigen.

    Gruß

    Markus

    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #2

      @nobody:

      Hallo,

      der hm-rega-Adapter verursacht eine ziemliche Grundlast, da alle Variablen im konfigurierten Intervall aus der CCU gelesen und immer überschrieben werden. Die Last entsteht leider nicht nur in der CCU und js-Controller sondern auch in node-red und vis.

      Hier wäre es besser, wenn vor dem Überschreiben des Werts erst einmal überprüft wird, ob der in der states-DB gespeicherte Wert vom neuen Wert abweicht oder ack noch nicht gesetzt ist und nur dann, wenn eine Wertänderung erforderlich ist, der Wert wirklich überschrieben wird.

      Hierfür wäre eine neue Methode (z.B. setStateIfChanged) im js-Controller sinnvoll, die die Wertprüfung direkt vor dem Speichern macht. Dann wäre keine zusätzliche Kommunkikation zwischen hm-rega-Adapter und js-controller erforderlich und die Latenz würde nicht wesentlich steigen.

      Gruß

      Markus `
      Interessanter Vorschlag.

      1 Antwort Letzte Antwort
      0
      • N Offline
        N Offline
        nobody
        schrieb am zuletzt editiert von
        #3

        Ich hab mal in die statesInRedis.js und statesInMemServer.js rein geschaut.

        Eigentlich ist da ja schon alles da. Der alte Wert wird ausgelesen und das Timestamp für die Änderung nur dann geändert, wenn eine Wertänderung stattgefunden hat. Man müsste nur per optionalem Parameter festlegen können, ob der Wert geschrieben werden soll, wenn sich nur der ts-Wert geändert hat.

        1 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @nobody:

          der hm-rega-Adapter verursacht eine ziemliche Grundlast, da alle Variablen im konfigurierten Intervall aus der CCU gelesen und immer überschrieben werden. Die Last entsteht leider nicht nur in der CCU und js-Controller sondern auch in node-red und vis.

          Hier wäre es besser, wenn vor dem Überschreiben des Werts erst einmal überprüft wird, ob der in der states-DB gespeicherte Wert vom neuen Wert abweicht oder ack noch nicht gesetzt ist und nur dann, wenn eine Wertänderung erforderlich ist, der Wert wirklich überschrieben wird. `
          Da der hm-rega-Adapter die Werte ohnehin puffert, wäre eine einfache Abfrage innerhalb des Adapters sinnvoll (Beispiel: pollVariables, Zeile 463)

                      if(regaStates[id] !== val) {
                        regaStates[id] = val;
                        adapter.setState(adapter.namespace + '.' + id, val, true);
                      }    
          
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • N Offline
            N Offline
            nobody
            schrieb am zuletzt editiert von
            #5

            @paul53:

            Da der hm-rega-Adapter die Werte ohnehin puffert, wäre eine einfache Abfrage innerhalb des Adapters sinnvoll (Beispiel: pollVariables, Zeile 463) `

            Danke für den Tipp. Die Stelle sieht vielversprechend aus. Ich ändere das mal bei mir lokal und schaue, ob noch alles korrekt läuft.

            1 Antwort Letzte Antwort
            0
            • N Offline
              N Offline
              nobody
              schrieb am zuletzt editiert von
              #6

              ich hab die Änderung nun in die beiden Poll-Funktionen für Variablen und Programm-Status eingebaut.

              Funktioniert soweit. Änderungen werden weiterhin übertragen, aber ansonsten werden keine Ereignisse ausgelöst.

              Falls jemand testen möchte:

              https://github.com/nobodyMO/ioBroker.hm-rega.git

              Wenn keine Probleme auftauchen werde ich morgen dafür einen pull request einstellen.

              1 Antwort Letzte Antwort
              0
              • paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                @nobody:

                ich hab die Änderung nun in die beiden Poll-Funktionen für Variablen und Programm-Status eingebaut. `
                Schau Dir mal noch zwei Stellen in der von Dir geänderten Version an:

                • Zeilen 649-651

                • Zeilen 1223- 1240

                Diese sollten wohl auch noch durch eine entsprechende Abfrage ergänzt werden ?

                EDIT: Die Funktionen mit den angegebenen Zeilen werden anscheinend nur bei Adapter-Start aufgerufen. Damit erübrigt sich die zusätzliche Abfrage.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                0
                • N Offline
                  N Offline
                  nobody
                  schrieb am zuletzt editiert von
                  #8

                  ok.

                  Ich hab noch eine Kleinigkeit ergänzt:

                  Wenn ein State in der CCU gesetzt wird, der State nun anschließend direkt mit ack=true überschrieben, weil dies nur noch durch den Poll erfolgt, wenn sich der Wert unterscheidet.

                  1 Antwort Letzte Antwort
                  0
                  • BluefoxB Offline
                    BluefoxB Offline
                    Bluefox
                    schrieb am zuletzt editiert von
                    #9

                    Habe erst jetzt die Diskussion entdeckt, bevor aber auch die Datei geändert. :?

                    Ist noch nicht getestet, aber bei mir sind mehr Verbesserungen drin. ;)
                    48_hm-rega.js

                    1 Antwort Letzte Antwort
                    0
                    • N Offline
                      N Offline
                      nobody
                      schrieb am zuletzt editiert von
                      #10

                      Danke bluefox.

                      Ich hab die neue Version bei mir installiert. Bis jetzt läuft sie ohne Probleme und wie ich es mir vorgestellt hatte.

                      1 Antwort Letzte Antwort
                      0
                      • BluefoxB Offline
                        BluefoxB Offline
                        Bluefox
                        schrieb am zuletzt editiert von
                        #11

                        Man kann jetzt vom git updaten und ausprobieren. Ich hoffe es wird was für Performance sorgen.

                        Du (nobody) hast schon gut die Stelle gefunden. Wenn die Leute update alle 5-10 Sekunden haben und dazu noch 100-150 Alarme/Variable/Programme, dann ist es ordentlich last gewesen.

                        1 Antwort Letzte Antwort
                        0
                        • apollon77A Offline
                          apollon77A Offline
                          apollon77
                          schrieb am zuletzt editiert von
                          #12

                          Auch installiert, alles ok bisher.

                          Ich beobachte mal die Lastdaten der CCU die nächsten Tage :-)

                          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                          1 Antwort Letzte Antwort
                          0
                          • P Offline
                            P Offline
                            pix
                            schrieb am zuletzt editiert von
                            #13

                            Seit 23.8. installiert. Tablet reagiert viel besser. Beobachte weiter, aber sieht sehr gut aus!

                            Pix

                            ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                            1 Antwort Letzte Antwort
                            0
                            • apollon77A Offline
                              apollon77A Offline
                              apollon77
                              schrieb am zuletzt editiert von
                              #14

                              Die Lastgraphen der CCU zeigen keine echte Veränderung. Vom CubieTruck hab ich keider keine :-(

                              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                              1 Antwort Letzte Antwort
                              0
                              • N Offline
                                N Offline
                                nobody
                                schrieb am zuletzt editiert von
                                #15

                                Hallo apollon77,

                                hätte mich auch sehr gewundert, wenn sich für die ccu irgendwas geändert hätte. Es werden ja weiterhin alle Werte abgerufen und erst im Adapter gefiltert.

                                Gesendet von meinem SM-G900F mit Tapatalk

                                1 Antwort Letzte Antwort
                                0
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate
                                FAQ Cloud / IOT
                                HowTo: Node.js-Update
                                HowTo: Backup/Restore
                                Downloads
                                BLOG

                                601

                                Online

                                32.4k

                                Benutzer

                                81.5k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Home
                                • Aktuell
                                • Tags
                                • Ungelesen 0
                                • Kategorien
                                • Unreplied
                                • Beliebt
                                • GitHub
                                • Docu
                                • Hilfe