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

      @ple sagte:

      Wenn ich jetzt den Namen des channels bekommen könnte

      let idCh = id.substring(0, id.lastIndexOf('.'));
      let nameCh = getObject(idCh).common.name;
      
      1 Reply Last reply Reply Quote 0
      • P
        ple last edited by

        Ich glaube, ich denke einfach zu kompliziert.
        Mit mappen meinte ich sowas

        let Meldung= []
        on({id: 'ping.0.192_168_10_1'/*Steuerung*/, val: false }, function () {    
        Meldung.push("Server nicht erreichbar")
        })
        

        das bei 100 Meldungen wird unübersichtlich, daher die Suche nach einer automation.

        Gedacht hatte ich mal das hier.

        let Meldung = [
            {trigger: getState("Hm-rpcxxxxxx").val, Check: true, message: "Fenster im Schlafzimmer ist offen" },
            {trigger: getState("XXXXXXX").val, Check: >100, message: "Jalosie im Schlafzimmer ist oben" },
            {trigger: getState('ping.0.192_168_10_1'/*Steuerung*/).val, Check: false, message: "Server nicht erreichbar" },
        ]
        

        Dort würde ich alle Meldungen reinpacken, die mir so einfallen.
        im array wird der Trigger angegeben, auf was geprüft werden soll und die Meldung.
        Wenn ein Check true ist, dann die Meldung per push ins neue Array, was später die Tabelle ist.

        Nur wusste ich jetzt nicht, wie immer Ereignisgesteuert das Array jedesmal neu einlese und alle Trigger erneut prüfe.
        Hatte erst überlegt ein Intervall (s) laufen zu lassen, der mir immer wieder das Array einliest und prüft und eine neue Json erzeugt, aber ob das sauber ist kann ich nicht beurteilen.

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

          @ple sagte:

          im array wird der Trigger angegeben

          Das macht der Selektor

          meldungen.on(schleife);
          

          @ple sagte in Test Adapter Devices 0.3.x:

          auf was geprüft werden soll

          true und != 0 erfolgt automatisch. Alles andere macht man mit common.alias.read:

          read = "val >= 100 ? true : false"; // Jalousie oben
          
          read = "!val"; // Server nicht erreichbar 
          

          @ple sagte in Test Adapter Devices 0.3.x:

          message: "Fenster im Schlafzimmer ist offen"

          Der Name des Alias-Datenpunktes kann die Message enthalten, denn es geht ja um Meldungen (bei true).

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

            Ich versuche derzeit mit Hilfe dieses Adapters Alias-Geräte für meine diversen Homematic Sensoren/Aktoren einzurichten. In der Geräte-Übersicht (Admin > Menü "Geräte") finde ich aber nicht alle Geräte, obwohl diese in ioBroker bekannt sind und mir auch unter Objekte angezeigt werden.

            Teilweise werden mir für identische Gerätemodelle auch unterschiedliche Geräte angezeigt. Habe z.B. zwei Homematic Thermostate: Bei einem werden mit 4 Geräte/Kanäle (Wohnzimmer, rot markiert) angezeigt, beim anderen nur ein Gerät/Kanal (Kinderzimmer, blau markiert):

            ad12a9e6-f37b-49b9-b0d5-3739c639ed0a-image.png

            Manche Geräte (z.B. Homematic Fenstergriffsensoren (RHS) werden überhaupt nicht angezeigt.

            Weiß jemand, woran das liegen kann?
            Neustart, HM-Geräte neu einlesen, etc. habe ich alles schon versucht.

            Grüße,
            maeb3

            1 Reply Last reply Reply Quote 0
            • ?
              A Former User last edited by

              Moin,

              ich hätte mal eine Frage zu dem Device-Adapter. Ich habe eben ein Gerät (Typ Farbtemperatur) angelegt und alle angegebenen Felder verlinkt. Wenn ich die Erstellung nun mit "OK" abschließe sind die Datenpunkte auch richtig im Alias.0-Baum eingetragen. Wenn ich aber wieder in den Geräte-Tab wechsele, dann gibt es plötzlich zwei Geräte mit dem selben Namen. EInmal mit dem Typ CT, in dem aber nur noch "TEMPERATURE" gesetzt ist und alles andere leer und ein zweites Gerät vom Typ INFO in dem 4 States vorhanden sind, die alle mit "*ACTUAL" betitelt sind. In allen vier States steht der Punkt den ich vorher "SATURATION" zugewiesen hatte.

              Ist das irgendwie ein Bug oder mache ich beim erstellen etwas falsch?

              Danke & Gruß,
              Porys

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

                @Porys
                klingt, als ob sich type-detector und devices adapter nicht ganz einig wären. Hm... kannst du es mal ohne color temperature versuchen?

                1 Reply Last reply Reply Quote 0
                • ?
                  A Former User last edited by

                  @Garfonso
                  Habe grade mal ein der Lampen als "Dimmer" angelegt. Nun wird kein zweites "INFO" Gerät erzeugt und er speichert 3 von 4 eingegebenen States. Nur "ON_SET" ist nach einem Reload wieder leer.

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

                    Hi,
                    was genau macht der Adapter ?
                    Ist das so ähnlich die der LinkedDevices Adapter oder wie die neuen Aliase?

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

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

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            733
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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