Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. JSON Tabelle mit Eingabefelder in VIS

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    908

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

JSON Tabelle mit Eingabefelder in VIS

Scheduled Pinned Locked Moved ioBroker Allgemein
5 Posts 2 Posters 826 Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • peterk34P Offline
    peterk34P Offline
    peterk34
    wrote on last edited by
    #1

    Frage an die Bubble ... gibt es ein Widget, Adapter oder einen Case wie man im Vis eine Json Tabelle bearbeitbar machen könnte.

    Konkretes Beispiel:
    Bildschirm­foto 2023-01-10 um 20.11.01.png
    in der Tabelle würde ich gerne die kWh oder die Priorität ändern können und bei TWC halt statt 11 zB 7 reinschreiben können wollen.

    Hat jemand eine Idee wie man das umsetzen könnte?

    Herzlichen Dank

    liv-in-skyL 1 Reply Last reply
    0
    • peterk34P peterk34

      Frage an die Bubble ... gibt es ein Widget, Adapter oder einen Case wie man im Vis eine Json Tabelle bearbeitbar machen könnte.

      Konkretes Beispiel:
      Bildschirm­foto 2023-01-10 um 20.11.01.png
      in der Tabelle würde ich gerne die kWh oder die Priorität ändern können und bei TWC halt statt 11 zB 7 reinschreiben können wollen.

      Hat jemand eine Idee wie man das umsetzen könnte?

      Herzlichen Dank

      liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      wrote on last edited by liv-in-sky
      #2

      @peterk34

      theoretisch machbar, aber etwas anspruchsvoller

      • beim erstellen des jsons (sollte ja ein script von dir sein) muss du schon einen html code einbauen und auch eine id vergeben.

      hier mal ein beispiel wie das json dannn aussehen könnte:

      [
      	{
      		"label": "first",
      		"value": "<input type=\"number\" id=\"first\" name=\"fname2\" value=14 onkeydown=\"getInputValue1(event)\" style=\"width: 3em;\" >",
      		"valueColor": "#ffffff"
      	},
      	{
      		"label": "second",
      		"value": "<input type=\"number\" id=\"second\" name=\"fname2\" value=15 onkeydown=\"getInputValue1(event)\" style=\"width: 3em;\" >",
      		"valueColor": "#ffffff"
      	},
      	{
      		"label": "third",
      		"value": "<input type=\"number\" id=\"third\" name=\"fname2\" value=16 onkeydown=\"getInputValue1(event)\" style=\"width: 3em;\" >",
      		"valueColor": "#ffffff"
      	},
      	{
      		"label": "forth",
      		"value": "<input type=\"number\" id=\"forth\" name=\"fname2\" value=17 onkeydown=\"getInputValue1(event)\" style=\"width: 3em;\" >",
      		"valueColor": "#ffffff"
      	}
      ]
      

      jetzt hat das json alles, was man zur bestimmung und anzeige hat

      nun noch ein script (bzw. eine function) im script tab des vis-editors:

      function getInputValue1(event) {
         if (event.key === "Enter") {
          vis.setValue("0_userdata.0.CONTROL-OWN.AAATEST.TestString4",event.target.value+","+event.target.id)
         }
      }
      

      das ganze schreibt dann in einen eigen-definierten datenpunkt den neuen wert mit komma-getrennt auch die id, damit man weiß, welche "zeile" eigentlich geändert wurde

      diesen neuen datenpunkt kann man nun über ein blockly auswerten und weiters ändern - und die json-tabelle wieder neu schreiben, damit der wert wieder neu angezeigt wird

      im beispiel verwende ich das materialdesign table widget

      script-vis17.gif

      ps: was hier nicht zu sehen ist:

      • die erstellung des json's - dort muss auch value mit dem tatsächlichen wert geschrieben werden
      • das blockly zur auswertung und das reagieren darauf
      • die tabelle wird hier im beispiel nicht neu geschrieben und upgedatet !

      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

      peterk34P 1 Reply Last reply
      0
      • liv-in-skyL liv-in-sky

        @peterk34

        theoretisch machbar, aber etwas anspruchsvoller

        • beim erstellen des jsons (sollte ja ein script von dir sein) muss du schon einen html code einbauen und auch eine id vergeben.

        hier mal ein beispiel wie das json dannn aussehen könnte:

        [
        	{
        		"label": "first",
        		"value": "<input type=\"number\" id=\"first\" name=\"fname2\" value=14 onkeydown=\"getInputValue1(event)\" style=\"width: 3em;\" >",
        		"valueColor": "#ffffff"
        	},
        	{
        		"label": "second",
        		"value": "<input type=\"number\" id=\"second\" name=\"fname2\" value=15 onkeydown=\"getInputValue1(event)\" style=\"width: 3em;\" >",
        		"valueColor": "#ffffff"
        	},
        	{
        		"label": "third",
        		"value": "<input type=\"number\" id=\"third\" name=\"fname2\" value=16 onkeydown=\"getInputValue1(event)\" style=\"width: 3em;\" >",
        		"valueColor": "#ffffff"
        	},
        	{
        		"label": "forth",
        		"value": "<input type=\"number\" id=\"forth\" name=\"fname2\" value=17 onkeydown=\"getInputValue1(event)\" style=\"width: 3em;\" >",
        		"valueColor": "#ffffff"
        	}
        ]
        

        jetzt hat das json alles, was man zur bestimmung und anzeige hat

        nun noch ein script (bzw. eine function) im script tab des vis-editors:

        function getInputValue1(event) {
           if (event.key === "Enter") {
            vis.setValue("0_userdata.0.CONTROL-OWN.AAATEST.TestString4",event.target.value+","+event.target.id)
           }
        }
        

        das ganze schreibt dann in einen eigen-definierten datenpunkt den neuen wert mit komma-getrennt auch die id, damit man weiß, welche "zeile" eigentlich geändert wurde

        diesen neuen datenpunkt kann man nun über ein blockly auswerten und weiters ändern - und die json-tabelle wieder neu schreiben, damit der wert wieder neu angezeigt wird

        im beispiel verwende ich das materialdesign table widget

        script-vis17.gif

        ps: was hier nicht zu sehen ist:

        • die erstellung des json's - dort muss auch value mit dem tatsächlichen wert geschrieben werden
        • das blockly zur auswertung und das reagieren darauf
        • die tabelle wird hier im beispiel nicht neu geschrieben und upgedatet !
        peterk34P Offline
        peterk34P Offline
        peterk34
        wrote on last edited by
        #3

        @liv-in-sky

        Danke für die ausführliche Erklärung … ganz schön kompliziert… mal sehen ob ich das zusammenbringe 😳

        Mein Lösungsversuch schaut zZt so aus … geht aber unbefriedigend

        45ECC986-D1E0-4FB5-84FD-8E5A11A00A4E.jpeg

        Dabei hab ich einen Satz Datenpunkte aus einer Zeile gemacht, den Verbraucher als Radiobutton, die restlichen Felder bearbeitbar. Das Script dahinter korrigiert dann die Daten im JSON.
        Halt nur machbar wenn wenige Zeilen vorhanden und ziemlich oldfashioned.

        liv-in-skyL 1 Reply Last reply
        0
        • peterk34P peterk34

          @liv-in-sky

          Danke für die ausführliche Erklärung … ganz schön kompliziert… mal sehen ob ich das zusammenbringe 😳

          Mein Lösungsversuch schaut zZt so aus … geht aber unbefriedigend

          45ECC986-D1E0-4FB5-84FD-8E5A11A00A4E.jpeg

          Dabei hab ich einen Satz Datenpunkte aus einer Zeile gemacht, den Verbraucher als Radiobutton, die restlichen Felder bearbeitbar. Das Script dahinter korrigiert dann die Daten im JSON.
          Halt nur machbar wenn wenige Zeilen vorhanden und ziemlich oldfashioned.

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          wrote on last edited by
          #4

          @peterk34

          ich ging von der voraussetzung aus, dass du ein script hast, welches die datenpunkte durchläuft und daraus ein json erzeugt. das json wird dann angezeigt.

          bei einer änderung wird dann ein neues auswertungsscript die datenpunkte (getriggert durch den datenpunkt, welcher in der function definiert ist) direkt setzen und darufhin wird ein neues json erzeugt und angezeigt

          hoffe das war verständlich - mein setting ändert kein json direkt, sondern gibt die info in einen datenpunkt - das muss dann von dir verarbeitet werden - entweder um dp zu setzen oder auch um ein json zu ändern, das in einem dp ist

          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

          peterk34P 1 Reply Last reply
          0
          • liv-in-skyL liv-in-sky

            @peterk34

            ich ging von der voraussetzung aus, dass du ein script hast, welches die datenpunkte durchläuft und daraus ein json erzeugt. das json wird dann angezeigt.

            bei einer änderung wird dann ein neues auswertungsscript die datenpunkte (getriggert durch den datenpunkt, welcher in der function definiert ist) direkt setzen und darufhin wird ein neues json erzeugt und angezeigt

            hoffe das war verständlich - mein setting ändert kein json direkt, sondern gibt die info in einen datenpunkt - das muss dann von dir verarbeitet werden - entweder um dp zu setzen oder auch um ein json zu ändern, das in einem dp ist

            peterk34P Offline
            peterk34P Offline
            peterk34
            wrote on last edited by
            #5

            @liv-in-sky
            ja danke, war mir klar, dass es noch ein script braucht - das unterscheidet sich von meinem eh praktisch nicht - nur ändert mal das JSON gleich wenn man den Wert verlässt - viel gescheiter ... und auch das Ändern in der Tabelle passt gut ... mal sehen ob ichs hin bekommen ...

            1 Reply Last reply
            0
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            Support us

            ioBroker
            Community Adapters
            Donate
            FAQ Cloud / IOT
            HowTo: Node.js-Update
            HowTo: Backup/Restore
            Downloads
            BLOG

            735

            Online

            32.6k

            Users

            82.2k

            Topics

            1.3m

            Posts
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Home
            • Recent
            • Tags
            • Unread 0
            • Categories
            • Unreplied
            • Popular
            • GitHub
            • Docu
            • Hilfe