Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Tr-064 zeichenkette zerlegen

    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

    Tr-064 zeichenkette zerlegen

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

      Hallo.

      Ich bin noch Anfänger und kann nichts finden was mir ein Anrufer Bild ausgibt.

      im tr-064.0.callmonitor.inbound.json wird mir eine zeichenkette angezeigt im Format {"caller":"01777987326","callee":"65908000","_type":"inbound","callerName":"","imageurlcaller":""}

      jetzt möchte ich den nur einen Eintrag ,den wert aus imageurlcaller in eine neue Variable schreiben

      mein Code sieht so aus

      ! var obj = "tr-064.0.callmonitor.inbound.json"/json/;
      ! //var obj = {"caller":"01777987326","callee":"65908000","_type":"inbound","imageurlcaller":"Http usw."};
      ! var pic = obj.imageurlcaller;
      ! setState("javascript.0.Anruferbild",JSON.stringify(pic));
      ! log("Bild:" + pic);

      Doch es geht nicht, wenn ich die 2 Zeile aktiviere trägt er mir das Ergebnis ein, aber nicht bei Zeile 1

      im log steht nur javascript.0 script.js.Name.beleuchtung: Nummer :undefined

      wo liegt der Fehler?

      vielleicht kann mir jemand weiter helfen

      vielen Dank Manne

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

        Zuerst mal musst du den Wert aus dem tr-064-Adapter anders auslesen:

        var obj = getState("tr-064.0.callmonitor.inbound.json"/*json*/).val;
        

        Dann sehen wir weiter…

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

          vielen Dank für die Hilfe,

          ich habe es jetzt hin bekommen das er mir callee, caller oder callerName ausgibt aber in Anführungszeichen

          bei imageurlcaller trägt er nur "null" ein obwohl der Bild Pfad da ist

          ! var pic = String(getState("tr-064.0.callmonitor.inbound.imageurlcaller").val, 0, false);
          ! var pic = setState("javascript.0.Anruferbild",JSON.stringify(pic));
          ! log(" Bild : " + pic);
          und im log steht Bild : undefined obwohl er einen wert in Anrufferbild schreibt

          1 Reply Last reply Reply Quote 0
          • Lenny.CB
            Lenny.CB Most Active last edited by

            schau mal, so vielleicht?

            var obj = JSON.parse(getState('tr-064.0.callmonitor.inbound.json').val);
            
            log('caller: ' + obj.caller);
            // setState("javascript.0.Anrufer",obj.caller);
            log('callee: ' + obj.callee);
            // setState("javascript.0.Angerufender",obj.callee);
            log('_type: ' + obj._type);
            // setState("javascript.0.Type",obj._type);
            log('calleeName: ' + obj.calleeName);
            // setState("javascript.0.AngerufendeName",obj.calleeName);
            

            "imageurlcaller":"Http usw ist bei mir nicht vorhanden, sollte aber prinzipiell ähnlich sein…

            log('pic: ' + obj.imageurlcaller);
            
            1 Reply Last reply Reply Quote 0
            • M
              mrbelvedere58 last edited by

              Jo,

              Danke das hat mich weiter gebracht werde jetzt noch einen Trigger einbauen und eine if schleife wenn kein Bild vorhanden ist

              vielen Dank

              Manne

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

                Hier mal mein fertiges Script

                welches mir das Bild des gerade anrufenden Anrufers zeig, sollte kein Bild vorhanden sein wir es durch eine Dumy Bild ersetzt.

                das gleiche ist beim Anrufer-Namen, ist keiner vorhanden wird die Nummer angezeigt.

                eine pause von 1 secunde verhindert das alte Daten eingelesen werden.

                ! on({id: 'tr-064.0.callmonitor.ringing', change: "ne"}, function (obj1) {
                ! var value = obj1.state.val;
                ! var oldValue = obj1.oldState.val;
                ! timeout = setTimeout(function () {
                ! var obj = JSON.parse(getState('tr-064.0.callmonitor.inbound.json').val);
                ! setState("javascript.0.scriptEnabled.Telefon.Anrufernummer",obj.caller);
                ! var nem = obj.callerName;
                ! if (nem === ""){
                ! var nem1 = obj.caller;
                ! setState("javascript.0.scriptEnabled.Telefon.Anrufername",nem1);
                ! } else {
                ! setState("javascript.0.scriptEnabled.Telefon.Anrufername",nem);
                ! }
                ! var pic = obj.imageurlcaller;
                ! if (pic === undefined){
                ! var pic1 = "http://localhost:8082/vis.0/main/img/anrufer/call.png";
                ! setState("javascript.0.scriptEnabled.Telefon.Anruferbild",pic1);
                ! } else {
                ! setState("javascript.0.scriptEnabled.Telefon.Anruferbild",pic);
                ! }
                ! }, 1000);
                ! });
                geht bestimmt auch besser aber als Anfänger kann ich es gut benutzen

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

                Support us

                ioBroker
                Community Adapters
                Donate

                968
                Online

                31.7k
                Users

                79.9k
                Topics

                1.3m
                Posts

                3
                6
                517
                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