Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Ändern einer Variable innerhalb einer config.json

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Ändern einer Variable innerhalb einer config.json

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @AlyxAbyss last edited by

      @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 1 Reply Last reply Reply Quote 1
      • A
        AlyxAbyss @mickym last edited by

        @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.

        mickym 2 Replies Last reply Reply Quote 0
        • mickym
          mickym Most Active @AlyxAbyss last edited by

          @alyxabyss Gut ich mach dann mal einen Flow. 😉

          A 1 Reply Last reply Reply Quote 1
          • A
            AlyxAbyss @mickym last edited by

            @mickym Super lieb 🙂

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @AlyxAbyss last edited by 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 1 Reply Last reply Reply Quote 0
              • A
                AlyxAbyss @mickym last edited by

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

                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @AlyxAbyss last edited by

                  @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 1 Reply Last reply Reply Quote 0
                  • A
                    AlyxAbyss @mickym last edited by 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.

                    mickym Codierknecht 2 Replies Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @AlyxAbyss last edited by mickym

                      @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.

                      1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @AlyxAbyss last edited by

                        @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 1 Reply Last reply Reply Quote 1
                        • Codierknecht
                          Codierknecht Developer Most Active @AlyxAbyss last edited by

                          @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

                          1 Reply Last reply Reply Quote 1
                          • A
                            AlyxAbyss @mickym last edited by

                            @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 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            923
                            Online

                            31.9k
                            Users

                            80.1k
                            Topics

                            1.3m
                            Posts

                            3
                            13
                            549
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo