Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Aktuellen Wert zyklisch in ein Verzeichnis schreiben

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Aktuellen Wert zyklisch in ein Verzeichnis schreiben

    This topic has been deleted. Only users with topic management privileges can see it.
    • thewhobox
      thewhobox @Lemmi last edited by

      @Lemmi Soo, da ja jetzt einige Fakten geklärt sind hier mal ein Lösungsansatz:
      0eca4e19-aeab-4a93-aa8d-1cdba6d8b9dd-grafik.png
      ("State of Client" muss dann zu dem gewünschten Wert zeigen, hier nur als Beispiel)
      Das Skript würde jede Minute den Wert abfragen und ihn in die Datei netzbezug schreiben.

      Was noch zu klären ist (worauf Homoran hinaus möchte) ob der User iobroker dort überhaupt schreibrechte hat.

      @Homoran "Also müssten die aktuellen Werte der betroffenen Datenpunkte als reine Zahlen im 15 Sekunden Takt in dem Verzeichnis überschrieben werden."

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

        @thewhobox sagte in Aktuellen Wert zyklisch in ein Verzeichnis schreiben:

        Datenpunkte als reine Zahlen im 15 Sekunden Takt

        es ist nicht immer alles wie es scheint 😉
        kann auch Textformat sein

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

          @Homoran Was kann ich mir denn unter einer reine Zahl im Textformat vorstellen?^^

          arteck 1 Reply Last reply Reply Quote 0
          • arteck
            arteck Developer Most Active @thewhobox last edited by

            @thewhobox

            12345

            thewhobox 1 Reply Last reply Reply Quote 0
            • thewhobox
              thewhobox @arteck last edited by

              @arteck Und was ist daran der Unterschied zu einer reinen Zahle?

              arteck 1 Reply Last reply Reply Quote 0
              • L
                Lemmi @Homoran last edited by

                @Homoran

                Die Dateirechte stehen dann der openWB zu wenn ich das richtig verstehe. Bezüglich des Formates bin gerade überfragt. Diese Info habe ich bekommen:

                In OpenWB nutzt du dann das http modul das abfragt:
                http://lokaleip/openWB/ramdisk/xxxbezug

                Ich werde mal nachfragen in welchem Format es vorliegen muss. Eventuell hilft das:

                57ede427-d7e9-4f1c-bc41-0e91b59ab015-grafik.png

                weiter.

                Homoran 1 Reply Last reply Reply Quote 0
                • arteck
                  arteck Developer Most Active @thewhobox last edited by

                  @thewhobox

                  in einer sequentiellen Datei : keine
                  in Datenbank : schon kommt auf die Feldeklaration an

                  Homoran thewhobox 2 Replies Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @arteck last edited by

                    @arteck sagte in Aktuellen Wert zyklisch in ein Verzeichnis schreiben:

                    in Datenbank : schon kommt auf die Feldeklaration an

                    und in ioBroker ist das so.
                    In Excel auch 1234 vs. '1234

                    1 Reply Last reply Reply Quote 0
                    • thewhobox
                      thewhobox @arteck last edited by thewhobox

                      @Homoran Ah okay, dachte iobroker macht da keine Unterschiede, aber da bin ich wohl zu sehr Windows gewöhnt, was das alles immer bisschen lockerer sieht^^ (auch zwecks Groß- kleinschreibung)

                      @Lemmi Dann kannst du doch dort direkt die URL vom Simple APi Adapter eingeben oder nicht?
                      Müsste dann so aussehen:
                      "http://ipaddress:8087/getPlainValue/energymanager.0.Standort_(Hause).PowerConsumedFromGrid"

                      So wie @arteck es schonmal beschrieben hat.

                      L 1 Reply Last reply Reply Quote 0
                      • L
                        Lemmi @thewhobox last edited by

                        @Lemmi Dann kannst du doch dort direkt die URL vom Simple APi Adapter eingeben oder nicht?
                        Müsste dann so aussehen:
                        "http://ipaddress:8087/getPlainValue/energymanager.0.Standort_(Hause).PowerConsumedFromGrid"
                        So wie @arteck es schonmal beschrieben hat.

                        Das habe ich ja auch gedacht. Wenn ich im HTTP Modul genau das ( 192.168.XXX.XX:8087/getPlainValue/energymanager.0.Standort_(Wohnhaus_Lemke).PowerConsumedFromGrid) eingebe passiert aber nichts. Genau das ist es ja was mich zur Verzweifelung bringt und ich versuche die Wallbox doch noch irgendwie ans laufen zu bringen.

                        Danke auf jedenfall schon mal an alle die mir hier helfen wollen. Weiss es echt zu schätzen!!

                        thewhobox 1 Reply Last reply Reply Quote 0
                        • thewhobox
                          thewhobox @Lemmi last edited by

                          @Lemmi Wen du die URL im Browser eingibst erhälst du aber den korrekten Wert oder?

                          L 1 Reply Last reply Reply Quote 0
                          • L
                            Lemmi @thewhobox last edited by

                            @thewhobox

                            ja, wenn ich die URL eingebe wird mir auch genau der Wert angezeigt.

                            thewhobox 1 Reply Last reply Reply Quote 0
                            • thewhobox
                              thewhobox @Lemmi last edited by

                              @Lemmi Ist die Response auch wirklich nur die Zahl?
                              Mal mit den Entwicklertools im Browser unter Netzwerk die Abfrage überprüfen. Da darf dann (so wie ich das verstanden habe) wrklich nur die Zahl sein.
                              e2696e90-e883-47f0-8b43-ee7bb7900241-grafik.png

                              Wenn auch das passt wäre wahrscheinlich das Forum von OpenWB besser.
                              Vll hat das auch iwo ein Log wo dann was drin steht, aber damit kennt sich hier denke ich mal kaum einer aus.

                              L 1 Reply Last reply Reply Quote 0
                              • L
                                Lemmi @thewhobox last edited by

                                @thewhobox

                                Im Browser erscheint wirklich nur die reine Zahl. Allerdings mit mit punkt. es wird nicht gerundet. Vielleicht stört das ja auch. Habe den Entwickler per Mail gefragt ob ich überprüfen kann ob die Abfrage überhaupt gestartet wird und ob es eine Fehlermeldung gibt. Mal sehen was er Antwortet.

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

                                  @Lemmi sagte in Aktuellen Wert zyklisch in ein Verzeichnis schreiben:

                                  Eventuell hilft das:

                                  enthält der Wert etwas anderes als 0-9 oder - wird der Wert auf NULL gesetzt.

                                  @Lemmi sagte in Aktuellen Wert zyklisch in ein Verzeichnis schreiben:

                                  Allerdings mit mit punkt.

                                  Ein Punkt darf nicht drin sein

                                  1 Reply Last reply Reply Quote 0
                                  • thewhobox
                                    thewhobox @Lemmi last edited by

                                    @Lemmi Du könntest zum Testen einen Datenpunkt unter javascript.0.openwb.netzbezug anlegen und dort eine ganze Zahl (ohne Komma) eintragen.
                                    Und dann diesen Wert abfragen lassen. Funktioniert es dann?

                                    Falls ja, musst du nur per Skript auf den alten DP triggern, aufrunden auf ne ganze Zahl und dann in den neuen DP schreiben.

                                    L 1 Reply Last reply Reply Quote 0
                                    • L
                                      Lemmi @thewhobox last edited by

                                      @thewhobox

                                      muss jetzt zur Arbeit und werde mich heute Abend weiter damit beschäftigen.

                                      unltdnetworx 1 Reply Last reply Reply Quote 0
                                      • unltdnetworx
                                        unltdnetworx Developer @Lemmi last edited by unltdnetworx

                                        @Lemmi
                                        Hallo Sven,
                                        da du, wie bereits erwähnt, mittlerweile vier Threads zum Thema offen hast, antworte ich mal hier, da die Lösung schon von @thewhobox aufgezeigt wurde. Die wenigst praktikable Lösung wäre also den Adapter anzupassen.

                                        Nochmal in Kurzform:

                                        • Erstelle dir für alle drei gewünschten Werte einen neuen Datenpunkt unter den Javascript-Objekten.
                                        • Baue dir ein Blockly mit folgenden Aufgaben:
                                          • Trigger (Auslösung des Scriptblocks) entweder als Cron, also zeitgesteuert alle 15 Sekunden (energymanager Adapter natürlich auf diesen Wert setzen) oder bei Änderung des Wertes im Quelladapter
                                          • Runden des Ursprungswertes
                                          • Schreiben in den oben neu erzeugten Wert
                                        • Greife aus der Weboberfläche auf die NEUEN gerundeten angepassten Werte zu

                                        Das ist jetzt mal ein Versuch zu erklären, was mein Vorredner gemeint hat. Geht natürlich professioneller, aber zum ersten Testen reichts.

                                        Bin gerade unterwegs. Bei Interesse später ausführlicher.

                                        1 Reply Last reply Reply Quote 1
                                        • L
                                          Lemmi last edited by

                                          Hallo Michael,

                                          hört sich gut an. Wenn es dir nichts ausmacht, wäre es super, wenn du es etwas ausführlicher beschreiben könntest. Stosse hier nämlich ständig an meine Grenzen. mit dem Runden könnte das doch so funktionieren oder?

                                          function precisionRound(number, precision) {

                                          var factor = Math.pow(10, precision);

                                          return Math.round(number * factor) / factor;

                                          }

                                          on({id: 'javascript.0.Stromzaehler.Normalstrom.Zaehlerstand_input', change: "any"}, function (obj) {

                                          var value = obj.state.val;

                                          var oldValue = obj.oldState.val;

                                          setState("javascript.0.Stromzaehler.Normalstrom.Zaehlerstand_kWh"/Zaehlerstand_kWh/, (precisionRound((getState("javascript.0.Stromzaehler.Normalstrom.Zaehlerstand_input").val / 75)), 3), true);

                                          });

                                          Die Datenpunkte in einem neuen Ordner oder direkt im Energymanager?

                                          unltdnetworx 1 Reply Last reply Reply Quote 0
                                          • unltdnetworx
                                            unltdnetworx Developer @Lemmi last edited by unltdnetworx

                                            @Lemmi
                                            Setze den Code bitte mal in Code-Tags.
                                            Die Datenpunkte kannst du anlegen wo du willst. Hat keinen Einfluss auf die Funktionalität.

                                            Nur kurz vom Überfliegen, der Wert wird bei dir nie angepasst werden. Du prüfst auf Änderungen des Zielwertes und willst den dann anpassen. Du musst auf Änderungen des Energymanager Wertes prüfen.

                                            Bau dir das dich erst mal mit Blockly zusammen und schau dir den entstandenen Code mal an. Damit du den Aufbau verstehst.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            441
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            5
                                            39
                                            3009
                                            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