Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Unbestätigten Wert schreiben lassen

    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

    Unbestätigten Wert schreiben lassen

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

      @fir3drag0n sagte: scheint dies aber noch nicht zu funktionieren und er beginnt immer bei "0":

      Wie sieht das Skript jetzt aus?
      Im Tab "Protokolle" finden sich zur Warnung um 11:01:07 sicherlich weitere Informationen.

      Du hast die Frage nicht beantwortet:
      @paul53 sagte in Unbestätigten Wert schreiben lassen:

      Weshalb muss der Wert bestätigt werden?

      F 2 Replies Last reply Reply Quote 0
      • F
        fir3drag0n @paul53 last edited by fir3drag0n

        @paul53 also offensichtlich schient der DP ein string zu sein:

        cf25c843-01ce-4864-88c1-43d92a2c6407-image.png

        javascript.0
        2022-08-24 11:04:00.327	info	State value to set for "0_userdata.0.Sodastream.Sodastream-Counter" has to be type "number" but received type "string"
        
        javascript.0
        2022-08-24 11:04:00.283	warn	at processImmediate (node:internal/timers:466:21)
        
        javascript.0
        2022-08-24 11:04:00.283	warn	at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5909:56)
        
        javascript.0
        2022-08-24 11:04:00.283	warn	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:596:29)
        
        javascript.0
        2022-08-24 11:04:00.282	warn	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1212:38)
        
        javascript.0
        2022-08-24 11:04:00.282	warn	at Object.<anonymous> (script.js.common.Sodastream-Counter:7:3)
        
        javascript.0
        2022-08-24 11:04:00.281	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1687:20)
        
        javascript.0
        2022-08-24 11:04:00.279	warn	You are assigning a string to the state "0_userdata.0.Sodastream.Sodastream-Counter" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.
        
        {
          "common": {
            "name": "Sodastream-Counter",
            "desc": "Manuell erzeugt",
            "role": "state",
            "type": "number",
            "read": true,
            "write": true,
            "def": 0
          },
          "type": "state",
          "native": {},
          "from": "system.adapter.admin.0",
          "user": "system.user.admin",
          "ts": 1661321877340,
          "_id": "0_userdata.0.Sodastream.Sodastream-Counter",
          "acl": {
            "object": 1636,
            "state": 1636,
            "ownerGroup": "system.group.administrator"
          }
        }
        
        paul53 1 Reply Last reply Reply Quote 0
        • F
          fir3drag0n @paul53 last edited by

          @paul53 ich dachte, der Wert muss bestätigt werden, wenn man ihn manuell in Jarvis ändert?

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

            @fir3drag0n sagte: offensichtlich schient der DP ein string zu sein:

            Nein, es wird ein String geschrieben (Javascript-Ansicht, Zeile 7). Was zu sehen ist, ist nicht das vollständige Skript:

            script.js.common.Sodastream-Counter: registered 4 subscriptions
            

            Wo sind die weiteren 2 Trigger?

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

              @fir3drag0n sagte: ich dachte, der Wert muss bestätigt werden, wenn man ihn manuell in Jarvis ändert?

              Muss er normalerweise nicht.

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

                @paul53 das ist das Skript:

                var sodastream_counter;
                
                
                on({id: [].concat(['0_userdata.0.Sodastream.Sodastream-Counter']), change: "any", ack: false}, async function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  setState("0_userdata.0.Sodastream.Sodastream-Counter"/*Sodastream-Counter*/, (obj.state ? obj.state.val : ""), true);
                });
                on({id: [].concat(['zigbee.0.00158d0007c57b0b.opened']), change: "ne"}, async function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  if (getState("zigbee.0.00158d0007c57b0b.opened").val == false) {
                    sodastream_counter = getState("0_userdata.0.Sodastream.Sodastream-Counter").val;
                    sodastream_counter = (typeof sodastream_counter == 'number' ? sodastream_counter : 0) + 1;
                    setState("0_userdata.0.Sodastream.Sodastream-Counter"/*Sodastream-Counter*/, sodastream_counter, true);
                  }
                });
                
                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @fir3drag0n last edited by paul53

                  @fir3drag0n sagte: das ist das Skript:

                  Dann wundert mich der Log mit "4 subcriptions".
                  Lass den oberen Trigger weg und konvertiere den Wert beim Einlesen nach Zahl.

                  Bild_2022-08-24_112448387.png

                  Anscheinend schreibt Jarvis einen String in den Datenpunkt. Das erklärt auch, warum mit 0 begonnen wird. Ändere mal die Rolle von "state" in "level".
                  Trigger "ist kleiner als letztes" reagiert nur auf Änderung true --> false des Kontaktes.

                  F 2 Replies Last reply Reply Quote 0
                  • F
                    fir3drag0n @paul53 last edited by

                    @paul53 ja, das war es - danke!

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

                      @paul53 said in Unbestätigten Wert schreiben lassen:

                      Anscheinend schreibt Jarvis einen String in den Datenpunkt. Das erklärt auch, warum mit 0 begonnen wird. Ändere mal die Rolle von "state" in "value".

                      was bewirkt die Änderung der Rolle?

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

                        @fir3drag0n sagte: was bewirkt die Änderung der Rolle?

                        Jarvis schreibt dann vielleicht eine Zahl in den Datenpunkt? Ich habe gelesen, dass Visualisierungen die Rolle auswerten.
                        Da es ein r/w Datenpunkt ist, nimm die Rolle "level".

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        842
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        5
                        20
                        671
                        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