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

      @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
                            • apollon77
                              apollon77 @Andersmacher last edited by

                              @andersmacher Naja wenn du immer den "Wert des Objekts" aus der Datenbank liesst dann ist das nicht mehr statisch. Daher weise es doch einer Variable zu. EInmal lesen, wert haben ... Fertig.

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

                                @apollon77 Wenn ich den Wert eines Objektes in einem Skript oft/öfter brauche, und sichergestellt ist, daß er sich nicht im Laufe der Skriptabarbeitung ändert oder eine etwaige Änderung mein Skript nicht beeinträchtigt, mache ich das tatsächlich bereits so, daß ich ihn einer Variablen zuweise.

                                Aber ich muß gestehen, daß ich jetzt gerade den Zusammenhang zwischen der Fragestellung und dem von Dir hier neu "eingeführten" Begriff "statisch" nicht mehr Blicke. Die Bezeichnung "statisch" kenne ich bisher nur für Variable, die auch nach Beendigung einer Routine (ups, ein "Begriff von früher"), im vorliegenden Fall besser Skript genannt, weiterhin existieren und nutzbar sind. Das ist ja aber ein ganz anderes Thema.

                                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:

                                  Die Bezeichnung "statisch"

                                  ist auch nicht unbedingt eine "Bezeichnung", sondern bedeutet, dass sich der Wert beim erneuten Auslesen geändert haben kann.

                                  Je nach Anwendungsfall kann das eino oder das andere besser sein.

                                  Wobei ich dachte es geht dir um schreiben deiner "Variable" in einen Datenpunkt, und nicht um das Auslesen x-beliebiger Werte

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

                                    @homoran Ich glaube, wir (Du, @apollon77 und ich) reden gerade ein weinig an einander vorbei und inzwischen sind wir (ok, da bin ich wohl Schuld dran durch meine Frage zum Skript von @Dr-Bakterius) ja auch nicht mehr beim Ausgangsthema "Homematic Wetterstation via RPC / Rega", sondern bei JS-Interna.

                                    Wenn @Dr-Bakterius, wie er schreibt, nur "auf Nummer sicher gegangen" ist und die Verzögerung nicht wirklich notwendig ist, habe ich gar kein Problem, weil dann alles zu meinem derzeitigen JS-Verständnis bezüglich Schreib- / Zuweisungsvorgängen paßt:
                                    Variablen sofort (ich nenn das ´mal synchron) und Werte in Datenpunkte asynchron (also eben unvorhersehbar später).

                                    Wenn das so stimmt, wäre meine obige Frage zum Skript damit beantwortet und ich würde dem Titel dann auch "Gelöst:" voran stellen.

                                    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

                                    780
                                    Online

                                    32.0k
                                    Users

                                    80.5k
                                    Topics

                                    1.3m
                                    Posts

                                    4
                                    29
                                    1647
                                    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