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.
    • paul53
      paul53 last edited by

      Update: Habe in JIRA unter ADMIN-4 eine geänderte "adminStates.js" eingestellt, mit der das Problem behoben sein sollte.

      1 Reply Last reply Reply Quote 0
      • 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" 😞

                          Apollon77 created this issue in ioBroker/ioBroker.admin

                          closed Daten-Duplizierung bei mehreren Instanzen #63

                          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

                          818
                          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