Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. .txt file in Widget darstellen..

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    187

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    12
    1
    572

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.8k

.txt file in Widget darstellen..

Geplant Angeheftet Gesperrt Verschoben Visualisierung
48 Beiträge 4 Kommentatoren 1.5k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J JoergH

    Gibt es ein Widget in dem ich ein .txt file darstellen kann?

    BananaJoeB Offline
    BananaJoeB Offline
    BananaJoe
    Most Active
    schrieb am zuletzt editiert von
    #3

    @joergh So weit ich weis, direkt nein.
    Du musst die .txt Datei erst über ein Skript einlesen und in einen Datenpunkt schreiben.

    Eventuell geht folgendes: Die Textdatei in .html umbenennen und versuchen diese in einem iFrame darzustellen. Dazu musst du den genauen Pfad für den Aufruf ermitteln, diese muss also an einem von VIS erreichbaren Ort liegen.
    Zum Test ggf. die Datei im VIS Editor hochladen.

    ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

    J 1 Antwort Letzte Antwort
    0
    • BananaJoeB BananaJoe

      @joergh So weit ich weis, direkt nein.
      Du musst die .txt Datei erst über ein Skript einlesen und in einen Datenpunkt schreiben.

      Eventuell geht folgendes: Die Textdatei in .html umbenennen und versuchen diese in einem iFrame darzustellen. Dazu musst du den genauen Pfad für den Aufruf ermitteln, diese muss also an einem von VIS erreichbaren Ort liegen.
      Zum Test ggf. die Datei im VIS Editor hochladen.

      J Offline
      J Offline
      JoergH
      schrieb am zuletzt editiert von
      #4

      @bananajoe Danke. Hmmm, tja nun wollte ich es ja gerade vermeiden das in einen DP zu schreiben, sondern es als .txt Datei auf der SSD speichern...wenn ich die Datei in einem von vis erreichbaren Pfad speichere (was ist denn von vis erreichbar?), dann kann ich es statt .txt auch auf .html enden lassen, das wäre nicht das Problem...

      Danke für den Tipp!

      BananaJoeB liv-in-skyL 2 Antworten Letzte Antwort
      0
      • J JoergH

        @bananajoe Danke. Hmmm, tja nun wollte ich es ja gerade vermeiden das in einen DP zu schreiben, sondern es als .txt Datei auf der SSD speichern...wenn ich die Datei in einem von vis erreichbaren Pfad speichere (was ist denn von vis erreichbar?), dann kann ich es statt .txt auch auf .html enden lassen, das wäre nicht das Problem...

        Danke für den Tipp!

        BananaJoeB Offline
        BananaJoeB Offline
        BananaJoe
        Most Active
        schrieb am zuletzt editiert von
        #5

        @joergh sagte in .txt file in Widget darstellen..:

        (was ist denn von vis erreichbar?)

        Schau dir die Pfade in der VIS an bzw. schau dir die Eigenschaften einer Grafik an wenn du dir eine VIS anzeigen lässt.
        Sollte z.B.

        /opt/iobroker/iobroker-data/files/vis.0/main/
        

        usw. sein (main = Projektname)

        ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

        1 Antwort Letzte Antwort
        0
        • J JoergH

          @bananajoe Danke. Hmmm, tja nun wollte ich es ja gerade vermeiden das in einen DP zu schreiben, sondern es als .txt Datei auf der SSD speichern...wenn ich die Datei in einem von vis erreichbaren Pfad speichere (was ist denn von vis erreichbar?), dann kann ich es statt .txt auch auf .html enden lassen, das wäre nicht das Problem...

          Danke für den Tipp!

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von
          #6

          @joergh

          ich glaube, du kommst um das script nicht herum - um es als html anzuzeigen, muss es im iobroker bekannt sein - es muss also geschrieben werden über ein script, da ein iframe einen webserver auf der anderen seite braucht, was der iobroker server ist

          bei txt ist es eigentlich das selbe, da musst du es in einen dp schreiben

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          J BananaJoeB 3 Antworten Letzte Antwort
          0
          • liv-in-skyL liv-in-sky

            @joergh

            ich glaube, du kommst um das script nicht herum - um es als html anzuzeigen, muss es im iobroker bekannt sein - es muss also geschrieben werden über ein script, da ein iframe einen webserver auf der anderen seite braucht, was der iobroker server ist

            bei txt ist es eigentlich das selbe, da musst du es in einen dp schreiben

            J Offline
            J Offline
            JoergH
            schrieb am zuletzt editiert von
            #7

            @liv-in-sky Ja, schade. Dachte es gibt einfach ein html Widget bei dem ich einen Pfad eintragen kann und er öffnet dann das file und stellt es dar....Also spar ich mir am besten gleich das Schreiben in ein File und schreibe alles in einen String DP, den ich dann anzeigen lasse...?

            1 Antwort Letzte Antwort
            0
            • liv-in-skyL liv-in-sky

              @joergh

              ich glaube, du kommst um das script nicht herum - um es als html anzuzeigen, muss es im iobroker bekannt sein - es muss also geschrieben werden über ein script, da ein iframe einen webserver auf der anderen seite braucht, was der iobroker server ist

              bei txt ist es eigentlich das selbe, da musst du es in einen dp schreiben

              BananaJoeB Offline
              BananaJoeB Offline
              BananaJoe
              Most Active
              schrieb am zuletzt editiert von
              #8

              @liv-in-sky Ich stimme dir zu das das Schreiben in einen Datenpunkt die Sache um Welten vereinfachen würde, auch wenn es dazu erst ein Skript braucht.

              Ich bin auch schon mal an einer Grafik verzweifelt. Die auf die Platte zu bekommen war kein Thema, die in der VIS anzeigen zu lassen wenn diese nicht darüber hochgeladen wurde ... (nein, einfach Überschreiben reicht nicht, die VIS lässt sich da nicht so einfach beschubsen.

              ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

              liv-in-skyL 1 Antwort Letzte Antwort
              0
              • BananaJoeB BananaJoe

                @liv-in-sky Ich stimme dir zu das das Schreiben in einen Datenpunkt die Sache um Welten vereinfachen würde, auch wenn es dazu erst ein Skript braucht.

                Ich bin auch schon mal an einer Grafik verzweifelt. Die auf die Platte zu bekommen war kein Thema, die in der VIS anzeigen zu lassen wenn diese nicht darüber hochgeladen wurde ... (nein, einfach Überschreiben reicht nicht, die VIS lässt sich da nicht so einfach beschubsen.

                liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                schrieb am zuletzt editiert von
                #9

                @bananajoe

                anstatt über vis laden muss man den speziellen befehl writeFile() nutzen - der macht das file auch bekannt in der vis/iobroker

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                1 Antwort Letzte Antwort
                0
                • liv-in-skyL liv-in-sky

                  @joergh

                  ich glaube, du kommst um das script nicht herum - um es als html anzuzeigen, muss es im iobroker bekannt sein - es muss also geschrieben werden über ein script, da ein iframe einen webserver auf der anderen seite braucht, was der iobroker server ist

                  bei txt ist es eigentlich das selbe, da musst du es in einen dp schreiben

                  J Offline
                  J Offline
                  JoergH
                  schrieb am zuletzt editiert von
                  #10

                  @liv-in-sky
                  So jetzt habe ich mir eine Liste erzeugt und in einen String DP geschrieben. Da entsteht dann z.B. so eine Liste...

                  
                  ["23:25:21.823 Ich versuche Daten...","23:25:33.929 ...in eine Liste zu schreiben...","23:25:51.250 ...und dann wieder auszulesen...","23:26:07.627 um sie anzuzeigen..."]
                  
                  

                  Wenn ich den DP in den ich das als String schreibe nun angebe im Value List-Text Widget, dann zeigt er mir aber keine Liste, sondern den kompletten String inklusive der Anführungszeichen an....any ideas?

                  ed8e24ca-cf93-4902-ab36-3b08d776d684-grafik.png

                  BananaJoeB liv-in-skyL 2 Antworten Letzte Antwort
                  0
                  • J JoergH

                    @liv-in-sky
                    So jetzt habe ich mir eine Liste erzeugt und in einen String DP geschrieben. Da entsteht dann z.B. so eine Liste...

                    
                    ["23:25:21.823 Ich versuche Daten...","23:25:33.929 ...in eine Liste zu schreiben...","23:25:51.250 ...und dann wieder auszulesen...","23:26:07.627 um sie anzuzeigen..."]
                    
                    

                    Wenn ich den DP in den ich das als String schreibe nun angebe im Value List-Text Widget, dann zeigt er mir aber keine Liste, sondern den kompletten String inklusive der Anführungszeichen an....any ideas?

                    ed8e24ca-cf93-4902-ab36-3b08d776d684-grafik.png

                    BananaJoeB Offline
                    BananaJoeB Offline
                    BananaJoe
                    Most Active
                    schrieb am zuletzt editiert von
                    #11

                    @joergh als htmlCode schreiben? so mit <br>für neue zeile und so?
                    Alternativ als JSON, da kannst du dann die Darstellung sehr schön in den entsprechenden Widgets formatieren, inklusive das du die Reihenfolge der Spalten noch mal ändern kannst bzw. sogar welche ausblenden.

                    ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                    1 Antwort Letzte Antwort
                    0
                    • J JoergH

                      @liv-in-sky
                      So jetzt habe ich mir eine Liste erzeugt und in einen String DP geschrieben. Da entsteht dann z.B. so eine Liste...

                      
                      ["23:25:21.823 Ich versuche Daten...","23:25:33.929 ...in eine Liste zu schreiben...","23:25:51.250 ...und dann wieder auszulesen...","23:26:07.627 um sie anzuzeigen..."]
                      
                      

                      Wenn ich den DP in den ich das als String schreibe nun angebe im Value List-Text Widget, dann zeigt er mir aber keine Liste, sondern den kompletten String inklusive der Anführungszeichen an....any ideas?

                      ed8e24ca-cf93-4902-ab36-3b08d776d684-grafik.png

                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      schrieb am zuletzt editiert von
                      #12

                      @joergh seltsames format - du schreibst eigentlich ein array in den dp

                      wie schreibst /erstellst du das eigentlich - hast du da möglicheiten, dass zu beeinflussen - wennn nicht, wird wohl wieder ein script nötig sein

                      du könntest ein json format nehmen und ein json widget - siehe @BananaJoe

                      [{"time":"23:25:21.823", "text":"Ich versuche Daten..."},{"time":"23:25:33.929","text":"in eine Liste zu schreiben..."}]
                      

                      oder du nimmst ein html widget mußt dann aber ein html schreiben - also <br> für neue zeile

                      23:25:21.823 Ich versuche Daten...<br>
                      23:25:33.929 ...in eine Liste zu schreiben...<br>
                      23:25:51.250 ...und dann wieder auszulesen...<br>
                      23:26:07.627 um sie anzuzeigen...
                      
                      

                      dein momentanes format ist eher ungünstig - woher soll das widget wissen, wo eine neue zeile ist bzw was soll es mit den eckigen klammern machen

                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                      J 1 Antwort Letzte Antwort
                      0
                      • liv-in-skyL liv-in-sky

                        @joergh seltsames format - du schreibst eigentlich ein array in den dp

                        wie schreibst /erstellst du das eigentlich - hast du da möglicheiten, dass zu beeinflussen - wennn nicht, wird wohl wieder ein script nötig sein

                        du könntest ein json format nehmen und ein json widget - siehe @BananaJoe

                        [{"time":"23:25:21.823", "text":"Ich versuche Daten..."},{"time":"23:25:33.929","text":"in eine Liste zu schreiben..."}]
                        

                        oder du nimmst ein html widget mußt dann aber ein html schreiben - also <br> für neue zeile

                        23:25:21.823 Ich versuche Daten...<br>
                        23:25:33.929 ...in eine Liste zu schreiben...<br>
                        23:25:51.250 ...und dann wieder auszulesen...<br>
                        23:26:07.627 um sie anzuzeigen...
                        
                        

                        dein momentanes format ist eher ungünstig - woher soll das widget wissen, wo eine neue zeile ist bzw was soll es mit den eckigen klammern machen

                        J Offline
                        J Offline
                        JoergH
                        schrieb am zuletzt editiert von
                        #13

                        @liv-in-sky
                        Das ganz ist Teil eines Skriptes.

                        0b399ab0-515d-4089-832d-f441e73fd7c9-grafik.png

                        Dachte das "Liste" Format würde dafür sorgen, dass die mit entsprechenden Trennzeichen versehen werden die dann zur entsprechenden Darstellung genutzt werden. So wie es aussieht funktioniert das so aber nicht....

                        Ich kann das mal schnell auf html umbasteln...

                        liv-in-skyL 3 Antworten Letzte Antwort
                        0
                        • J JoergH

                          @liv-in-sky
                          Das ganz ist Teil eines Skriptes.

                          0b399ab0-515d-4089-832d-f441e73fd7c9-grafik.png

                          Dachte das "Liste" Format würde dafür sorgen, dass die mit entsprechenden Trennzeichen versehen werden die dann zur entsprechenden Darstellung genutzt werden. So wie es aussieht funktioniert das so aber nicht....

                          Ich kann das mal schnell auf html umbasteln...

                          liv-in-skyL Offline
                          liv-in-skyL Offline
                          liv-in-sky
                          schrieb am zuletzt editiert von
                          #14

                          @joergh
                          mach es lieber auf json - dann hast du mit dem inventwo json widget schöne möglichkeiten, das zu formatieren

                          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                          1 Antwort Letzte Antwort
                          0
                          • J JoergH

                            @liv-in-sky
                            Das ganz ist Teil eines Skriptes.

                            0b399ab0-515d-4089-832d-f441e73fd7c9-grafik.png

                            Dachte das "Liste" Format würde dafür sorgen, dass die mit entsprechenden Trennzeichen versehen werden die dann zur entsprechenden Darstellung genutzt werden. So wie es aussieht funktioniert das so aber nicht....

                            Ich kann das mal schnell auf html umbasteln...

                            liv-in-skyL Offline
                            liv-in-skyL Offline
                            liv-in-sky
                            schrieb am zuletzt editiert von
                            #15

                            @joergh

                            liste ist ein doofer name - ist die übersetzung von array

                            das json musst du mit einem javascript functions blockly machen, flls interesse

                            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                            1 Antwort Letzte Antwort
                            0
                            • J JoergH

                              @liv-in-sky
                              Das ganz ist Teil eines Skriptes.

                              0b399ab0-515d-4089-832d-f441e73fd7c9-grafik.png

                              Dachte das "Liste" Format würde dafür sorgen, dass die mit entsprechenden Trennzeichen versehen werden die dann zur entsprechenden Darstellung genutzt werden. So wie es aussieht funktioniert das so aber nicht....

                              Ich kann das mal schnell auf html umbasteln...

                              liv-in-skyL Offline
                              liv-in-skyL Offline
                              liv-in-sky
                              schrieb am zuletzt editiert von liv-in-sky
                              #16

                              @joergh

                              hier mal ein beispiel für die erzeugung eines json arrays

                              Image 4.png

                              <xml xmlns="https://developers.google.com/blockly/xml">
                               <variables>
                                 <variable id="3x+uiY^LT~Vv|;Rnf~@U">myjsonArray</variable>
                                 <variable id="1%kx)8[s_nj*5uEEo]CH">zeit</variable>
                                 <variable id="_c2[Wd8,N14Er)%1G]!}">text</variable>
                               </variables>
                               <block type="variables_set" id="@frIvR$BlW;b0uR.Qqj3" x="63" y="187">
                                 <field name="VAR" id="3x+uiY^LT~Vv|;Rnf~@U">myjsonArray</field>
                                 <value name="VALUE">
                                   <block type="lists_create_with" id="KW[0_$Yjk~~%xadDJ,NX">
                                     <mutation items="0"></mutation>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="comment" id="|KE9Kg/1ggEZkRdYDlPQ">
                                     <field name="COMMENT">muss immer wider aufgerufen werden</field>
                                     <next>
                                       <block type="procedures_callcustomnoreturn" id="EExq}vOtL!*0B6I!C:nr">
                                         <mutation name="etwas tun">
                                           <arg name="zeit"></arg>
                                           <arg name="text"></arg>
                                         </mutation>
                                         <value name="ARG0">
                                           <block type="text" id="aT/dI(HPz:tJ[u^?6FOT">
                                             <field name="TEXT">12:23</field>
                                           </block>
                                         </value>
                                         <value name="ARG1">
                                           <block type="text" id="K{8vzWm|r=x9EXNHWR^G">
                                             <field name="TEXT">erster eintrag</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="procedures_callcustomnoreturn" id="7~6m_w/]|s1!e4Qbvyx!">
                                             <mutation name="etwas tun">
                                               <arg name="zeit"></arg>
                                               <arg name="text"></arg>
                                             </mutation>
                                             <value name="ARG0">
                                               <block type="text" id="[}#NGTrRpP_J{yeUV?-}">
                                                 <field name="TEXT">13:44</field>
                                               </block>
                                             </value>
                                             <value name="ARG1">
                                               <block type="text" id="T2feN=VyPoV0icC_fX#W">
                                                 <field name="TEXT">zweiter eintrag</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="debug" id="X(]`D{lj[!;8*{aKI(B|">
                                                 <field name="Severity">log</field>
                                                 <value name="TEXT">
                                                   <shadow type="text" id="veRPR75t0gV+j4Kbp^gM">
                                                     <field name="TEXT">test</field>
                                                   </shadow>
                                                   <block type="variables_get" id="t5{_n[-q9DM$KIky*.3}">
                                                     <field name="VAR" id="3x+uiY^LT~Vv|;Rnf~@U">myjsonArray</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                               <block type="procedures_defcustomnoreturn" id="j?7,VR.oK}Vg/ze4avd+" x="412" y="237">
                                 <mutation statements="false">
                                   <arg name="zeit" varid="1%kx)8[s_nj*5uEEo]CH"></arg>
                                   <arg name="text" varid="_c2[Wd8,N14Er)%1G]!}"></arg>
                                 </mutation>
                                 <field name="NAME">etwas tun</field>
                                 <field name="SCRIPT">DQpteWpzb25BcnJheS5wdXNoKHsNCiAgICAiemVpdCI6emVpdCwNCiAgICAidGV4dCI6IHRleHQNCiAgICANCn0pDQoNCg0KDQovL2xvZyhKU09OLnN0cmluZ2lmeShteWpzb25BcnJheSkp</field>
                                 <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                               </block>
                              </xml>
                              

                              edit:
                              das json sollte dann ja noch in einen dp geschrieben werden und bevor du das erzeugst auch von einem datenpunkt gelesen werden - damit das an das json appended wird und nicht überschrieben

                              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                              J 1 Antwort Letzte Antwort
                              0
                              • liv-in-skyL liv-in-sky

                                @joergh

                                hier mal ein beispiel für die erzeugung eines json arrays

                                Image 4.png

                                <xml xmlns="https://developers.google.com/blockly/xml">
                                 <variables>
                                   <variable id="3x+uiY^LT~Vv|;Rnf~@U">myjsonArray</variable>
                                   <variable id="1%kx)8[s_nj*5uEEo]CH">zeit</variable>
                                   <variable id="_c2[Wd8,N14Er)%1G]!}">text</variable>
                                 </variables>
                                 <block type="variables_set" id="@frIvR$BlW;b0uR.Qqj3" x="63" y="187">
                                   <field name="VAR" id="3x+uiY^LT~Vv|;Rnf~@U">myjsonArray</field>
                                   <value name="VALUE">
                                     <block type="lists_create_with" id="KW[0_$Yjk~~%xadDJ,NX">
                                       <mutation items="0"></mutation>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="comment" id="|KE9Kg/1ggEZkRdYDlPQ">
                                       <field name="COMMENT">muss immer wider aufgerufen werden</field>
                                       <next>
                                         <block type="procedures_callcustomnoreturn" id="EExq}vOtL!*0B6I!C:nr">
                                           <mutation name="etwas tun">
                                             <arg name="zeit"></arg>
                                             <arg name="text"></arg>
                                           </mutation>
                                           <value name="ARG0">
                                             <block type="text" id="aT/dI(HPz:tJ[u^?6FOT">
                                               <field name="TEXT">12:23</field>
                                             </block>
                                           </value>
                                           <value name="ARG1">
                                             <block type="text" id="K{8vzWm|r=x9EXNHWR^G">
                                               <field name="TEXT">erster eintrag</field>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="procedures_callcustomnoreturn" id="7~6m_w/]|s1!e4Qbvyx!">
                                               <mutation name="etwas tun">
                                                 <arg name="zeit"></arg>
                                                 <arg name="text"></arg>
                                               </mutation>
                                               <value name="ARG0">
                                                 <block type="text" id="[}#NGTrRpP_J{yeUV?-}">
                                                   <field name="TEXT">13:44</field>
                                                 </block>
                                               </value>
                                               <value name="ARG1">
                                                 <block type="text" id="T2feN=VyPoV0icC_fX#W">
                                                   <field name="TEXT">zweiter eintrag</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="debug" id="X(]`D{lj[!;8*{aKI(B|">
                                                   <field name="Severity">log</field>
                                                   <value name="TEXT">
                                                     <shadow type="text" id="veRPR75t0gV+j4Kbp^gM">
                                                       <field name="TEXT">test</field>
                                                     </shadow>
                                                     <block type="variables_get" id="t5{_n[-q9DM$KIky*.3}">
                                                       <field name="VAR" id="3x+uiY^LT~Vv|;Rnf~@U">myjsonArray</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                                 <block type="procedures_defcustomnoreturn" id="j?7,VR.oK}Vg/ze4avd+" x="412" y="237">
                                   <mutation statements="false">
                                     <arg name="zeit" varid="1%kx)8[s_nj*5uEEo]CH"></arg>
                                     <arg name="text" varid="_c2[Wd8,N14Er)%1G]!}"></arg>
                                   </mutation>
                                   <field name="NAME">etwas tun</field>
                                   <field name="SCRIPT">DQpteWpzb25BcnJheS5wdXNoKHsNCiAgICAiemVpdCI6emVpdCwNCiAgICAidGV4dCI6IHRleHQNCiAgICANCn0pDQoNCg0KDQovL2xvZyhKU09OLnN0cmluZ2lmeShteWpzb25BcnJheSkp</field>
                                   <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                 </block>
                                </xml>
                                

                                edit:
                                das json sollte dann ja noch in einen dp geschrieben werden und bevor du das erzeugst auch von einem datenpunkt gelesen werden - damit das an das json appended wird und nicht überschrieben

                                J Offline
                                J Offline
                                JoergH
                                schrieb am zuletzt editiert von
                                #17

                                @liv-in-sky Danke für das Beispiel. Da ich mich mit JSON und den Blockly "Funktionen" kaum auskenne ein paar Fragen:

                                Die Funktion die Du in dem Beispiel aufrufst mit "etwas tun" ist doch bisher nirgends beschrieben worden? Muss ich die nicht erstmal schreiben? Woher weiss er denn was mit Zeit und Text zu tun ist?

                                liv-in-skyL 1 Antwort Letzte Antwort
                                0
                                • J JoergH

                                  @liv-in-sky Danke für das Beispiel. Da ich mich mit JSON und den Blockly "Funktionen" kaum auskenne ein paar Fragen:

                                  Die Funktion die Du in dem Beispiel aufrufst mit "etwas tun" ist doch bisher nirgends beschrieben worden? Muss ich die nicht erstmal schreiben? Woher weiss er denn was mit Zeit und Text zu tun ist?

                                  liv-in-skyL Offline
                                  liv-in-skyL Offline
                                  liv-in-sky
                                  schrieb am zuletzt editiert von
                                  #18

                                  @joergh

                                  sollte das sein: ist das nicht im import dabei ?

                                  Image 5.png

                                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                  J 2 Antworten Letzte Antwort
                                  0
                                  • liv-in-skyL liv-in-sky

                                    @joergh

                                    sollte das sein: ist das nicht im import dabei ?

                                    Image 5.png

                                    J Offline
                                    J Offline
                                    JoergH
                                    schrieb am zuletzt editiert von
                                    #19

                                    @liv-in-sky Und wieder was gelernt. Danke! Ich hatte das noch nicht importiert, sondern mir nur den Baustein angesehen. Jetzt habe ich kapiert, dass sich der JS Code hinter den Punkten versteckt und da was hinterlegt ist. Wäre irgendwie praktisch wenn man das am Baustein schon sehen könnte :slightly_smiling_face:

                                    liv-in-skyL 1 Antwort Letzte Antwort
                                    0
                                    • J JoergH

                                      @liv-in-sky Und wieder was gelernt. Danke! Ich hatte das noch nicht importiert, sondern mir nur den Baustein angesehen. Jetzt habe ich kapiert, dass sich der JS Code hinter den Punkten versteckt und da was hinterlegt ist. Wäre irgendwie praktisch wenn man das am Baustein schon sehen könnte :slightly_smiling_face:

                                      liv-in-skyL Offline
                                      liv-in-skyL Offline
                                      liv-in-sky
                                      schrieb am zuletzt editiert von
                                      #20

                                      @joergh

                                      jetzt weißt du es ja - wie erwähnt muss im script noch das lesen des existierenden jsons (in einem dp) und das wiederschreiben rein
                                      du brauchst daher einen dp mit type string

                                      myjsonArray=JSON.parse(getState("0_userdata.0.CONTROL-OWN.AAATEST.TestString1").val);
                                      myjsonArray.push({
                                          "zeit":zeit,
                                          "text": text
                                       })
                                      setState("0_userdata.0.CONTROL-OWN.AAATEST.TestString1",JSON.stringify(myjsonArray));
                                      })
                                      

                                      <xml xmlns="https://developers.google.com/blockly/xml">
                                       <variables>
                                         <variable id="1%kx)8[s_nj*5uEEo]CH">zeit</variable>
                                         <variable id="_c2[Wd8,N14Er)%1G]!}">text</variable>
                                         <variable id="3x+uiY^LT~Vv|;Rnf~@U">myjsonArray</variable>
                                         <variable type="timeout" id="timeout">timeout</variable>
                                       </variables>
                                       <block type="comment" id="yFL!h.,c,Zp-Dy^Kq,hm" x="113" y="112">
                                         <field name="COMMENT">beim ersten mal leerer dp</field>
                                         <next>
                                           <block type="controls_if" id="{/+O6HOy7Ojt}`9A$PX}">
                                             <value name="IF0">
                                               <block type="text_isEmpty" id="oedr?+DzZQYcMQbkQH8J">
                                                 <value name="VALUE">
                                                   <shadow type="text">
                                                     <field name="TEXT"></field>
                                                   </shadow>
                                                   <block type="get_value" id="tH/||B;9eB]:7_k)30Yk">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">0_userdata.0.CONTROL-OWN.AAATEST.TestString1</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <statement name="DO0">
                                               <block type="variables_set" id="@frIvR$BlW;b0uR.Qqj3">
                                                 <field name="VAR" id="3x+uiY^LT~Vv|;Rnf~@U">myjsonArray</field>
                                                 <value name="VALUE">
                                                   <block type="lists_create_with" id="KW[0_$Yjk~~%xadDJ,NX">
                                                     <mutation items="0"></mutation>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="control" id="v~m,=)~HcShOSXySqCcJ">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                     <field name="OID">0_userdata.0.CONTROL-OWN.AAATEST.TestString1</field>
                                                     <field name="WITH_DELAY">FALSE</field>
                                                     <value name="VALUE">
                                                       <block type="variables_get" id=";XGxvAYF.bITTA[2E;F5">
                                                         <field name="VAR" id="3x+uiY^LT~Vv|;Rnf~@U">myjsonArray</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </next>
                                               </block>
                                             </statement>
                                             <next>
                                               <block type="comment" id="|KE9Kg/1ggEZkRdYDlPQ">
                                                 <field name="COMMENT">muss immer wider aufgerufen werden</field>
                                                 <next>
                                                   <block type="timeouts_settimeout" id="];;*w]a|*ID$C%y`iP0p">
                                                     <field name="NAME">timeout</field>
                                                     <field name="DELAY">2</field>
                                                     <field name="UNIT">sec</field>
                                                     <statement name="STATEMENT">
                                                       <block type="procedures_callcustomnoreturn" id="EExq}vOtL!*0B6I!C:nr">
                                                         <mutation name="etwas tun">
                                                           <arg name="zeit"></arg>
                                                           <arg name="text"></arg>
                                                         </mutation>
                                                         <value name="ARG0">
                                                           <block type="text" id="aT/dI(HPz:tJ[u^?6FOT">
                                                             <field name="TEXT">12:23</field>
                                                           </block>
                                                         </value>
                                                         <value name="ARG1">
                                                           <block type="text" id="K{8vzWm|r=x9EXNHWR^G">
                                                             <field name="TEXT">erster eintrag</field>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="procedures_callcustomnoreturn" id="7~6m_w/]|s1!e4Qbvyx!">
                                                             <mutation name="etwas tun">
                                                               <arg name="zeit"></arg>
                                                               <arg name="text"></arg>
                                                             </mutation>
                                                             <value name="ARG0">
                                                               <block type="text" id="[}#NGTrRpP_J{yeUV?-}">
                                                                 <field name="TEXT">13:44</field>
                                                               </block>
                                                             </value>
                                                             <value name="ARG1">
                                                               <block type="text" id="T2feN=VyPoV0icC_fX#W">
                                                                 <field name="TEXT">zweiter eintrag</field>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="debug" id="X(]`D{lj[!;8*{aKI(B|">
                                                                 <field name="Severity">log</field>
                                                                 <value name="TEXT">
                                                                   <shadow type="text" id="veRPR75t0gV+j4Kbp^gM">
                                                                     <field name="TEXT">test</field>
                                                                   </shadow>
                                                                   <block type="variables_get" id="t5{_n[-q9DM$KIky*.3}">
                                                                     <field name="VAR" id="3x+uiY^LT~Vv|;Rnf~@U">myjsonArray</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </statement>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                       <block type="procedures_defcustomnoreturn" id="j?7,VR.oK}Vg/ze4avd+" x="437" y="288">
                                         <mutation statements="false">
                                           <arg name="zeit" varid="1%kx)8[s_nj*5uEEo]CH"></arg>
                                           <arg name="text" varid="_c2[Wd8,N14Er)%1G]!}"></arg>
                                         </mutation>
                                         <field name="NAME">etwas tun</field>
                                         <field name="SCRIPT">DQoNCg0KbXlqc29uQXJyYXk9SlNPTi5wYXJzZShnZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkNPTlRST0wtT1dOLkFBQVRFU1QuVGVzdFN0cmluZzEiKS52YWwpOw0KDQpteWpzb25BcnJheS5wdXNoKHsNCiAgICAiemVpdCI6emVpdCwNCiAgICAidGV4dCI6IHRleHQNCiAgICANCn0pDQoNCnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQ09OVFJPTC1PV04uQUFBVEVTVC5UZXN0U3RyaW5nMSIsSlNPTi5zdHJpbmdpZnkobXlqc29uQXJyYXkpKTsNCg0KLy9sb2coSlNPTi5zdHJpbmdpZnkobXlqc29uQXJyYXkpKQ==</field>
                                         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                       </block>
                                      </xml>
                                      

                                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                      J 2 Antworten Letzte Antwort
                                      0
                                      • liv-in-skyL liv-in-sky

                                        @joergh

                                        sollte das sein: ist das nicht im import dabei ?

                                        Image 5.png

                                        J Offline
                                        J Offline
                                        JoergH
                                        schrieb am zuletzt editiert von
                                        #21

                                        @liv-in-sky

                                        Bei dem Beispiel wirft er aber nichts aus. Eigentlich sollte er doch beim Debug den String auswerfen, oder?

                                        1 Antwort Letzte Antwort
                                        0
                                        • liv-in-skyL liv-in-sky

                                          @joergh

                                          jetzt weißt du es ja - wie erwähnt muss im script noch das lesen des existierenden jsons (in einem dp) und das wiederschreiben rein
                                          du brauchst daher einen dp mit type string

                                          myjsonArray=JSON.parse(getState("0_userdata.0.CONTROL-OWN.AAATEST.TestString1").val);
                                          myjsonArray.push({
                                              "zeit":zeit,
                                              "text": text
                                           })
                                          setState("0_userdata.0.CONTROL-OWN.AAATEST.TestString1",JSON.stringify(myjsonArray));
                                          })
                                          

                                          <xml xmlns="https://developers.google.com/blockly/xml">
                                           <variables>
                                             <variable id="1%kx)8[s_nj*5uEEo]CH">zeit</variable>
                                             <variable id="_c2[Wd8,N14Er)%1G]!}">text</variable>
                                             <variable id="3x+uiY^LT~Vv|;Rnf~@U">myjsonArray</variable>
                                             <variable type="timeout" id="timeout">timeout</variable>
                                           </variables>
                                           <block type="comment" id="yFL!h.,c,Zp-Dy^Kq,hm" x="113" y="112">
                                             <field name="COMMENT">beim ersten mal leerer dp</field>
                                             <next>
                                               <block type="controls_if" id="{/+O6HOy7Ojt}`9A$PX}">
                                                 <value name="IF0">
                                                   <block type="text_isEmpty" id="oedr?+DzZQYcMQbkQH8J">
                                                     <value name="VALUE">
                                                       <shadow type="text">
                                                         <field name="TEXT"></field>
                                                       </shadow>
                                                       <block type="get_value" id="tH/||B;9eB]:7_k)30Yk">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">0_userdata.0.CONTROL-OWN.AAATEST.TestString1</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <statement name="DO0">
                                                   <block type="variables_set" id="@frIvR$BlW;b0uR.Qqj3">
                                                     <field name="VAR" id="3x+uiY^LT~Vv|;Rnf~@U">myjsonArray</field>
                                                     <value name="VALUE">
                                                       <block type="lists_create_with" id="KW[0_$Yjk~~%xadDJ,NX">
                                                         <mutation items="0"></mutation>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="control" id="v~m,=)~HcShOSXySqCcJ">
                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                         <field name="OID">0_userdata.0.CONTROL-OWN.AAATEST.TestString1</field>
                                                         <field name="WITH_DELAY">FALSE</field>
                                                         <value name="VALUE">
                                                           <block type="variables_get" id=";XGxvAYF.bITTA[2E;F5">
                                                             <field name="VAR" id="3x+uiY^LT~Vv|;Rnf~@U">myjsonArray</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </statement>
                                                 <next>
                                                   <block type="comment" id="|KE9Kg/1ggEZkRdYDlPQ">
                                                     <field name="COMMENT">muss immer wider aufgerufen werden</field>
                                                     <next>
                                                       <block type="timeouts_settimeout" id="];;*w]a|*ID$C%y`iP0p">
                                                         <field name="NAME">timeout</field>
                                                         <field name="DELAY">2</field>
                                                         <field name="UNIT">sec</field>
                                                         <statement name="STATEMENT">
                                                           <block type="procedures_callcustomnoreturn" id="EExq}vOtL!*0B6I!C:nr">
                                                             <mutation name="etwas tun">
                                                               <arg name="zeit"></arg>
                                                               <arg name="text"></arg>
                                                             </mutation>
                                                             <value name="ARG0">
                                                               <block type="text" id="aT/dI(HPz:tJ[u^?6FOT">
                                                                 <field name="TEXT">12:23</field>
                                                               </block>
                                                             </value>
                                                             <value name="ARG1">
                                                               <block type="text" id="K{8vzWm|r=x9EXNHWR^G">
                                                                 <field name="TEXT">erster eintrag</field>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="procedures_callcustomnoreturn" id="7~6m_w/]|s1!e4Qbvyx!">
                                                                 <mutation name="etwas tun">
                                                                   <arg name="zeit"></arg>
                                                                   <arg name="text"></arg>
                                                                 </mutation>
                                                                 <value name="ARG0">
                                                                   <block type="text" id="[}#NGTrRpP_J{yeUV?-}">
                                                                     <field name="TEXT">13:44</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ARG1">
                                                                   <block type="text" id="T2feN=VyPoV0icC_fX#W">
                                                                     <field name="TEXT">zweiter eintrag</field>
                                                                   </block>
                                                                 </value>
                                                                 <next>
                                                                   <block type="debug" id="X(]`D{lj[!;8*{aKI(B|">
                                                                     <field name="Severity">log</field>
                                                                     <value name="TEXT">
                                                                       <shadow type="text" id="veRPR75t0gV+j4Kbp^gM">
                                                                         <field name="TEXT">test</field>
                                                                       </shadow>
                                                                       <block type="variables_get" id="t5{_n[-q9DM$KIky*.3}">
                                                                         <field name="VAR" id="3x+uiY^LT~Vv|;Rnf~@U">myjsonArray</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </statement>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                           <block type="procedures_defcustomnoreturn" id="j?7,VR.oK}Vg/ze4avd+" x="437" y="288">
                                             <mutation statements="false">
                                               <arg name="zeit" varid="1%kx)8[s_nj*5uEEo]CH"></arg>
                                               <arg name="text" varid="_c2[Wd8,N14Er)%1G]!}"></arg>
                                             </mutation>
                                             <field name="NAME">etwas tun</field>
                                             <field name="SCRIPT">DQoNCg0KbXlqc29uQXJyYXk9SlNPTi5wYXJzZShnZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkNPTlRST0wtT1dOLkFBQVRFU1QuVGVzdFN0cmluZzEiKS52YWwpOw0KDQpteWpzb25BcnJheS5wdXNoKHsNCiAgICAiemVpdCI6emVpdCwNCiAgICAidGV4dCI6IHRleHQNCiAgICANCn0pDQoNCnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQ09OVFJPTC1PV04uQUFBVEVTVC5UZXN0U3RyaW5nMSIsSlNPTi5zdHJpbmdpZnkobXlqc29uQXJyYXkpKTsNCg0KLy9sb2coSlNPTi5zdHJpbmdpZnkobXlqc29uQXJyYXkpKQ==</field>
                                             <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                           </block>
                                          </xml>
                                          

                                          J Offline
                                          J Offline
                                          JoergH
                                          schrieb am zuletzt editiert von
                                          #22

                                          @liv-in-sky Ah, ok, Danke. Dachte im Blockly. Probiere ich gleich mal...

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          911

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe