Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter Devices 0.3.x

    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

    Test Adapter Devices 0.3.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      martinschm @apollon77 last edited by

      @apollon77 said in Test Adapter Devices 0.3.x:

      @martinschm es ist wie linkeddevices nur das es die aliases nutzt.

      Ok, noch besser 🙂
      Wollte die Aliase schon nutzen, hab mich nur zurück gehalten, da das Anlegen per Skript etwas mühsam erschien. LinkedDevices wollte ich nicht nutzen, da ich es besser finde die vom System bereit gestellten Mechanismen zu verwenden als parallel neue aufzubauen.

      Schade, das man linkedDevices nicht "einfach" umbiegen kann.

      1 Reply Last reply Reply Quote 1
      • M
        martinschm last edited by

        @apollon77 : Ich hab mir mal den Adapter installiert, aktuell noch die aus dem latest repository.

        Kann man da links wo root steht auch noch weitere Unterverzeichnisse anlegen?

        61d100dd-ae4a-46b6-808a-ecda5981fd31-image.png

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

          @martinschm Einfach Punkte im Namen nutzen

          1 Reply Last reply Reply Quote 0
          • M
            martinschm last edited by martinschm

            Hi,
            ich habe grade mal ein wenig weiter getestet.
            Was ich beim Anlegen der Geräte noch nicht verstanden habe, wofür *SET und dann ACTUAL ist.

            Bei einem Thermostat könnte es die aktuelle Temperatur und dann die "Wunsch"temperatur sein. Aber bei einer Lampe oder Jalousie ?

            Das Feld LowBat ist als true/false gedacht, oder?
            Wenn mein Sensor einen Volt Wert ausgibt, kann ich den dort nicht unterbringen,oder?

            Und wofür ist das Feld Maintenance?

            ciao
            Martin

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

              @martinschm SET/ACTUAL machen bei steuerbaren Geräten Sinn wenn eine Steueraktion ggf länger dauert o.ä. oder wie bei einem Thermostat wo eine gemessene temperatur hat etwas anderes ist als eine die man als Ziel einstellt. Alles wären so Dinge.

              Auch bei einer Jalousie könnte man (weil ja die aktion etwas dauert) das trennen. ACTUAL ist der aktuelle Wert. SET der Zielwert. ACTUAL wird dann erst nach der erfolgten Fahrt aktualisiert.

              LowBat ist eher als Boolean gedacht, ja einen Volt Wert würde ich dort nicht reinschreiben, aber mittelen read logik kannst Du ja eine grenze definieren und true setzen wenn dein Wert <3V oder so ist.

              Maintenance bedeutet das das Gerät irgendetwas braucht (Batteriewechsel, Störung o.ä.)

              M 1 Reply Last reply Reply Quote 0
              • crunchip
                crunchip Forum Testing Most Active last edited by

                wenn ich mir einen Alias anlegen möchte, erhalte ich folgende Warnungen, mache ich da etwas falsch, oder stimmt da etwas nicht?

                admin.0	2020-05-05 00:33:27.145	warn	(989) This object will not be created in future versions. Please report this to the developer.
                admin.0	2020-05-05 00:33:27.145	warn	(989) Object alias.0.Zaehler.Abwasser.ACTUAL is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json
                admin.0	2020-05-05 00:29:49.974	warn	(989) This object will not be created in future versions. Please report this to the developer.
                admin.0	2020-05-05 00:29:49.972	warn	(989) Object alias.0.Zaehler.Abwasser.ACTUAL is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json
                iogo.0	2020-05-05 00:28:54.361	info	(1282) database initialized with 104 state values
                iogo.0	2020-05-05 00:28:54.220	info	(1282) database initialized with 104 state values
                iogo.0	2020-05-05 00:28:47.719	info	(1282) uploading state
                iogo.0	2020-05-05 00:28:47.696	info	(1282) uploading state
                influxdb.0	2020-05-05 00:28:47.652	warn	(1233) Alias alias.0.Zaehler.Abwasser.ACTUAL has no target 12
                influxdb.2	2020-05-05 00:28:47.664	warn	(2240) Alias alias.0.Zaehler.Abwasser.ACTUAL has no target 12
                javascript.0	2020-05-05 00:28:47.654	warn	(1700) Alias alias.0.Zaehler.Abwasser.ACTUAL has no target 12
                iogo.0	2020-05-05 00:28:47.658	warn	(1282) Alias alias.0.Zaehler.Abwasser.ACTUAL has no target 12
                javascript.1	2020-05-05 00:28:47.655	warn	(1707) Alias alias.0.Zaehler.Abwasser.ACTUAL has no target 12
                admin.0	2020-05-05 00:28:47.628	warn	(989) This object will not be created in future versions. Please report this to the developer.
                admin.0	2020-05-05 00:28:47.624	warn	(989) Object alias.0.Zaehler.Abwasser.ACTUAL is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json
                influxdb.2	2020-05-05 00:28:47.346	warn	(2240) Alias alias.0.Zaehler.Abwasser has no target 12
                iogo.0	2020-05-05 00:28:47.355	warn	(1282) Alias alias.0.Zaehler.Abwasser has no target 12
                javascript.1	2020-05-05 00:28:47.348	warn	(1707) Alias alias.0.Zaehler.Abwasser has no target 12
                javascript.0	2020-05-05 00:28:47.349	warn	(1700) Alias alias.0.Zaehler.Abwasser has no target 12
                influxdb.0	2020-05-05 00:28:47.342	warn	(1233) Alias alias.0.Zaehler.Abwasser has no target 12
                

                59eec708-8438-4dbf-82e1-fd0bc1993187-image.png 52489ea1-30f2-4c00-85b3-d08a98b3f61b-image.png

                Unit habe ich nachträglich eingetragen, role hab ich geändert von "state" auf "value"
                f75828e4-c38b-46b8-b862-3420a3cbdd5a-image.png

                die Raw vom Original

                {
                 "type": "state",
                 "common": {
                   "read": true,
                   "write": false,
                   "desc": "w_counter_3",
                   "unit": "m3",
                   "role": "value",
                   "id": "w_counter_3",
                   "name": "15",
                   "type": "number",
                   "custom": {
                     "sourceanalytix.0": {
                       "enabled": true,
                       "alias": "Wasser",
                       "state_type": "water_m3",
                       "state_unit": "m3",
                       "costs": true,
                       "consumption": true,
                       "meter_values": true,
                       "start_day": 301.899,
                       "start_week": 301.638,
                       "start_month": 301.309,
                       "start_quarter": 294.02,
                       "start_year": 275.744
                     },
                     "influxdb.0": {
                       "enabled": true,
                       "changesOnly": true,
                       "debounce": "1000",
                       "retention": "31536000",
                       "changesRelogInterval": "3600",
                       "changesMinDelta": 0,
                       "storageType": "Number",
                       "aliasId": ""
                     }
                   }
                 },
                 "native": {},
                 "from": "system.adapter.sourceanalytix.0",
                 "user": "system.user.admin",
                 "ts": 1588629600677,
                 "_id": "wiffi-wz.0.root.10_1_30_10.w_counter_3",
                 "acl": {
                   "object": 1636,
                   "state": 1636,
                   "owner": "system.user.admin",
                   "ownerGroup": "system.group.administrator"
                 }
                }
                

                nächste Frage, wenn ich diesen Alias wieder lösche
                e2c5219d-5378-4054-a752-1b16f82047a8-image.png

                kommen sämtliche Warnmeldungen im LOG

                iogo.0	2020-05-05 00:52:56.464	info	(1282) database initialized with 104 state values
                iogo.0	2020-05-05 00:52:55.815	info	(1282) database initialized with 104 state values
                iogo.0	2020-05-05 00:52:48.985	info	(1282) uploading state
                iogo.0	2020-05-05 00:52:48.968	info	(1282) uploading state
                javascript.1	2020-05-05 00:52:48.954	warn	at process.topLevelDomainCallback (domain.js:126:23)
                javascript.1	2020-05-05 00:52:48.954	warn	at processImmediate (timers.js:658:5)
                javascript.1	2020-05-05 00:52:48.954	warn	at tryOnImmediate (timers.js:676:5)
                javascript.1	2020-05-05 00:52:48.954	warn	at runCallback (timers.js:705:18)
                javascript.1	2020-05-05 00:52:48.954	warn	at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:1:30045)
                javascript.1	2020-05-05 00:52:48.954	warn	at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1620:151)
                javascript.1	2020-05-05 00:52:48.954	warn	(1707) TypeError: Cannot read property '_id' of null
                influxdb.2	2020-05-05 00:52:48.952	warn	at process.topLevelDomainCallback (domain.js:126:23)
                influxdb.2	2020-05-05 00:52:48.952	warn	at processImmediate (timers.js:658:5)
                influxdb.2	2020-05-05 00:52:48.952	warn	at tryOnImmediate (timers.js:676:5)
                influxdb.2	2020-05-05 00:52:48.952	warn	at runCallback (timers.js:705:18)
                influxdb.2	2020-05-05 00:52:48.952	warn	at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:1:30045)
                influxdb.2	2020-05-05 00:52:48.952	warn	at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1620:151)
                influxdb.2	2020-05-05 00:52:48.952	warn	(2240) TypeError: Cannot read property '_id' of null
                influxdb.0	2020-05-05 00:52:48.940	warn	at process.topLevelDomainCallback (domain.js:126:23)
                influxdb.0	2020-05-05 00:52:48.940	warn	at processImmediate (timers.js:658:5)
                influxdb.0	2020-05-05 00:52:48.940	warn	at tryOnImmediate (timers.js:676:5)
                influxdb.0	2020-05-05 00:52:48.940	warn	at runCallback (timers.js:705:18)
                influxdb.0	2020-05-05 00:52:48.940	warn	at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:1:30045)
                influxdb.0	2020-05-05 00:52:48.940	warn	at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1620:151)
                influxdb.0	2020-05-05 00:52:48.940	warn	(1233) TypeError: Cannot read property '_id' of null
                javascript.0	2020-05-05 00:52:48.933	warn	at process.topLevelDomainCallback (domain.js:126:23)
                javascript.0	2020-05-05 00:52:48.933	warn	at processImmediate (timers.js:658:5)
                javascript.0	2020-05-05 00:52:48.933	warn	at tryOnImmediate (timers.js:676:5)
                javascript.0	2020-05-05 00:52:48.933	warn	at runCallback (timers.js:705:18)
                javascript.0	2020-05-05 00:52:48.933	warn	at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:1:30045)
                javascript.0	2020-05-05 00:52:48.933	warn	at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1620:151)
                javascript.0	2020-05-05 00:52:48.933	warn	(1700) TypeError: Cannot read property '_id' of null
                iogo.0	2020-05-05 00:52:48.931	warn	at processImmediate (timers.js:658:5)
                iogo.0	2020-05-05 00:52:48.931	warn	at tryOnImmediate (timers.js:676:5)
                iogo.0	2020-05-05 00:52:48.931	warn	at runCallback (timers.js:705:18)
                iogo.0	2020-05-05 00:52:48.931	warn	at Immediate.setImmediate [as _onImmediate] (/opt/iobroker/node_modules/iobroker.objects-redis/index.js:1:30045)
                iogo.0	2020-05-05 00:52:48.931	warn	at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1620:151)
                iogo.0	2020-05-05 00:52:48.931	warn	(1282) TypeError: Cannot read property '_id' of null
                javascript.1	2020-05-05 00:52:48.915	warn	(1707) Objects Cannot process system pmessage alias.0.Zaehler.Abwasser - null: Cannot read property '_id' of null
                iogo.0	2020-05-05 00:52:48.915	warn	(1282) Objects Cannot process system pmessage alias.0.Zaehler.Abwasser - null: Cannot read property '_id' of null
                influxdb.2	2020-05-05 00:52:48.927	warn	(2240) Objects Cannot process system pmessage alias.0.Zaehler.Abwasser - null: Cannot read property '_id' of null
                javascript.0	2020-05-05 00:52:48.922	warn	(1700) Objects Cannot process system pmessage alias.0.Zaehler.Abwasser - null: Cannot read property '_id' of null
                influxdb.0	2020-05-05 00:52:48.914	warn	(1233) Objects Cannot process system pmessage alias.0.Zaehler.Abwasser - null: Cannot read property '_id' of null
                

                apollon77 1 Reply Last reply Reply Quote 1
                • apollon77
                  apollon77 @crunchip last edited by

                  @crunchip Der eine Teil der meldungen kam wegen dem falschen typ (state anstelle einem datentyp). Der andere teil das auch "Stukturobjekte" Fehlermekdungen werden wird in der nächsten Controller Version gefixt sein. Der andere Fehler auch Danke!

                  1 Reply Last reply Reply Quote 2
                  • M
                    martinschm @apollon77 last edited by

                    @apollon77 said in Test Adapter Devices 0.3.x:

                    LowBat ist eher als Boolean gedacht, ja einen Volt Wert würde ich dort nicht reinschreiben, aber mittelen read logik kannst Du ja eine grenze definieren und true setzen wenn dein Wert <3V oder so ist.

                    Verzeih mir meine Unwissenheit, aber was ist den read logik ?

                    Garfonso 1 Reply Last reply Reply Quote 0
                    • Garfonso
                      Garfonso Developer @martinschm last edited by

                      @martinschm
                      Man kann dem alias sagen er soll die Daten noch manipulieren, bevor er sie in den Alias State schreibt (read logik) oder aus dem alias state in den original state (write logik). Soweit ich weiß geht das bisher nur über die RAW Ansicht des Objekts. Dort dann sowas eintragen:

                        "common": {
                          "name": "Buero batteryWarning",
                          "role": "indicator.lowbat",
                          "type": "boolean",
                          "read": true,
                          "write": false,
                          "smartName": false,
                          "alias": {
                            "id": "zigbee.0.00158d0003f3cea3.battery",
                            "read": "val < 20"
                          },
                      

                      Also wichtig die Zeile "read". Hier wird aus einer Batterie % Anzeige eine Batteriewarnung, wenn die Batterie unter 20% fällt. Damit kann man relativ lustige Sachen machen. "val" ist dabei in read der Wert des target state (also hier zigbee.0.00158d0003f3cea3.battery) und bei write der Wert des alias state.

                      M M 2 Replies Last reply Reply Quote 1
                      • M
                        muuulle last edited by

                        Hallo zusammen,
                        mein Alias.0 Ordner ist verschwunden. Mögliches versehentliches löschen nicht auszuschließen 😲

                        Was kann ich tun?

                        BBTown Garfonso 2 Replies Last reply Reply Quote 0
                        • BBTown
                          BBTown @muuulle last edited by

                          @muuulle

                          1. ein aktuelles Backup anlegen
                          2. ein altes Backup zurückspielen
                          3. die Objekte aus dem Knoten alias.0 sichern (exportieren)
                          4. das zuvor angelegte Backup zurückspielen
                          5. die alias.0 Objekte importieren
                          M 1 Reply Last reply Reply Quote 0
                          • M
                            muuulle @BBTown last edited by

                            @BBTown
                            Danke für die Rückmeldung.

                            Muss ich das große Rad auch drehen, wenn ich keinen Bedarf an den alten Alias habe? Ich könnte die paar Alias auch flott händisch anlegen...

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

                              @muuulle sagte:

                              Ich könnte die paar Alias auch flott händisch anlegen...

                              Dann mache es.

                              const id = 'alias.0';
                              const obj = {
                                  type: 'meta',
                                  common: {
                                      name: 'Alias'
                                  },
                                  native: {}
                              };
                              if(!existsObject(id)) setObject(id, obj);
                              
                              M apollon77 2 Replies Last reply Reply Quote 1
                              • M
                                muuulle @paul53 last edited by

                                @paul53
                                Moin Paul,

                                meine Programmierkenntnisse sind äußerst limitiert. Wo muss ich den Code einfügen? 👷‍♂️

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

                                  @muuulle sagte:

                                  Wo muss ich den Code einfügen?

                                  als neues Javascript, starten und wieder beenden.

                                  M 1 Reply Last reply Reply Quote 0
                                  • Garfonso
                                    Garfonso Developer @muuulle last edited by

                                    @muuulle said in Test Adapter Devices 0.3.x:

                                    Hallo zusammen,
                                    mein Alias.0 Ordner ist verschwunden. Mögliches versehentliches löschen nicht auszuschließen 😲

                                    Was kann ich tun?

                                    Bist du sicher, dass er gelöscht wurde? Wenn keine Elemente darin sind, wird er nicht als "Ordner" angezeigt und landet im Admin in der Objekt-Ansicht ganz unten bei den States.

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      muuulle @paul53 last edited by

                                      @paul53
                                      Alles geklappt. Danke!

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

                                        @paul53 Ein "iobroker setup first" sollte auch reichen

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

                                          @apollon77 sagte:

                                          Ein "iobroker setup first" sollte auch reichen

                                          Danke. Das hatte ich zwar vermutet, war mir aber nicht sicher.

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            muuulle @Garfonso last edited by

                                            @Garfonso said in Test Adapter Devices 0.3.x:

                                            @martinschm
                                            Man kann dem alias sagen er soll die Daten noch manipulieren, bevor er sie in den Alias State schreibt (read logik) oder aus dem alias state in den original state (write logik). Soweit ich weiß geht das bisher nur über die RAW Ansicht des Objekts. Dort dann sowas eintragen:

                                              "common": {
                                                "name": "Buero batteryWarning",
                                                "role": "indicator.lowbat",
                                                "type": "boolean",
                                                "read": true,
                                                "write": false,
                                                "smartName": false,
                                                "alias": {
                                                  "id": "zigbee.0.00158d0003f3cea3.battery",
                                                  "read": "val < 20"
                                                },
                                            

                                            Also wichtig die Zeile "read". Hier wird aus einer Batterie % Anzeige eine Batteriewarnung, wenn die Batterie unter 20% fällt. Damit kann man relativ lustige Sachen machen. "val" ist dabei in read der Wert des target state (also hier zigbee.0.00158d0003f3cea3.battery) und bei write der Wert des alias state.

                                            Moin @Garfonso
                                            LOWBAT hat mit deiner Anleitung super funktioniert.
                                            Meine aqara Sensoren kennen nur reachable. Kann man den Wert invertieren, dass ich UNREACH richtig füttern kann?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            874
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            devices
                                            27
                                            136
                                            10234
                                            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