Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Liste mit Eingabe

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Liste mit Eingabe

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

      Hallo!
      ich biete um Hilfe, weil ich es wirklich nicht hinkriegen kann.
      Ziel ist in Vis eine Seite zu herstellen, wo ich durch Eingabe von einer Zahl (input) und danach button-Drücken, diese in eine Zeile kriege.
      Und so weiter: jede Eingabe soll sich unter vorherige platzieren.
      In Iobrocker bei Objekten muss jede Eingabe gespeichert werden. Also heísst es, dass bei jedem Button drücken in vis, soll wahrscheinlich bei Objekten automatisch neue Zustand mit eingegebenem Wert hinzufügt werden. Und alles soll in vis angezeigt werden.
      Übrigens, soll alles noch addiert werden und Gesamtsumme angezeigt. Aber das schaffe ich wahrscheinlich selbst.
      Danke!

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @andre1de last edited by paul53

        @andre1de sagte: jede Eingabe soll sich unter vorherige platzieren.

        Per Javascript oder Blockly?

        Blockly-Version:

        Blockly_temp.JPG

        andre1de 4 Replies Last reply Reply Quote 0
        • andre1de
          andre1de @paul53 last edited by

          @paul53
          Ich versuche das mit Blockly. Hauptproblem: ich weis nicht, wie ich alle Eingaben in vis zu sehen kriege.
          Z.B. in Objecten ist eine Mappe, wo eingegebene Werte einzeln gespeichert sind und bei jedem neuen Speicherung kommt neue Zustand mit dem Wert. Wie kann man ganze Ordner in vis sichtbar machen? Ich habe mit Kategorien (IDs von Sektor $) probiert, aber klappt s nicht.

          1 Reply Last reply Reply Quote 0
          • andre1de
            andre1de @paul53 last edited by

            @paul53 Danke! Ich probiere es mal

            1 Reply Last reply Reply Quote 0
            • andre1de
              andre1de @paul53 last edited by

              @paul53 Blockly klappt`s. Im Zustand (objecte) "Liste" kommen die Werte untereinander, aber bei vis sind sie alle wieder nacheinander.
              Nehme ich wahrscheinlich falsche weedget in vis?

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @andre1de last edited by

                @andre1de sagte: bei vis sind sie alle wieder nacheinander.

                Versuche es mal mit "<br>" anstelle von "\n".

                andre1de 1 Reply Last reply Reply Quote 0
                • andre1de
                  andre1de @paul53 last edited by

                  @paul53
                  Es funktioniert! Danke!
                  Sag mal, kann man das gleiche mit aktuellem Datum machen?
                  Kann man gleichen blockly schreiben und dann im vis stelle ich zwei weedgets gegenüber, damit bei button bedienen gleich datum und wert erscheint?

                  andre1de Codierknecht 2 Replies Last reply Reply Quote 0
                  • andre1de
                    andre1de @andre1de last edited by

                    @andre1de said in Liste mit Eingabe:

                    @paul53
                    Es funktioniert! Danke!
                    Sag mal, kann man das gleiche mit aktuellem Datum machen?
                    Kann man gleichen blockly schreiben und dann im vis stelle ich zwei weedgets gegenüber, damit bei button bedienen gleich datum und wert erscheint?

                    Hab gemacht, funktioniert

                    1 Reply Last reply Reply Quote 0
                    • andre1de
                      andre1de @paul53 last edited by

                      @paul53 Die Summe klappt aber nicht. Die Werte werden nicht addiert, sondern nacheinander gestellt.

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @andre1de last edited by paul53

                        @andre1de sagte Die Summe klappt aber nicht. Die Werte werden nicht addiert, sondern nacheinander gestellt.

                        Ach ja, es sind Strings. Dann muss man die Summe über eine Schleife bilden, in der der Listenwert in eine Zahl gewandelt wird.

                        Blockly_temp.JPG

                        1 Reply Last reply Reply Quote 0
                        • andre1de
                          andre1de last edited by

                          Ich habe doch was mit Aufzählungen gebaut.
                          Bildschirmfoto_28-1-2025_72831_192.168.178.30.jpeg
                          Ich kriege aber als Ergebnis in der Liste nicht die Werte von jedem Punkt, sondern die ganze Adresse.
                          Also anstatt:
                          3,
                          2,
                          1

                          kommt:
                          0_userdata.0.Eigene_Objekte.Auto.Tanken.Eingabe3,3,<br>,0_userdata.0.Eigene_Objekte.Auto.Tanken.Eingabe2,2,<br>,0_userdata.0.Eigene_Objekte.Auto.Tanken.Eingabe1,1,<br>

                          wo könnte Fehler sein?

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

                            @andre1de sagte in Liste mit Eingabe:

                            wo könnte Fehler sein?

                            Du fügst in die Liste eine weitere Liste ein.
                            Und die enthält genau das was Du reinsteckst:

                            • in i steckt die id des aktuellen Elements
                            • mit "Wert von i" wird der Wert des Elements i gelesen
                            • und noch ein HTML-Zeilenumbruch

                            Macht vielleicht Sinn, als erstes mal das i in id umzubenennen. Dann wird das ganze vielleicht klarer.
                            Passende Benamsung ... sooo wichtig 😉

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

                              @andre1de sagte in Liste mit Eingabe:

                              Sag mal, kann man das gleiche mit aktuellem Datum machen?
                              Kann man gleichen blockly schreiben und dann im vis stelle ich zwei weedgets gegenüber, damit bei button bedienen gleich datum und wert erscheint?

                              Was soll denn eigentlich das Ziel sein?
                              Soll das 'ne Tabelle in Vis werden? Mit Datum und getankter Menge? Also sowas hier:

                              ba37cc67-bb60-46ac-87ec-d5cc50978b18-image.png

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

                                @codierknecht
                                Ja, genau!
                                Ich möchte durch input -Eingabe mit Button meine Tankkosten registrieren.
                                Also, schreibe in vis in input-Fenster meinen aktuellen Betrag von Beleg an der Tankstelle, durch Button Betätigung soll in iobrocker DB neue DP mit Datum und den Betrag erzeugt werden.
                                Gleichzeitig wird input-Fenster in vis wieder leer. Und auch da. in vis in evtl. Tabelle kommt Datum und Betrag.
                                Die nächsten Eingaben müssen dann in der Tabelle automatisch erscheinen.

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

                                  @andre1de
                                  Reicht es nicht, nur den Betrag zu erfassen und als Datum das aktuelle Tagesdatum der Erfassung zu verwenden?
                                  Das spart ein zusätzliches Eingabefeld und macht das Ganze etwas einfacher.

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

                                    @codierknecht
                                    Das war erst meine Ziel. Bin für alle mögliche Lösungen offen.
                                    Und wie geht es mit der Tabelle?

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

                                      @codierknecht said in Liste mit Eingabe:

                                      @andre1de sagte in Liste mit Eingabe:

                                      wo könnte Fehler sein?

                                      Du fügst in die Liste eine weitere Liste ein.
                                      Und die enthält genau das was Du reinsteckst:

                                      • in i steckt die id des aktuellen Elements
                                      • mit "Wert von i" wird der Wert des Elements i gelesen
                                      • und noch ein HTML-Zeilenumbruch

                                      Macht vielleicht Sinn, als erstes mal das i in id umzubenennen. Dann wird das ganze vielleicht klarer.
                                      Passende Benamsung ... sooo wichtig 😉

                                      Ja. Sie haben recht. So funktioniert es:
                                      Bildschirmfoto_28-1-2025_114623_192.168.178.30.jpeg

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

                                        @andre1de
                                        Vorschlag:
                                        8249c636-7f80-49d8-bc16-70a998dd9072-image.png
                                        Das produziert ein solches Array:
                                        81003cd0-1aa3-41f2-b29c-c4ec1de0e495-image.png
                                        Und in Vis kann man das als Json-Tabelle darstellen:
                                        05c510a4-7a83-43ed-8eb1-ba4b18ed7edf-image.png

                                        Edit
                                        Wenn man als Eingabe ein "jqui - ctrl - input - setbutton" verwendet, könnte man mit kleineren Änderungen am Script auch noch auf einen separaten "Button" verzichten.
                                        2025-01-28_12-59-25.mp4

                                        andre1de Codierknecht 2 Replies Last reply Reply Quote 0
                                        • andre1de
                                          andre1de @Codierknecht last edited by

                                          @codierknecht
                                          O! Es sieht super aus!
                                          Ich probiere es erst morgen aus, muss zur Arbeit.
                                          Vielen Dank erstmal!

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

                                            @codierknecht sagte in Liste mit Eingabe:

                                            Wenn man als Eingabe ein "jqui - ctrl - input - setbutton" verwendet, könnte man mit kleineren Änderungen am Script auch noch auf einen separaten "Button" verzichten.

                                            Das sähe dann jetzt so aus:

                                            299b0683-e59a-474a-829d-a1f6d295d6e2-image.png
                                            Damit es in Vis auch richtig chic wird, ist ein bisschen JS in Vis nötig, um das Eingabefeld nach der Speicherung des Wertes auch wieder zu leeren.

                                            $(document).ready( () => {
                                                setTimeout( () => {
                                                    $('#w00004_set').click(function () { 
                                                        setTimeout( () => {
                                                            $('#w00004_input').val('');
                                                        }, 100);
                                                    });
                                                    $('#w00004_input').keydown(function(event){
                                                        if (event.which == 13){
                                                            setTimeout( () => {
                                                                $('#w00004_input').val('');
                                                            }, 100);
                                                        }
                                                    });
                                            
                                                }, 1000);
                                            });
                                            

                                            Die ID's müssen logischerweise auf die eigenen Gegebenheiten angepasst werden.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            488
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            25
                                            733
                                            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