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. Skripten / Logik
  4. Blockly
  5. Ändern einer Variable innerhalb einer config.json

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Ändern einer Variable innerhalb einer config.json

Geplant Angeheftet Gesperrt Verschoben Blockly
13 Beiträge 3 Kommentatoren 873 Aufrufe 3 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.
  • mickymM mickym

    @alyxabyss Mit NodeRed könnte ich dir helfen, mit Blockly und JS nicht - da ich nicht weiß wie man da Dateien bearbeitet. Du musst aber in jedem Fall dem user iobroker - Zugriff auf das Homeverzeichnis des pi geben und der Datei geben. Das geht am Besten in dem Du diesem user in die Gruppe pi aufnimmst und in der Datei die Rechte anpasst, dass Gruppenmitglieder schreiben können.

    A Offline
    A Offline
    AlyxAbyss
    schrieb am zuletzt editiert von
    #3

    @mickym

    NodeRed wäre auch okay. Will ja kein großes Skript draus machen.
    Mir reicht es wenn es ganz unkompliziert lediglich die Variable schreibt und mehr nicht.

    Am besten erstelle ich einen neuen Datenpunkt wo dann immer der entsprechende Name rein gesetzt wird und das skript bei ändern dann die config.json lediglich abändert.

    Das mit den rechten sollte kein Problem sein. Das bekomm ich hin.

    mickymM 2 Antworten Letzte Antwort
    0
    • A AlyxAbyss

      @mickym

      NodeRed wäre auch okay. Will ja kein großes Skript draus machen.
      Mir reicht es wenn es ganz unkompliziert lediglich die Variable schreibt und mehr nicht.

      Am besten erstelle ich einen neuen Datenpunkt wo dann immer der entsprechende Name rein gesetzt wird und das skript bei ändern dann die config.json lediglich abändert.

      Das mit den rechten sollte kein Problem sein. Das bekomm ich hin.

      mickymM Online
      mickymM Online
      mickym
      Most Active
      schrieb am zuletzt editiert von
      #4

      @alyxabyss Gut ich mach dann mal einen Flow. ;)

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      A 1 Antwort Letzte Antwort
      1
      • mickymM mickym

        @alyxabyss Gut ich mach dann mal einen Flow. ;)

        A Offline
        A Offline
        AlyxAbyss
        schrieb am zuletzt editiert von
        #5

        @mickym Super lieb :)

        mickymM 1 Antwort Letzte Antwort
        0
        • A AlyxAbyss

          @mickym Super lieb :)

          mickymM Online
          mickymM Online
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #6

          @alyxabyss

          7113f680-414e-44fa-9364-9fb99eacd7ac-image.png

          So du musst halt noch die Rechte anpassen im Moment wird in das Homeverzeichnis des iobrokers geschreiben:

          [
             {
                 "id": "456c94dd812b77f5",
                 "type": "ioBroker in",
                 "z": "7e6af0015415146d",
                 "name": "",
                 "topic": "0_userdata.0.Test.person",
                 "payloadType": "value",
                 "onlyack": "",
                 "func": "all",
                 "gap": "",
                 "fireOnStart": "false",
                 "outFormat": "MQTT",
                 "x": 290,
                 "y": 3240,
                 "wires": [
                     [
                         "8fac7d97c23c1503"
                     ]
                 ]
             },
             {
                 "id": "7989ccc21f2dad1d",
                 "type": "file",
                 "z": "7e6af0015415146d",
                 "name": "",
                 "filename": "filename",
                 "filenameType": "msg",
                 "appendNewline": true,
                 "createDir": false,
                 "overwriteFile": "true",
                 "encoding": "none",
                 "x": 1100,
                 "y": 3240,
                 "wires": [
                     []
                 ]
             },
             {
                 "id": "e6a8e0016d890542",
                 "type": "json",
                 "z": "7e6af0015415146d",
                 "name": "",
                 "property": "payload",
                 "action": "",
                 "pretty": false,
                 "x": 730,
                 "y": 3240,
                 "wires": [
                     [
                         "84e0b3d256456e8b"
                     ]
                 ]
             },
             {
                 "id": "84e0b3d256456e8b",
                 "type": "change",
                 "z": "7e6af0015415146d",
                 "name": "",
                 "rules": [
                     {
                         "t": "set",
                         "p": "filename",
                         "pt": "msg",
                         "to": "/home/iobroker/config.json",
                         "tot": "str"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 910,
                 "y": 3240,
                 "wires": [
                     [
                         "7989ccc21f2dad1d"
                     ]
                 ]
             },
             {
                 "id": "8fac7d97c23c1503",
                 "type": "change",
                 "z": "7e6af0015415146d",
                 "name": "",
                 "rules": [
                     {
                         "t": "move",
                         "p": "payload",
                         "pt": "msg",
                         "to": "payload.variable",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 540,
                 "y": 3240,
                 "wires": [
                     [
                         "e6a8e0016d890542"
                     ]
                 ]
             }
          ]
          

          und natürlich den Pfad zu Deinem Datenpunkt anpassen.

          dba428cc-c83f-4135-b5b5-1bfb7df09ce9-image.png
          8a15f518-67a6-44a0-bf17-d22f5da1dd39-image.png

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          A 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @alyxabyss

            7113f680-414e-44fa-9364-9fb99eacd7ac-image.png

            So du musst halt noch die Rechte anpassen im Moment wird in das Homeverzeichnis des iobrokers geschreiben:

            [
               {
                   "id": "456c94dd812b77f5",
                   "type": "ioBroker in",
                   "z": "7e6af0015415146d",
                   "name": "",
                   "topic": "0_userdata.0.Test.person",
                   "payloadType": "value",
                   "onlyack": "",
                   "func": "all",
                   "gap": "",
                   "fireOnStart": "false",
                   "outFormat": "MQTT",
                   "x": 290,
                   "y": 3240,
                   "wires": [
                       [
                           "8fac7d97c23c1503"
                       ]
                   ]
               },
               {
                   "id": "7989ccc21f2dad1d",
                   "type": "file",
                   "z": "7e6af0015415146d",
                   "name": "",
                   "filename": "filename",
                   "filenameType": "msg",
                   "appendNewline": true,
                   "createDir": false,
                   "overwriteFile": "true",
                   "encoding": "none",
                   "x": 1100,
                   "y": 3240,
                   "wires": [
                       []
                   ]
               },
               {
                   "id": "e6a8e0016d890542",
                   "type": "json",
                   "z": "7e6af0015415146d",
                   "name": "",
                   "property": "payload",
                   "action": "",
                   "pretty": false,
                   "x": 730,
                   "y": 3240,
                   "wires": [
                       [
                           "84e0b3d256456e8b"
                       ]
                   ]
               },
               {
                   "id": "84e0b3d256456e8b",
                   "type": "change",
                   "z": "7e6af0015415146d",
                   "name": "",
                   "rules": [
                       {
                           "t": "set",
                           "p": "filename",
                           "pt": "msg",
                           "to": "/home/iobroker/config.json",
                           "tot": "str"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 910,
                   "y": 3240,
                   "wires": [
                       [
                           "7989ccc21f2dad1d"
                       ]
                   ]
               },
               {
                   "id": "8fac7d97c23c1503",
                   "type": "change",
                   "z": "7e6af0015415146d",
                   "name": "",
                   "rules": [
                       {
                           "t": "move",
                           "p": "payload",
                           "pt": "msg",
                           "to": "payload.variable",
                           "tot": "msg"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 540,
                   "y": 3240,
                   "wires": [
                       [
                           "e6a8e0016d890542"
                       ]
                   ]
               }
            ]
            

            und natürlich den Pfad zu Deinem Datenpunkt anpassen.

            dba428cc-c83f-4135-b5b5-1bfb7df09ce9-image.png
            8a15f518-67a6-44a0-bf17-d22f5da1dd39-image.png

            A Offline
            A Offline
            AlyxAbyss
            schrieb am zuletzt editiert von
            #7

            @mickym vielen dank. ich setz mich später wenn ich ruhe hab mal dran. Gebe dann feedback :)

            mickymM 1 Antwort Letzte Antwort
            0
            • A AlyxAbyss

              @mickym vielen dank. ich setz mich später wenn ich ruhe hab mal dran. Gebe dann feedback :)

              mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von
              #8

              @alyxabyss Ok - habs gerade noch im Homevz. des pi gecheckt - du must nur msg.filename wie folgt abändern:

              fef8ac74-91d2-4a34-bf36-3a2173c64542-image.png

              Für die Rechte.

              Füge den Benutzer iobroker in die Gruppe pi hinzu:

              sudo usermod -aG pi iobroker
              

              Du musst dann in jedem Fall die Maschine durchstarten.

              Wenn Du nicht willst, dass der user iobroker weitere Dateien anlegen kann. Dann leg mit dem user pi die Datei config.json an und lass die Gruppe darauf schreiben:

              chmod g+w config.json
              
              pi@mwhome:~ $ chmod g+w config.json
              pi@mwhome:~ $ cat config.json
              {"variable":"Stefan"}
              pi@mwhome:~ $ cat config.json
              {"variable":"mickym"}
              pi@mwhome:~ $ ls -la config.json
              -rw-rw-r-- 1 pi pi 22 31. Mär 20:01 config.json
              

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              A 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @alyxabyss Ok - habs gerade noch im Homevz. des pi gecheckt - du must nur msg.filename wie folgt abändern:

                fef8ac74-91d2-4a34-bf36-3a2173c64542-image.png

                Für die Rechte.

                Füge den Benutzer iobroker in die Gruppe pi hinzu:

                sudo usermod -aG pi iobroker
                

                Du musst dann in jedem Fall die Maschine durchstarten.

                Wenn Du nicht willst, dass der user iobroker weitere Dateien anlegen kann. Dann leg mit dem user pi die Datei config.json an und lass die Gruppe darauf schreiben:

                chmod g+w config.json
                
                pi@mwhome:~ $ chmod g+w config.json
                pi@mwhome:~ $ cat config.json
                {"variable":"Stefan"}
                pi@mwhome:~ $ cat config.json
                {"variable":"mickym"}
                pi@mwhome:~ $ ls -la config.json
                -rw-rw-r-- 1 pi pi 22 31. Mär 20:01 config.json
                
                A Offline
                A Offline
                AlyxAbyss
                schrieb am zuletzt editiert von AlyxAbyss
                #9

                @mickym Danke es funktioniert. Ist zwar nicht die eleganteste Methode weil ich nur für diesen kleinen Flow nun NodeRed installieren musste. Aber es erfüllt ihren Zweck.

                mickymM CodierknechtC 2 Antworten Letzte Antwort
                0
                • A AlyxAbyss

                  @mickym Danke es funktioniert. Ist zwar nicht die eleganteste Methode weil ich nur für diesen kleinen Flow nun NodeRed installieren musste. Aber es erfüllt ihren Zweck.

                  mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #10

                  @alyxabyss Na ja vielleicht kann Dir ja noch jemand anders helfen, wenn Du dich mit diesem tollen Tool nicht weiter beschäftigen möchtest.

                  Ich glaub du kannst irgendeine Filesystem Bibliothek nutzen und dann kannst ja Blockly nutzen.

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  1 Antwort Letzte Antwort
                  0
                  • A AlyxAbyss

                    @mickym

                    NodeRed wäre auch okay. Will ja kein großes Skript draus machen.
                    Mir reicht es wenn es ganz unkompliziert lediglich die Variable schreibt und mehr nicht.

                    Am besten erstelle ich einen neuen Datenpunkt wo dann immer der entsprechende Name rein gesetzt wird und das skript bei ändern dann die config.json lediglich abändert.

                    Das mit den rechten sollte kein Problem sein. Das bekomm ich hin.

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von
                    #11

                    @alyxabyss sagte in Ändern einer Variable innerhalb einer config.json:

                    @mickym

                    NodeRed wäre auch okay. Will ja kein großes Skript draus machen.
                    Mir reicht es wenn es ganz unkompliziert lediglich die Variable schreibt und mehr nicht.

                    Am besten erstelle ich einen neuen Datenpunkt wo dann immer der entsprechende Name rein gesetzt wird und das skript bei ändern dann die config.json lediglich abändert.

                    Das mit den rechten sollte kein Problem sein. Das bekomm ich hin.

                    Da hattest Du ja geschrieben, dass NodeRed OK wäre, sonst hätte ich den Flow ja nicht gemacht.

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    A 1 Antwort Letzte Antwort
                    1
                    • A AlyxAbyss

                      @mickym Danke es funktioniert. Ist zwar nicht die eleganteste Methode weil ich nur für diesen kleinen Flow nun NodeRed installieren musste. Aber es erfüllt ihren Zweck.

                      CodierknechtC Offline
                      CodierknechtC Offline
                      Codierknecht
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #12

                      @alyxabyss
                      Wenn Dir Blockly lieber ist, könntest Du im Blockly eine kleine JS-Funktion hinterlegen.
                      Per JS sollte es kein Problem sein, in eine Datei zu schreiben.

                      Schau mal hier - vielleicht hilft das weiter:
                      https://forum.iobroker.net/topic/1586/gelöst-daten-eine-temperatursensors-in-eione-txt-datei-schreiben/3

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi
                      Zabbix Certified Specialist
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      1 Antwort Letzte Antwort
                      1
                      • mickymM mickym

                        @alyxabyss sagte in Ändern einer Variable innerhalb einer config.json:

                        @mickym

                        NodeRed wäre auch okay. Will ja kein großes Skript draus machen.
                        Mir reicht es wenn es ganz unkompliziert lediglich die Variable schreibt und mehr nicht.

                        Am besten erstelle ich einen neuen Datenpunkt wo dann immer der entsprechende Name rein gesetzt wird und das skript bei ändern dann die config.json lediglich abändert.

                        Das mit den rechten sollte kein Problem sein. Das bekomm ich hin.

                        Da hattest Du ja geschrieben, dass NodeRed OK wäre, sonst hätte ich den Flow ja nicht gemacht.

                        A Offline
                        A Offline
                        AlyxAbyss
                        schrieb am zuletzt editiert von
                        #13

                        @mickym ist ja auch okay. Macht ja was es soll. Damit komme ich erstmal klar. Und vielleicht nehm ich das ja auch zum Anlass mich mit NodeRed mal mehr zu beschäftigen. Es sieht ja interessant aus.

                        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

                        489

                        Online

                        32.6k

                        Benutzer

                        82.1k

                        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