Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Iobroker.admin v1.0.0

    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

    Iobroker.admin v1.0.0

    This topic has been deleted. Only users with topic management privileges can see it.
    • Bluefox
      Bluefox last edited by

      @paul53:

      Update: Habe in JIRA unter ADMIN-4 eine geänderte "adminStates.js" eingestellt, mit der das Problem behoben sein sollte. `
      Bist du sicher, dass du wirklich die neueste Version von admin hast?

      Ich kann den Kode nicht erkennen hier:

      https://github.com/ioBroker/ioBroker.ad … nStates.js

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

        Habe weiter getestet, und festgestellt, dass zwar die Selektion so funktioniert, aber es treten andere Effekte auf.

        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 last edited by

          Nun habe ich einen kleineren Teil (ab Zeile 95) geändert: Ein Zeile (Kommentar: NEU) hinzugefügt und einiges auskommentiert. Nach einigen Test mit states als String und als Objekt scheint es so zu funktionieren.

          ! ```
          if (main.objects[_id] && main.objects[_id].common && main.objects[_id].common.type == 'boolean' && main.objects[_id].common.states) { var states = main.objects[_id].common.states; /* if (typeof main.objects[_id].common.states == 'string' && main.objects[_id].common.states[0] == '{') { try { states = JSON.parse(main.objects[_id].common.states); var text = ''; for (var s in states) { text += text ? ';' : ''; text += s + ':' + states[s]; } states = text; } catch (ex) { console.error('Cannot parse states: ' + main.objects[_id].common.states); states = null; } } else if (typeof main.objects[_id].common.states == 'object') { var text = ''; for (var s in states) { text += text ? ';' : ''; text += s + ':' + states[s]; } states = text; } if (states) { */ that.$grid.setColProp('val', { editable: true, edittype: 'select', formatter: 'select', // NEU editoptions: {value: states}, align: 'center' }); /* } else { that.$grid.setColProp('val', { editable: true, edittype: 'select', editoptions: {value: 'true:false'}, align: 'center' }); ! } */ } else if (

          1 Reply Last reply Reply Quote 0
          • Bluefox
            Bluefox last edited by

            @paul53:

            Nun habe ich einen kleineren Teil (ab Zeile 95) geändert: Ein Zeile (Kommentar: NEU) hinzugefügt und einiges auskommentiert. Nach einigen Test mit states als String und als Objekt scheint es so zu funktionieren.

            ! `if (main.objects[_id] && main.objects[_id].common && main.objects[_id].common.type == 'boolean' && main.objects[_id].common.states) { var states = main.objects[_id].common.states; /* if (typeof main.objects[_id].common.states == 'string' && main.objects[_id].common.states[0] == '{') { try { states = JSON.parse(main.objects[_id].common.states); var text = ''; for (var s in states) { text += text ? ';' : ''; text += s + ':' + states[s]; } states = text; } catch (ex) { console.error('Cannot parse states: ' + main.objects[_id].common.states); states = null; } } else if (typeof main.objects[_id].common.states == 'object') { var text = ''; for (var s in states) { text += text ? ';' : ''; text += s + ':' + states[s]; } states = text; } if (states) { */ that.$grid.setColProp('val', { editable: true, edittype: 'select', formatter: 'select', // NEU editoptions: {value: states}, align: 'center' }); /* } else { that.$grid.setColProp('val', { editable: true, edittype: 'select', editoptions: {value: 'true:false'}, align: 'center' }); ! } */ } else if (` Du hast ganze Umwandlung deaktiviert. Wie seht dein Problem-Objekt aus?[/s][/s] `

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 last edited by

              @Bluefox:

              Wie seht dein Problem-Objekt aus? `
              Z.B. so:

              {
                "_id": "javascript.0.Test.Schalter",
                "type": "state",
                "common": {
                  "name": "Test.Schalter",
                  "role": "",
                  "type": "boolean",
                  "read": true,
                  "write": true,
                  "desc": "Schaltertest",
                  "def": false,
                  "states": {
                    "false": "Aus",
                    "true": "Ein"
                  }
                },
                "native": {},
                "acl": {
                  "object": 1638,
                  "state": 1638
                }
              }
              

              Mit Umwandlung, aber ohne formatter: 'select' liefert die Auswahl "Aus" bzw. "Ein" (string). Mit der Änderung ist das Ergebnis false bzw. true (boolean).

              1 Reply Last reply Reply Quote 0
              • Bluefox
                Bluefox last edited by

                Ich kann dein Problem nicht reproduzieren mit dem Object.

                Allerdings es gibt neue Version. Probier mal die.

                Ansonsten das wird geschrieben beim Steuern:

                {"id":"javascript.0.Test.Schalter","newState":{"val":false,"ts":1462040239,"ack":false,"lc":1462040239,"from":"system.adapter.admin.0"}}

                {"id":"javascript.0.Test.Schalter","newState":{"val":true,"ts":1462040221,"ack":false,"lc":1462040221,"from":"system.adapter.admin.0"}}

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 last edited by

                  Habe es mit frisch installierter Version 1.0.3 von ibroker.admin gestestet mit folgendem Ergebnis:

                  javascript-0	2016-04-30 23:46:12	info	script.js._Multistate-Test: Test.Schalter: Ein string
                  javascript-0	2016-04-30 23:46:07	info	script.js._Multistate-Test: Test.Schalter: Aus string
                  javascript-0	2016-04-30 23:45:43	info	script.js._Multistate-Test: Test.String: 20.3 °C string
                  javascript-0	2016-04-30 23:45:18	info	script.js._Multistate-Test: Test.String: neuer Text string
                  javascript-0	2016-04-30 23:44:55	info	script.js._Multistate-Test: Test.swi: Nein string
                  javascript-0	2016-04-30 23:44:51	info	script.js._Multistate-Test: Test.swi: Ja string
                  javascript-0	2016-04-30 23:44:25	info	script.js._Multistate-Test: Test.3-Stufen: 2 number
                  javascript-0	2016-04-30 23:44:21	info	script.js._Multistate-Test: Test.3-Stufen: 3 number
                  javascript-0	2016-04-30 23:44:07	info	script.js._Multistate-Test: Test.Checkbox: true boolean
                  javascript-0	2016-04-30 23:44:03	info	script.js._Multistate-Test: Test.Checkbox: false boolean
                  javascript-0	2016-04-30 23:43:43	info	script.js._Multistate-Test: Test.Analog: 42 number
                  javascript-0	2016-04-30 23:43:38	info	script.js._Multistate-Test: Test.Analog: 43 number
                  admin-0	2016-04-30 23:43:30	info	Repository received successfully.
                  
                  

                  Das ist das zugehörige Testscript:

                  var anaid = getIdByName("Test.Analog");
                  var checkid = getIdByName("Test.Checkbox");
                  var msid = getIdByName("Test.3-Stufen");
                  var swiid = getIdByName("Test.swi");
                  var strid = getIdByName("Test.String");
                  var schaltid =getIdByName("Test.Schalter");
                  
                  function loggen(dp) {
                      log(dp.common.name +": " + dp.state.val + " " + typeof dp.state.val);
                  }
                  
                  on(anaid, loggen);
                  on(checkid, loggen);
                  on(msid, loggen);
                  on(swiid, loggen);
                  on(strid, loggen);
                  on(schaltid, loggen);
                  
                  

                  Wie man sieht, liefert die Veränderung des Wertes im Reiter "Zustände" bei den beiden Datenpunkten (common.type: boolean) "Test.swi" und "Test.Schalter" einen String zurück. Der Unterschied zwischen "Test.Schalter" und "Test.swi" ist common.states: Schalter als Objekt und swi als String.

                      "states": "false:Nein;true:Ja",
                  
                  1 Reply Last reply Reply Quote 0
                  • Bluefox
                    Bluefox last edited by

                    @paul53:

                    Habe es mit frisch installierter Version 1.0.3 von ibroker.admin gestestet mit folgendem Ergebnis:

                    javascript-0	2016-04-30 23:46:12	info	script.js._Multistate-Test: Test.Schalter: Ein string
                    javascript-0	2016-04-30 23:46:07	info	script.js._Multistate-Test: Test.Schalter: Aus string
                    javascript-0	2016-04-30 23:45:43	info	script.js._Multistate-Test: Test.String: 20.3 °C string
                    javascript-0	2016-04-30 23:45:18	info	script.js._Multistate-Test: Test.String: neuer Text string
                    javascript-0	2016-04-30 23:44:55	info	script.js._Multistate-Test: Test.swi: Nein string
                    javascript-0	2016-04-30 23:44:51	info	script.js._Multistate-Test: Test.swi: Ja string
                    javascript-0	2016-04-30 23:44:25	info	script.js._Multistate-Test: Test.3-Stufen: 2 number
                    javascript-0	2016-04-30 23:44:21	info	script.js._Multistate-Test: Test.3-Stufen: 3 number
                    javascript-0	2016-04-30 23:44:07	info	script.js._Multistate-Test: Test.Checkbox: true boolean
                    javascript-0	2016-04-30 23:44:03	info	script.js._Multistate-Test: Test.Checkbox: false boolean
                    javascript-0	2016-04-30 23:43:43	info	script.js._Multistate-Test: Test.Analog: 42 number
                    javascript-0	2016-04-30 23:43:38	info	script.js._Multistate-Test: Test.Analog: 43 number
                    admin-0	2016-04-30 23:43:30	info	Repository received successfully.
                    
                    

                    Das ist das zugehörige Testscript:

                    var anaid = getIdByName("Test.Analog");
                    var checkid = getIdByName("Test.Checkbox");
                    var msid = getIdByName("Test.3-Stufen");
                    var swiid = getIdByName("Test.swi");
                    var strid = getIdByName("Test.String");
                    var schaltid =getIdByName("Test.Schalter");
                    
                    function loggen(dp) {
                        log(dp.common.name +": " + dp.state.val + " " + typeof dp.state.val);
                    }
                    
                    on(anaid, loggen);
                    on(checkid, loggen);
                    on(msid, loggen);
                    on(swiid, loggen);
                    on(strid, loggen);
                    on(schaltid, loggen);
                    
                    

                    Wie man sieht, liefert die Veränderung des Wertes im Reiter "Zustände" bei den beiden Datenpunkten (common.type: boolean) "Test.swi" und "Test.Schalter" einen String zurück. Der Unterschied zwischen "Test.Schalter" und "Test.swi" ist common.states: Schalter als Objekt und swi als String.

                        "states": "false:Nein;true:Ja",
                    ```` `  
                    

                    Und du schaltest über Objekte oder über Zustände?

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 last edited by

                      @Bluefox:

                      Und du schaltest über Objekte oder über Zustände? `
                      Tab "Zustände".

                      EDIT: Habe es gerade im Tab "Objekte" getestet. Hier funktioniert es jetzt für alle Datenpunkttypen korrekt 😄

                      1 Reply Last reply Reply Quote 0
                      • apollon77
                        apollon77 last edited by

                        Hey,

                        im Github sind noch Issues … Mich quält schon länger das https://github.com/ioBroker/ioBroker.admin/issues/63 ... Ist da eine Lösung in Sicht? Vorher ist das für mich nicht wirklich "stable" 😞

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

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

                        582
                        Online

                        31.9k
                        Users

                        80.3k
                        Topics

                        1.3m
                        Posts

                        4
                        14
                        2064
                        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