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. Skripten / Logik
  4. Blockly
  5. Blockly will keine Status werte in Wort

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    690

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

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

Blockly will keine Status werte in Wort

Scheduled Pinned Locked Moved Blockly
14 Posts 2 Posters 1.3k Views 1 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.
  • A acidsubway

    Hallo Paul,

    schau mal oben im Bild das meine ich.
    2020-04-18 22_30_23-objects - ioBroker.png

    paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by paul53
    #4

    @acidsubway sagte:

    oben im Bild

    Funktion ist ein Aufzählungsobjekt (ursprünglich "Gewerk"), dem Objekte zugeordnet werden können. Dort lassen sich keine Zustände eines Datenpunktes unterbringen. Die Zustandstexte werden in der Spalte "Wert" angezeigt, wenn vorhanden.

    Senderliste.JPG

    In Klammern steht der eigentliche Zahlenwert.

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Reply Last reply
    0
    • A Offline
      A Offline
      acidsubway
      wrote on last edited by
      #5

      ach super das geht auch, wie schaut das in blockly aus?
      mit dem Programmieren habe ich es nicht so :/

      paul53P 2 Replies Last reply
      0
      • A acidsubway

        ach super das geht auch, wie schaut das in blockly aus?
        mit dem Programmieren habe ich es nicht so :/

        paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by
        #6

        @acidsubway sagte in Blockly will keine Status werte in Wort:

        wie schaut das in blockly aus?

        Blockly hat da seine Grenzen. In Javascript kann man den Zustandstext leicht ermitteln.

        on('javascript.1.test.Senderliste', function(dp) {
            log(dp.common.states[dp.state.val]);
        });
        

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Reply Last reply
        0
        • A acidsubway

          ach super das geht auch, wie schaut das in blockly aus?
          mit dem Programmieren habe ich es nicht so :/

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #7

          @acidsubway
          Wo möchtest Du die Zustandstexte letztlich anzeigen ?
          In Vis gibt es dafür die Widgets mit ValueList im Namen. Dort trägt man die Texte direkt ein.

          Vis_ValueList.JPG

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Reply Last reply
          0
          • A Offline
            A Offline
            acidsubway
            wrote on last edited by
            #8

            ok Paul danke, schau mal so schaut jetzt mein Script aus?

            // Solar Status Scrip
            {
              "from": "system.adapter.modbis.1.holdingRegisters",
              "user": "system.user.admin",
              "ts": 1582661467074,          // was muss hier rein?
              "common": {
                "name": "Regelstatus",
                "role": "",
                "type": "number",           //welche Nummer muss hier rein?
                "desc": "Manuell erzeugt",
                "states": {
                  "0": "Warte auf Sonne",
                  "1": "Frostschutz",
                  "2": "Anschieben",
                  "3": "Einscchaltverzögerung"
                  "4": "Einspeisen"
                  "5": "Speicher voll"
                  "6": "Kollektor überhitzt"
                  "7": "Manuell"
                  "8": "Messung"
                  "9": "Störabschaltung"
                  "10": "Speicher umladen"
                  "11": "Heißstart"
                  "12": "SPS übernimmt"
            
                },
                "min": 0,
                "max": 12,
                "def": 0,
                "read": true,
                "write": true
              },
            

            2020-04-19 08_40_28-objects - ioBroker.png

            um die oben markierte Zeile geht es, ich hab das gefühl mir fehlt noch was in meinem Script?

            mfg

            1 Reply Last reply
            0
            • A Offline
              A Offline
              acidsubway
              wrote on last edited by
              #9

              oh ja der hat einen Fehler.

              08:44:35.961	info	javascript.0 (112) Stop script script.js.common.Solar_Status_umwandeln
              08:44:35.961	info	javascript.1 (5369) Stop script script.js.common.Solar_Status_umwandeln
              08:44:36.085	info	javascript.0 (112) Start javascript script.js.common.Solar_Status_umwandeln
              08:44:36.086	error	javascript.0 (112) script.js.common.Solar_Status_umwandeln compile failed: at script.js.common.Solar_Status_umwandeln:3
              
              1 Reply Last reply
              0
              • A Offline
                A Offline
                acidsubway
                wrote on last edited by
                #10

                2020-04-19 08_49_39-objects - ioBroker.png

                hab vorhin ein falsches Objekt gepostet, das ist der Solarregler

                paul53P 1 Reply Last reply
                0
                • A Offline
                  A Offline
                  acidsubway
                  wrote on last edited by acidsubway
                  #11
                  // Solar Status Scrip
                  {
                    "from": "system.adapter.modbus.0.holdingRegisters.4028",
                    "user": "system.user.admin",
                    "ts": 1582661467074,          // was muss hier rein?
                    "common": {
                      "name": "Regelstatus",
                      "role": "",
                      "type": "number",           //welche Nummer muss hier rein?
                      "desc": "Manuell erzeugt",
                      "states": {
                        "0": "Warte auf Sonne",
                        "1": "Frostschutz",
                        "2": "Anschieben",
                        "3": "Einscchaltverzögerung"
                        "4": "Einspeisen"
                        "5": "Speicher voll"
                        "6": "Kollektor überhitzt"
                        "7": "Manuell"
                        "8": "Messung"
                        "9": "Störabschaltung"
                        "10": "Speicher umladen"
                        "11": "Heißstart"
                        "12": "SPS übernimmt"
                  
                      },
                      "min": 0,
                      "max": 12,
                      "def": 0,
                      "read": true,
                      "write": true
                    },
                  

                  ich sehe leider nicht woran es liegen könnte

                  paul53P 1 Reply Last reply
                  0
                  • A acidsubway
                    // Solar Status Scrip
                    {
                      "from": "system.adapter.modbus.0.holdingRegisters.4028",
                      "user": "system.user.admin",
                      "ts": 1582661467074,          // was muss hier rein?
                      "common": {
                        "name": "Regelstatus",
                        "role": "",
                        "type": "number",           //welche Nummer muss hier rein?
                        "desc": "Manuell erzeugt",
                        "states": {
                          "0": "Warte auf Sonne",
                          "1": "Frostschutz",
                          "2": "Anschieben",
                          "3": "Einscchaltverzögerung"
                          "4": "Einspeisen"
                          "5": "Speicher voll"
                          "6": "Kollektor überhitzt"
                          "7": "Manuell"
                          "8": "Messung"
                          "9": "Störabschaltung"
                          "10": "Speicher umladen"
                          "11": "Heißstart"
                          "12": "SPS übernimmt"
                    
                        },
                        "min": 0,
                        "max": 12,
                        "def": 0,
                        "read": true,
                        "write": true
                      },
                    

                    ich sehe leider nicht woran es liegen könnte

                    paul53P Offline
                    paul53P Offline
                    paul53
                    wrote on last edited by
                    #12

                    @acidsubway
                    Das, was ich hier gezeigt habe, ist kein Script, sondern die RAW-Ansicht eines Datenpunktes mit einer Werteliste, und davon nur der Teil "common".

                    Du brauchst kein Script, um die Zustandstexte in Vis anzuzeigen. Sie müssen im Widget eingegeben werden. Z.B. Widget "ValueList HTML":

                    Vis_ValueList.JPG

                    Oder brauchst Du die Zustandstexte woanders ?

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Reply Last reply
                    0
                    • A acidsubway

                      2020-04-19 08_49_39-objects - ioBroker.png

                      hab vorhin ein falsches Objekt gepostet, das ist der Solarregler

                      paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by
                      #13

                      @acidsubway sagte in Blockly will keine Status werte in Wort:

                      das ist der Solarregler

                      Bitte verändere keine Original-Datenpunkte des Modbus-Adapters. Wenn Du einen Datenpunkt mit Zustandstexten benötigst, der ansonsten ein Abbild des "Status Solar" ist, dann erzeuge einen Alias. Das kannst Du mit diesem Script machen:

                      // Original-Datenpunkt
                      const idOrigin = 'modbus.0.holdingRegisters.4028';
                       
                      // Alias-Datenpunkt
                      const idAlias = 'Solar.Status';
                      var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk;
                      // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich
                      // nameAlias = 'Batterie Deckenlicht';
                      desc = 'per Script erstellt';
                      // typeAlias = 'boolean'; // oder 'number'
                      // read = "val < 20 ? true : false"; // Erkennung "Aus" --> false erfolgt automatisch  
                      // write = "val ? 'Ein' : 'Aus'";
                      // role = 'indicator';
                      // min = 0; // nur Zahlen
                      // max = 100; // nur Zahlen
                      // unit = '%'; // nur für Zahlen
                      states = {
                            0: "Warte auf Sonne",
                            1: "Frostschutz",
                            2: "Anschieben",
                            3: "Einschaltverzögerung",
                            4: "Einspeisen",
                            5: "Speicher voll",
                            6: "Kollektor überhitzt",
                            7: "Manuell",
                            8: "Messung",
                            9: "Störabschaltung",
                            10: "Speicher umladen",
                            11: "Heißstart",
                            12: "SPS übernimmt"
                      };
                      // custom = []; // verhindert doppelte Ausführung von history, ...
                      // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten !
                      // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten !
                      
                      function createAlias(idSrc, idDst) {
                         if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn');
                         else {
                            var obj = {};
                            obj.type = 'state';
                            obj.common = getObject(idSrc).common;
                            obj.common.alias = {};
                            obj.common.alias.id = idSrc;
                            if(typeAlias) obj.common.type = typeAlias;
                            if(obj.common.read !== false && read) obj.common.alias.read = read;
                            if(obj.common.write !== false && write) obj.common.alias.write = write;
                            if(nameAlias) obj.common.name = nameAlias;
                            if(role) obj.common.role = role;
                            if(desc) obj.common.desc = desc;
                            if(min !== undefined) obj.common.min = min;
                            if(max !== undefined) obj.common.max = max;
                            if(unit) obj.common.unit = unit;
                            if(states) obj.common.states = states;
                            if(custom && obj.common.custom) obj.common.custom = custom;
                            obj.native = {};
                            setObject(idDst, obj);
                            if(raum && getObject('enum.rooms.' + raum)) {
                               let obj = getObject('enum.rooms.' + raum)
                               obj.common.members.push(idDst);
                               setObject('enum.rooms.' + raum, obj);
                            }
                            if(gewerk && getObject('enum.functions.' + gewerk)) {
                               let obj = getObject('enum.functions.' + gewerk)
                               obj.common.members.push(idDst);
                               setObject('enum.functions.' + gewerk, obj);
                            }
                         } 
                      }
                       
                      createAlias(idOrigin, 'alias.0.' + idAlias);
                      

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        acidsubway
                        wrote on last edited by
                        #14

                        PAUL, DANKE DIR!!!!!!!!!!!!!!!!!!!!!!!

                        Das geht super, kann das nun auch noch umschreiben für noch mehr statuse :D DANKE

                        1 Reply Last reply
                        0

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        305

                        Online

                        32.7k

                        Users

                        82.6k

                        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