Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. undefined Werte sollen nicht geschrieben werden

    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

    undefined Werte sollen nicht geschrieben werden

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      Jockelflo last edited by

      Hallo,

      ich habe einen Growatt Wechselrichter von dem ich per MQTT die Werte zu ioBroker sende. Leider schaltet sich der Wechselrichter ab sobald die Sonne weg ist und damit auch der WLAN Stick, der die Daten sendet. Der request Befehl findet die URL nicht mehr und überschreibt alle Werte mit {"ack":true}. Wie kann ich das verhindern? Ich möchte Werte wie z.B. TodayGenerateEnergy nachts weiterverarbeiten.

      Grüße

      Codierknecht 1 Reply Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @Jockelflo last edited by

        @jockelflo

        Zeigen!
        https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge

        1 Reply Last reply Reply Quote 0
        • J
          Jockelflo last edited by

          0b2a2a5a-4db0-44fd-9489-3b7c7982ed69-image.png

          1 Reply Last reply Reply Quote 0
          • Armilar
            Armilar Most Active Forum Testing last edited by Armilar

            @jockelflo

            Ich denke @Codierknecht meinte eher etwas Blockly zum zeigen...

            Ist aber völlig normal, dass undefined zurückgegeben wird...

            Könntest das Problem auf zwei Arten lösen:

            1. Schiebe das Result durch eine zusätzliche JS Funktion, die prüft, ob das Result aus dem Request undefined ist (undefined kann Blockly meines Erachtens nicht wirklich von Haus aus)

            2. Mache aus dem Result einen String und vergleiche auf != 'undefined' --> Dann schreiben --> sonst halt nicht

            Codierknecht 1 Reply Last reply Reply Quote 1
            • Codierknecht
              Codierknecht Developer Most Active @Armilar last edited by

              @armilar sagte in undefined Werte sollen nicht geschrieben werden:

              Ich denke @Codierknecht meinte eher etwas Blockly zum zeigen...

              Genau. Irgendwo muss ja dieses "request" definiert sein.

              die prüft, ob das Result aus dem Request undefined ist (undefined kann Blockly meines Erachtens nicht wirklich von Haus aus

              Naja - eigentlich schon.
              Wenn man das Ergebnis des request in eine Variable result schreibt und dann prüft, sollte auch Blockly damit klarkommen.

              Die Variable result muss man allerdings "von Hand" erzeugen.
              de1822e5-3323-473b-abf3-d5f30823808f-grafik.png

              Armilar 1 Reply Last reply Reply Quote 1
              • Armilar
                Armilar Most Active Forum Testing @Codierknecht last edited by Armilar

                @codierknecht

                ohne "result" wird da wohl kein "undefined" gekommen sein 😉

                Warten wir mal ab, ob das Rätsel gelöst wird?

                Codierknecht 1 Reply Last reply Reply Quote 1
                • Codierknecht
                  Codierknecht Developer Most Active @Armilar last edited by Codierknecht

                  @armilar
                  Man könnte den Zielhost auch erst anpingen und den request nur bei entsprechendem Ergebnis ausführen.
                  Viele Wege führen nach Rom 😉

                  db46691d-0ba4-4dcf-aa4a-d1b9b4c6bedb-image.png

                  1 Reply Last reply Reply Quote 1
                  • J
                    Jockelflo last edited by

                    585651ed-ac75-4981-bcd6-709b0c97f645-image.png

                    Das wäre ein Teil des Blockly. Ich habe auch mit Ping probiert aber wenn Ping alive true anzeigt und ich mit dem Baustein "Trigger" "Falls Objekt - Objekt ID=Ping alive = true" arbeite, startet das Script nicht mehr

                    J Homoran Codierknecht 3 Replies Last reply Reply Quote 0
                    • J
                      Jockelflo @Jockelflo last edited by Jockelflo

                      @jockelflo Ich habe das jetzt so gelöst
                      6891054b-57c8-41a8-b33a-da7638722381-image.png

                      Mit einer Test URL die es nicht gibt, wurden einfach keine Werte geschrieben. Mal schauen wie es heute abend wieder ist, Ich melde mich. Danke schonmal

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

                        @jockelflo sagte in undefined Werte sollen nicht geschrieben werden:

                        mit dem Baustein "Trigger" "Falls Objekt - Objekt ID=Ping alive = true" arbeite, startet das Script nicht mehr

                        klar, das triggert ja nur in dem Moment wenn alive true wird

                        das muss in die Logik rein

                        1 Reply Last reply Reply Quote 0
                        • Codierknecht
                          Codierknecht Developer Most Active @Jockelflo last edited by

                          @jockelflo
                          Dann versuchs mal mit meinem Ping-Beispiel.

                          Und konvertiere nur 1x in ein Objekt. Das spart Ressourcen.

                          50444586-1326-440e-b766-5904aef72c8d-image.png

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

                            @jockelflo was soll der Trigger mitten in der Logik.
                            Das wird schief gehen

                            1 Reply Last reply Reply Quote 0
                            • J
                              Jockelflo last edited by

                              AHH, ihr seid zu schnell für mich. Hatte das falsche Bild beim posten erwischt

                              Codierknecht 1 Reply Last reply Reply Quote 0
                              • Codierknecht
                                Codierknecht Developer Most Active @Jockelflo last edited by Codierknecht

                                @jockelflo
                                Das Prinzip:
                                eab02108-d607-474c-a9f8-7fbf005d593b-image.png

                                1 Reply Last reply Reply Quote 0
                                • J
                                  Jockelflo @Codierknecht last edited by

                                  @codierknecht Kannst du mir bitte näher erklären, warum das Ressourcen spart?

                                  Codierknecht 1 Reply Last reply Reply Quote 0
                                  • Codierknecht
                                    Codierknecht Developer Most Active @Jockelflo last edited by

                                    @jockelflo
                                    Man konvertiert das Ergebnis nur 1x in ein Objekt und greift dann auf dessen Attribute zu.

                                    Das ist effektiver als result immer wieder in ein neues Objekt zu konvertieren.

                                    J 1 Reply Last reply Reply Quote 1
                                    • J
                                      Jockelflo @Codierknecht last edited by

                                      @codierknecht
                                      Ok, Da werde ich mich morgen Vormittag nochmal damit beschäftigen. Danke. Jetzt warte ich auf die Nacht ob der Ping funktioniert und muss erstmal arbeiten gehen. Schönen Tag noch

                                      1 Reply Last reply Reply Quote 0
                                      • J
                                        Jockelflo last edited by Jockelflo

                                        c51924e0-c526-44a1-a236-b5dbc991823d-image.png

                                        Abend,
                                        der Wechselrichter hat abgeschaltet und die Werte sind geblieben. Ich habe das jetzt so wie im Bild gelöst mit "Offline" und "Online". Das Thema Optimierung muss ich noch angehen. Vielen Dank für die Hilfe

                                        PS: Habe den unteren falls-mache Trigger mit sonst ersetzt, damit ich nur einen Trigger habe.

                                        Codierknecht 1 Reply Last reply Reply Quote 0
                                        • Codierknecht
                                          Codierknecht Developer Most Active @Jockelflo last edited by

                                          @jockelflo sagte in undefined Werte sollen nicht geschrieben werden:

                                          Das Thema Optimierung muss ich noch angehen

                                          Und dabei dann auch mal unreach umbenennen. Das sagt nämlich gerade das Gegenteil aus.
                                          Könnte sich bei späterer Wartung mal rächen (siehe meine Sig).

                                          J 1 Reply Last reply Reply Quote 1
                                          • J
                                            Jockelflo @Codierknecht last edited by

                                            @codierknecht
                                            Guten Morgen,
                                            d06019db-27e6-4c12-9d9f-a35ee4041ecb-image.png
                                            Wenn ich das so mache mit "objResult" erhalte ich als Ausgabe
                                            69cb8b31-db64-4ec5-9e0c-9ba666919456-image.png
                                            {ack:true} und nur wenn ich statt "objresult" wieder result nutze, erhalte ich Werte wie z.B. 149W
                                            Was mache ich denn falsch?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            411
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            22
                                            952
                                            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