Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Homematic Wetterstation via RPC / Rega

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    Homematic Wetterstation via RPC / Rega

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Andersmacher @Homoran last edited by Andersmacher

      @homoran Habe jetzt seit einigen Wochen die IP-Wetterstation und bin grundsätzlich zufrieden damit. Was ich nicht beachtet hatte war, daß ich dafür natürlich eine zusätzliche Instanz des rpc-Adapters spendieren mußte, weil das mein erster IP-Sensor ist. Da ich aber derzeit noch genügend RAM zur Verfügung habe, ist das auch nicht schlimm.

      Du hast ja, wenn ich es richtig verstanden habe, die "normale" HM-Wetterstation. Gibt es bei Dir auch den Effekt, daß die Rega-Werte für "Regen gestern" und "Sonnenstunden gestern" nicht um 0:00 (oder kurz danach), sondern erst am nächsten morgen (bei mir derzeit gegen 7:00) geschrieben werden und bis dahin auch die Regen- und Sonnen-Werte für "heute" noch nicht auf 0 zurückgesetzt werden?
      Sonnenstunden.PNG
      Bei Sonne ist das relativ unkritisch, weil die ja nachts nie scheint.
      Aber bei Regen passiert bei mir das gleiche und wenn es zwischen 0:00 und morgens regnet, paßt dann die jeweilige Summe der History-Balken nicht zu den Rega-Werten "gestern" und "heute".
      Bevor ich die orange Kurve dargestellt habe, hatte ich schon gedacht, daß das was mit den History-Einstellungen zu tun hat (die Dich ja wohl z. Z. auch gerade "beschäftigen"). Aber das schließe ich jetzt eigentlich aus, da morgens tatsächlich der Zeitstempel des auf 0 zurückgesetzten Wertes immer so um 7:00 (+/- 1h) herum ist. Und auch wenn man um Mitternacht direkt in die CCU schaut, werden die heute-Werte nicht zurückgesetzt (habe bis gegen 0:50 beobachtet).
      Ich habe fast den Eindruck, daß der Rücksetzzeitpunkt auch irgendwie damit zusammenhängt, wann am Morgen "das Licht angeht", also Illumination>0 wird. Das muß ich aber noch genauer kontrollieren.

      Was ich schon kontrolliert habe ist, daß meine CCU und ioBroker auf der selben Uhrzeit laufen (sind im Netztwerk via ntp synchronisiert).

      Daß es manchmal Balken mit mehr als 1h Sonne pro Stunde gibt ist derzeit noch unschön und liegt wohl daran, daß die Station nur alle ca. 3 Minuten Werte liefert. Dies wiederum kann man wohl nicht mit der aktuelle Uhrzeit synchronisieren, sodaß sich die aktuell gemessenen Werte +/- ca. 3 Minuten zum Stundenwechsel mal noch in den vorherigen und mal schon in den nächsten Balken "schummeln".

      Homoran Dr. Bakterius 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Andersmacher last edited by

        @andersmacher sagte in Homematic Wetterstation via RPC / Rega:

        oder kurz danach), sondern erst am nächsten morgen (bei mir derzeit gegen 7:00) geschrieben werden

        ja!
        so ist es meteorologisch üblich.
        stammt noch aus der "alten" Zeit, als die Geräte morgens "mit der Hand" abgelesen wurden

        A 1 Reply Last reply Reply Quote 0
        • A
          Andersmacher @Homoran last edited by

          @homoran Ah, ok, das kannte ich bisher nur für Lufttemperaturen und hätte nicht gedacht, daß da ein Zusammenhang besteht. Aber gut, dann gönnen wir der CCU mal den gleichen Schichtbeginn, wie den Wetterfröschen.🤗

          1 Reply Last reply Reply Quote 0
          • Dr. Bakterius
            Dr. Bakterius Most Active @Andersmacher last edited by Dr. Bakterius

            @andersmacher sagte in Homematic Wetterstation via RPC / Rega:

            Rega-Werte für "Regen gestern" und "Sonnenstunden gestern" nicht um 0:00 (oder kurz danach), sondern erst am nächsten morgen (bei mir derzeit gegen 7:00) geschrieben werden

            Wenn du wirklich die Werte von 0-24 Uhr haben möchtest, kannst du das über ein Skript und zwei eigene Datenpunkte verwirklichen. Sieht bei mir so aus:

            blockly.png

            'heute' und 'gestern' sind die von mir angelegten Datenpunkte.

            Homoran A 2 Replies Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Dr. Bakterius last edited by

              @dr-bakterius sagte in Homematic Wetterstation via RPC / Rega:

              Wenn du wirklich die Werte von 0-24 Uhr haben möchtest, kannst du das über ein Skript und zwei eigene Datenpunkte verwirklichen

              es soll auch irgendwo in der CCU einstellbar sein.

              A 1 Reply Last reply Reply Quote 0
              • A
                Andersmacher @Dr. Bakterius last edited by

                @dr-bakterius Danke für den Hinweis/Vorschlag!
                Mit Skripting bekommt man das ja immer irgendwie hin und dank Blockly sogar ich 😊 .
                Bis zur "Aufklärung" durch @Homoran gestern war mein Ansatz allerdings, es ersteinmal mit den bereits "offiziell" vorhandenen Datenpunkten des Sensors / der CCU zu versuchen.

                Zwei Fragen zu Deinem Skript hätte ich noch:

                1. Bei längerem Regen erhälst Du doch vermutlich alle und viele 3 Minuten einen neuen Wert/Trigger und Deine Formel addiert ja "inkrementell" und gerundet Differenzen. Bekommst Du da nicht nach ein paar Stunden spürbare Abweichungen zwischen der von Dir gebildeten "inkrementellen" Summe und dem, was die CCU ermittelt / bereitstellt (was ich jetzt mal im Rahmen der Meßgenauigkeit als "wahren Wert" bezeichnen würde)? Falls ja, könnte man meiner Ansicht nach vermeiden, wenn man sich einfach den RAIN_COUNTER zum Tageswechsel merkt und dann die Differenz immer zu diesem "genauen" Wert bildet.
                2. Als ich mit Skripten in ioBroker anfing mußte ich lernen, daß das Schreiben von Werten in Datenpunkte wohl asynchron passiert und man nicht erwarten darf, daß man beim Auslesen eines Datenpunktes den Wert liest, den man im Skript eine Zeile vorher da hinein geschrieben hat. Wenn ich mir Deine zwei Befehle im Zeitplan ansehe, machst Du soetwas (also schreiben und gleich darauf lesen) ja auch nicht. Muß ich auf Grund der von Dir benutzten 100ms Verzögerung nun aber auch noch lernen, daß der zweite Befehl den ersten "überholen" kann, Du in der ersten Zeile also u. U. ungewollt die 0 auslesen könntest (wenn Du keine Verzögerung eingebaut hättest), die Du erst in der Zeile danach da hineinschreibst - oder wozu dient diese Verzögerung?
                Dr. Bakterius 1 Reply Last reply Reply Quote 0
                • A
                  Andersmacher @Homoran last edited by

                  @homoran Wenn man das tatsächlich einstellen könnte, wäre das natürlich der Hit. Habe bisher allerdings noch keine Stelle dafür in der CCU-GUI gefunden und falls es nur durch editieren einer Konfig-Datei möglich ist: Das zu finden, traue ich mir derzeit nicht zu.

                  Das müßte ja dann eigentlich auch eine Stelle sein, die irgendetwas mit der Wetterstation zu tun hat, denn so, wie Du gestern geschrieben hast, wird dieser Zeitpunkt ja nur meteorologisch genutzt.

                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @Andersmacher last edited by

                    @andersmacher sagte in Homematic Wetterstation via RPC / Rega:

                    Das müßte ja dann eigentlich auch eine Stelle sein, die irgendetwas mit der Wetterstation zu tun hat,

                    zeig doch mal was es unter Geräte -> Einstellungen bei der Wetterstation steht

                    A 1 Reply Last reply Reply Quote 0
                    • A
                      Andersmacher @Homoran last edited by

                      @homoran Firmware V1.0.18
                      Teil1.PNG
                      Teil2.PNG

                      Homoran 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @Andersmacher last edited by

                        @andersmacher hmmm, da steht nix.

                        es muss zusätzlich noch ein Systemskript geben, das die täglichen Werte ermittelt.
                        möglich dass da die Uhrzeit zu ändern wäre.

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          Andersmacher @Homoran last edited by

                          @homoran Danke! Das war der entscheidende Hinweis:
                          Test.PNG
                          Habe mich bisher noch nie mit systeminternen Skripten beschäftigt. Die waren bei mir bis eben immer ausgeblendet. Vermute mal, daß ich da genau wie bei eigenen Skripten einfach den Triggerzeitpunkt verändern kann/darf!?
                          Test1.PNG
                          Hast Du Erfahrung damit:
                          Angenommen ich "versaue" so ein internes Skript mal. Kann man das dann z. B. durch Neuanlernen des Sensors wieder herstellen (lassen)?

                          Homoran 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @Andersmacher last edited by

                            @andersmacher sagte in Homematic Wetterstation via RPC / Rega:

                            Vermute mal, daß ich da genau wie bei eigenen Skripten einfach den Triggerzeitpunkt verändern kann/darf!?

                            ja!

                            @andersmacher sagte in Homematic Wetterstation via RPC / Rega:

                            Kann man das dann z. B. durch Neuanlernen des Sensors wieder herstellen (lassen)?

                            bei komplettem Entfernen und Neu anlernen müsste es klappen.

                            Ob es auch schon mit "Drüberanlernen" klappt weiß ich nicht.

                            1 Reply Last reply Reply Quote 0
                            • Dr. Bakterius
                              Dr. Bakterius Most Active @Andersmacher last edited by

                              @andersmacher sagte in Homematic Wetterstation via RPC / Rega:

                              Bei längerem Regen erhälst Du doch vermutlich alle und viele 3 Minuten einen neuen Wert/Trigger und Deine Formel addiert ja "inkrementell" und gerundet Differenzen. Bekommst Du da nicht nach ein paar Stunden spürbare Abweichungen zwischen der von Dir gebildeten "inkrementellen" Summe

                              Nein, eine Abweichung gibt es nicht. Der Regenmesser misst nur in 0,3 l/m² Abständen. Also nur eine Kommastelle. Der ioBroker hat aber manchmal Probleme mit Kommazahlen zu rechnen und dann kommen Werte wie 1,20000000000001 zustande. Deswegen die Rundung. Hier würde also der Wert auf 1,2 gerundet.

                              wozu dient diese Verzögerung?

                              Ich schreibe erst den Wert von 'heute' nach 'gestern' und dann setze ich 'heute' auf null. Um zu verhindern, dass 'heute' schon auf null gesetzt wird bevor der Wert kopiert wurde, habe ich die Verzögerung eingebaut.

                              Vor zwei Jahren oder so, habe ich den Tageszyklus in der Wetterstation von 7.00 Uhr auf 0.00 Uhr umgestellt. Aber frage mich nicht weshalb ich dann stattdessen das Skript genommen habe. Hatte aber sicher einen Grund. 😉

                              A apollon77 2 Replies Last reply Reply Quote 0
                              • A
                                Andersmacher @Dr. Bakterius last edited by

                                @dr-bakterius Danke für die Erklärungen!

                                Ich schreibe erst den Wert von 'heute' nach 'gestern' und dann setze ich 'heute' auf null.

                                Das hatte ich so verstanden/erkannt.

                                Um zu verhindern, dass 'heute' schon auf null gesetzt wird bevor der Wert kopiert wurde, habe ich die Verzögerung eingebaut.

                                Das habe ich mir gedacht.
                                Aber kann das denn wirklich passieren und falls ja, warum nach 100ms nicht mehr? Es gibt doch keine "garantierte" Schreibzeit - oder?
                                Ich verstehe ja, daß der Schreibvorgang asynchron ist (man also nicht sicher sagen kann, wann er wirklich passiert). Aber nach meinem bisherigen Verständnis ging ich davon aus, daß das wirklich nur das Schreiben betrifft. Irgendwie muß ja durch die Zeile / den Befehl
                                52a98c27-2cc8-4804-8abc-2530eeb7409e-grafik.png auch ein Lesevorgang für f093a39e-cb20-4e2c-b6d5-2d0454b0fd09-grafik.png ausgelöst werden (denn wie, außer durch Lesen, soll er den Wert sonst in Erfahrung bringen) und da bin ich bisher immer davon ausgegangen, daß der abgeschlossen ist/wird, bevor die nächste Code-Zeile ausgeführt wird. In meiner Vorstellung wird dieser gelesene Wert dann (sofort, jedenfalls bevor zur nächsten Code-Zeile gegangen wird) einer "Prozedur/Funktion" übergeben, die den Wert dann "irgendwann" also asynchron wirklich schreibt.
                                Ist das von mir ein Irrglaube?😞

                                Dr. Bakterius 1 Reply Last reply Reply Quote 0
                                • Dr. Bakterius
                                  Dr. Bakterius Most Active @Andersmacher last edited by

                                  @andersmacher sagte in Homematic Wetterstation via RPC / Rega:

                                  Ist das von mir ein Irrglaube?

                                  Das kann ich nicht sagen (aber vielleicht @apollon77). Ich bin hier eben auf Nummer sicher gegangen...

                                  1 Reply Last reply Reply Quote 0
                                  • apollon77
                                    apollon77 @Dr. Bakterius last edited by

                                    @dr-bakterius sagte in Homematic Wetterstation via RPC / Rega:

                                    Der ioBroker hat aber manchmal Probleme mit Kommazahlen zu rechnen und dann kommen Werte wie 1,20000000000001 zustande

                                    Das hat nichts mit ioBroker zu tun, das nennt sich "Informatik :-)) Das ist bei Gleitkommazahlen in jeder programmiersprache bei bestimmten Rechenoperationen so

                                    Zu der anderen farge ...falls ich die verstanden habe: Also wenn du eine variable hast und deren weert schreibst dann wird dieser wert geschrieben auch wenn Du ihn danach auf null setzt ... weil dr wert zum Zeitounktdes aufrufs quasi dupliziert wird

                                    A 1 Reply Last reply Reply Quote 0
                                    • A
                                      Andersmacher @apollon77 last edited by Andersmacher

                                      @apollon77 Bin nicht sicher, ob ich mit meinem (eigentlich nicht vorhandem JS-Wissen) hier nachfragen sollte/darf. Da ich mich da aber nach und nach "reinfummeln will", traue ich mich einfach mal:

                                      Ich hatte es bisher so verstanden, daß Variablen (in Blockly violett) in JavaSkript, so wie in anderen Programmiersprachen auch, immer sofort geschrieben werden. Von früher (Pascal) meine ich auch in Erinnerung zu haben, daß man das gar nicht schreiben, sondern zuweisen nennt/nannte. Also könnte man sie dann in der nächsten Codezeile auch gleich wieder auslesen und würde definitiv den eben geschriebenen (zugewiesenen) Wert erhalten. Verzögerungen wären dafür demnach unsinnig/nicht erforderlich!?

                                      Aber der Wert für ein ioBroker-Objekt (in Blockly blau) (selbst wenn es nicht zu einem Hardware-Adapter gehört, sondern z. B. unter 0_userdata angelegt ist) und um ein solches handelt es sich bei der obigen Objekt ID "heute" ja, ist keine Variable in diesem Sinne und wird durch das asynchrone Schreiben nicht sofort, sondern mit (unbekannter bzw. nicht definierter) Verzögerung geschrieben (auch wenn diese offenbar meist kurz ist, z. B. unter 100ms)!?

                                      Paßt das so oder muß ich da mein (bisher eingebildetes) Wissen updaten?

                                      Homoran A apollon77 3 Replies Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators @Andersmacher last edited by

                                        @andersmacher sagte in Homematic Wetterstation via RPC / Rega:

                                        mit (unbekannter bzw. nicht definierter Verzögerung

                                        das was es halt dauert bis der Wert fertig im System geschrieben ist. Mit allen beteiligten Prozessen und I/O Latenzen.

                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          Andersmacher @Andersmacher last edited by

                                          @homoran:

                                          unbekannter bzw. nicht definierter

                                          war nicht "wertend" gemeint, nur daß es eben in der Praxis nicht vorhersehbar ist, wie lange es dauert, weil es, genau wie Du ja schreibst, von vielen Randbedingungen abhängt.
                                          Aber das gilt eben nicht für Variablen. Die werden nach meinem bisherigen Verständnis "sofort" geschrieben, also bevor die nächste Codezeile ausgeführt wird!?

                                          Homoran 1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators @Andersmacher last edited by

                                            @andersmacher sagte in Homematic Wetterstation via RPC / Rega:

                                            Aber das gilt eben nicht für Variablen. Die werden nach meinem bisherigen Verständnis "sofort" geschrieben, also bevor die nächste Codezeile ausgeführt wird!?

                                            ja, aber ich hätte "geschrieben" in Anführungszeichen gesetzt 🙂

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

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

                                            750
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            29
                                            1640
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo