Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Escaping von CCU -> ioBroker?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Escaping von CCU -> ioBroker?

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

      Hallo,

      Ich steh aufm Schlauch … ich baue mir in der CCU einen String durch ein Programm mit meinen aktuellen Alarmen.

      Diesen String binde ich dann in ioBroker.vis mit dem Basic String (unescaped) ein.

      Wie kann ich bei dieser Konstellation Zeilenumbrüche / Newlines innerhalb des Strings übermitteln?

      • Wenn ich in dem CCU Programm "\n" verwende, erscheint in der iobroker.vis "%0A"

      • Wenn ich in dem CCU Programm "
        " erwende tut nichts mehr (das ist ja ein bekanntes Problem der CCU mit Sonderzeichen ... vielfach diskutiert)

      ...aber ... wie dann?

      Gruss

      1 Reply Last reply Reply Quote 0
      • D
        dwm last edited by

        Probier mal auf den String der von der CCU kommt (der mit %0A) die decodeURI Funktion (https://www.w3schools.com/jsref/jsref_decodeuri.asp)…

        1 Reply Last reply Reply Quote 0
        • A
          adarof last edited by

          Edit weil Lösung gefunden & Hilfestellung für den nächsten:

          Man kann in der CCU einfach " " statt "\n" / "
          " verwenden - das wird von der CCU ordentlich verarbeitet und dann durch ioBroker auch ordentlich in den Ziel Browser geleitet.

          Trotzdem würde mich ein Link zum nicht-dumm-sterben interessieren:

          Wie kann ich da eine JS-Funktion "zwischenhängen"? Oder muss dafür ein Skript das machen und vorbereiten?

          Das ist vermutlich der "Skripte"-Tab … aber ... wo kann ich dazu was nachlesen? hab ich noch nie was mit gemacht 😞

          Im endeffekt muss ich vermutlich sowas wie "resultContent = decodeURI(hm-rega.0.26947)" da reinpacken -- aber das ist an min 2 Stellen geraten 😉

          Die einzige Doku die ich für vis & skripte finde ist "dünn":

          http://www.iobroker.net/docu/?page_id=2 ... de#Skripte

          ... vielleicht fehlen auch nur 2 erklärende Sätze?

          Gruss

          1 Reply Last reply Reply Quote 0
          • P
            pix last edited by

            Hallo, nur schnell von unterwegs: das Skript muss im JavaScript Adapter angelegt werden. Da mit````
            on(idHomematicVariable, function(obj) {
            log(decodeURI(obj));

            });

            bei jeder Änderung die Dekodierung anstoßen.
            
            Für die Übernahme in Vis ein Objekt erzeugen und mit setState befüllen.
            
            Puh, anstrengend so ein POST mit tapatalk in ios.
            
            Pix
            1 Reply Last reply Reply Quote 0
            • A
              adarof last edited by

              Edit: Endgültige Lösung eingefügt:

              Hallo

              Danke erstmal - decodeURI funktioniert nicht, da Mailformed URI als Exception ausgegeben wird.

              Ich habe nun aber http://ww.iobroker.com/forum/viewtopic. … 949#p37086 gefunden und entsprechend adaptiert.

              on({id: 'hm-rega.0.26947'}, function (obj) {
                  var x = getState("hm-rega.0.26947").val;
                  var y=replaceAll(x,'%A0','
              ');
                  setState("localAlarmText",y);
              });
              
              function replaceAll(string, token, newtoken) {
                  if(token!=newtoken)
                  while(string.indexOf(token) > -1) {
                      string = string.replace(token, newtoken);
                  }
                  return string;
              }
              
              

              Gruss

              PS: Der -Workaround ist leider keine Lösung, wie ich oben geshrieben hatte - das war gestern ein Trugschluss

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

              Support us

              ioBroker
              Community Adapters
              Donate
              FAQ Cloud / IOT
              HowTo: Node.js-Update
              HowTo: Backup/Restore
              Downloads
              BLOG

              791
              Online

              32.0k
              Users

              80.5k
              Topics

              1.3m
              Posts

              3
              5
              709
              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