Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. English
    3. Scripting / Logic
    4. JavaScript
    5. Zeitstempel entfernen

    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

    Zeitstempel entfernen

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

      @mp24 sagte: javascript.0 (16643) at script.js.common.von_IOBroker_nach_Homematic.Zisterne_Hoehenstand_ohne_Zeit:10:1

      Mehr nicht? Schau mal in den Tab "Protokolle", ob es dort nicht mehr Informationen gibt.

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

        @paul53
        Die Fehlermeldungen:
        You are assigning a number to the state "hm-rega.0.1740" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become an error in future versions

        at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1437:20)

        Der Wert der vom Broker übermittelt wird ist vom Typ string. In der Homematic Zahl.
        Muss erst noch gewandelt werden ?

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

          @mp24 sagte: You are assigning a number to the state "hm-rega.0.1740"

          Ändere den Typ des Datenpunktes in "Zahl".

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

            @paul53
            Der Datenpunkt in der Homematic ist Zahl. Aber von MQTT kommt String an

            Homoran paul53 2 Replies Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @mp24 last edited by Homoran

              @mp24 sagte in Zeitstempel entfernen:

              Der Datenpunkt in der Homematic ist Zahl. Aber von MQTT kommt String an

              das log sagt aber was anderes 😞
              und das Skript von @paul53 schreibt eine Zahl

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

                @mp24 sagte: Der Datenpunkt in der Homematic ist Zahl.

                Das hat die Instanz "hm-rega.0" aber noch nicht mitbekommen.

                M 2 Replies Last reply Reply Quote 1
                • M
                  mp24 @paul53 last edited by

                  @paul53
                  Genau. Der Rega Adapter stand noch auf String. Rega Adapter neu gestartet - steht nuun auf Zahl. Aber neue Fehler:

                  at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1082:38)
                  
                  at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5909:56)
                  1 Reply Last reply Reply Quote 0
                  • M
                    mp24 @paul53 last edited by

                    @paul53
                    Noch mehr Fehlermeldungen:
                    javascript.0
                    2022-03-18 18:32:05.739 info State value to set for "hm-rega.0.1740" has to be type "number" but received type "string"
                    javascript.0
                    2022-03-18 18:32:05.713 warn at processImmediate (internal/timers.js:464:21)
                    javascript.0
                    2022-03-18 18:32:05.713 warn at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5909:56)
                    javascript.0
                    2022-03-18 18:32:05.713 warn at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:530:29)
                    javascript.0
                    2022-03-18 18:32:05.713 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1082:38)
                    javascript.0
                    2022-03-18 18:32:05.713 warn at Object.<anonymous> (script.js.common.von_IOBroker_nach_Homematic.Zisterne_Hoehenstand_ohne_Zeit:17:4)
                    javascript.0
                    2022-03-18 18:32:05.712 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1437:20)
                    javascript.0
                    2022-03-18 18:32:05.393 warn You are assigning a string to the state "hm-rega.0.1740" 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.

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

                      @mp24 sagte: warn You are assigning a string to the state "hm-rega.0.1740" which expects a number.

                      parseFloat() macht eine Zahl aus dem String-Teil hinter dem Leerzeichen. Hast Du was am Skript geändert?

                      const idAdapter = 'mqtt.0.Zisterne.Hoehenstand';
                      const idSysvar = 'hm-rega.0.1740';
                       
                      // Skriptstart
                      setState(idSysvar, parseFloat(getState(idAdapter).val.split(' ')[1]));
                       
                      // Aktualisierung bei Wertänderung
                      on(idAdapter, function(dp) {
                          setState(idSysvar, parseFloat(dp.state.val.split(' ')[1])); 
                      });
                      
                      M 2 Replies Last reply Reply Quote 0
                      • M
                        mp24 @paul53 last edited by

                        @paul53
                        So sieht das Script aus:

                        var idAdapter = 'mqtt.0.Zisterne.Hoehenstand'/*Quelle*/
                        var idSysvar = 'hm-rega.0.1740'/*Ziel*/
                        
                        
                        
                        
                        // Skriptstart
                        
                        // setState(idSysvar, getState(idAdapter).val);
                        setState(idSysvar, parseFloat(getState(idAdapter).val.split(' ')[1])); 
                         
                        
                        // Aktualisierung bei Wertänderung
                        
                        on(idAdapter, function(dp) {
                        
                           setState(idSysvar, dp.state.val);
                            
                        
                        });
                        
                        paul53 1 Reply Last reply Reply Quote 0
                        • M
                          mp24 @paul53 last edited by

                          @paul53
                          Und so die hmrega 1740:

                          
                            "_id": "hm-rega.0.1740",
                            "type": "state",
                            "common": {
                              "name": "SV_Zisterne-Hoehenstand",
                              "type": "number",
                              "read": true,
                              "write": true,
                              "role": "state",
                              "min": 0,
                              "max": 100,
                              "unit": "%",
                          
                          1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @mp24 last edited by paul53

                            @mp24 sagte: So sieht das Script aus:

                            Zeile 17:

                                setState(idSysvar, parseFloat(dp.state.val.split(' ')[1])); 
                            

                            Hattest Du doch schon.

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

                              @paul53 said in Zeitstempel entfernen:

                              setState(idSysvar, parseFloat(dp.state.val.split(' ')[1])); 
                              

                              Aus dem Hinweis gestern Zeile 9:
                              habe ich geschlossen. das nur der Befehl in Zeike 9 gehört.
                              Das es zweimal gesetzt werden muss habe ich falsch verstanden.

                              Ich senke demütig mein Haupt und bitte um Entschuldigung
                              mp24

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              441
                              Online

                              31.9k
                              Users

                              80.1k
                              Topics

                              1.3m
                              Posts

                              3
                              20
                              1237
                              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