Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Servicemeldungen in Vis Sonderzeichen

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    Servicemeldungen in Vis Sonderzeichen

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

      Hallo,

      vielen Dank.

      habe folgendes eingegeben:

      
      createState('servicemeldungen', '');
      on({id: 'hier_gehört_der_Datenpunkt_hin'}, function (obj) {
         var s=getState('hier_gehört_der_Datenpunkt_hin').val;
         s=replaceAll(s,'%0A',' ');
         //hier könnten weitere Zeilen mir replaceAll z.B. für Umlaute stehen
         setState('javascript.0.servicemeldungen',s);
      });
      
      function replaceAll(string, token, newtoken) {
          if(token!=newtoken)
          while(string.indexOf(token) > -1) {
              string = string.replace(token, newtoken);
          }
          return string;
      }
      

      Danach habe ich eine Servicemeldung ausgelöst.

      Unter "Objekte" finde ich nun den neuen Datenpunkt unter javascript.0! Dankeschön!

      1 Reply Last reply Reply Quote 0
      • M
        Marc.Matic last edited by

        Hallo! Ich habe das Script auch mal aktiviert (über den Skript Editor des Javascript Adapters). Der Datenpunkt wird auch angelegt aber es wird nichts reingeschrieben. Ggf. hab ich die ID falsch eingebunden? Könnt ihr helfen?

        createState('servicemeldungen_formatiert', '');
        on({id: 'hm-rega.0.58929'}, function (obj) {
           var s=getState('hm-rega.0.58929').val;
           s=replaceAll(s,'%0A',' ');
           //hier könnten weitere Zeilen mit replaceAll z.B. für Umlaute stehen
           setState('javascript.0.servicemeldungen',s);
        });
        
        function replaceAll(string, token, newtoken) {
            if(token!=newtoken)
            while(string.indexOf(token) > -1) {
                string = string.replace(token, newtoken);
            }
            return string;
        }
        
        1 Reply Last reply Reply Quote 0
        • S
          Semenchkare last edited by

          Ist der JS-Adapter aktiv und das skript selbst auch?

          ausserdem solltest Du den Datenpunkt schon so nennen, dass er javascript.0.servicemeldungen_formatiert lautet

             setState('javascript.0.servicemeldungen_formatiert',s);
          
          1 Reply Last reply Reply Quote 0
          • M
            Marc.Matic last edited by

            Ups, das hatte ich übersehen.

            Hab es jetzt so:

            createState('servicemeldungen_formatiert', '');
            on({id: 'hm-rega.0.58929'}, function (obj) {
               var s=getState('hm-rega.0.58929').val;
               s=replaceAll(s,'%0A',' ');
               //hier könnten weitere Zeilen mit replaceAll z.B. für Umlaute stehen
               setState('javascript.0.servicemeldungen_formatiert',s);
            });
            
            function replaceAll(string, token, newtoken) {
                if(token!=newtoken)
                while(string.indexOf(token) > -1) {
                    string = string.replace(token, newtoken);
                }
                return string;
            }
            

            Adapter ist aktiv, das Script selber hab ich auch auf "Play" gesetzt (es wird jetzt das Pause Symbol angezeigt). Reicht das so und wird das Script jetzt immer getriggert wenn sich das Objekt 58929 ändert? Oder muss ich noch was anderes machen? Wenn es eigentlich so laufen sollte dann muss ich sagen: Klappt nicht. "servicemeldungen_formatiert" wird leider nicht gefüllt.

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

              Hallo!

              > Adapter ist aktiv, das Script selber hab ich auch auf "Play" gesetzt (es wird jetzt das Pause Symbol angezeigt). Reicht das so und wird das Script jetzt immer getriggert wenn sich das Objekt 58929 ändert? Oder muss ich noch was anderes machen? Wenn es eigentlich so laufen sollte dann muss ich sagen: Klappt nicht. "servicemeldungen_formatiert" wird leider nicht gefüllt.
              gibt es hierfür schon eine Lösung? Habe das gleiche Problem…. Danke!

              1 Reply Last reply Reply Quote 0
              • oldi-2000
                oldi-2000 last edited by

                Hallo

                bei mir funktioniert das Skript soweit prima allerdings wäre es nich viel besser wenn es das '%0a' in einen Zeilenwechsel umsetzten würde wie es ja auch in dem Skript gedacht war. Da jetzt zwar das '%0A' gegen ein ' ' ersetzt wird dadurch aber in der Darstellung in Vis alles hintereinander durchgeschrieben wird. Gibt es da ne Möglichkeit einen Zeilenwechsel draus zu machen und mit was stelle ich die Liste nachher am besten mit Vis dar?

                Mfg

                Daniel~~![](</s><URL url=)<link_text text="http://uploads.tapatalk-cdn.com/2016121 ... 129778.jpg">http://uploads.tapatalk-cdn.com/20161211/121dd586293f89e9eee3d8a125129778.jpg</link_text>" />

                Gesendet von meinem LG-H815 mit Tapatalk~~

                1 Reply Last reply Reply Quote 0
                • oldi-2000
                  oldi-2000 last edited by

                  Ps:

                  sorry für das schlechte Bild ging so am schnellsten zum veranschaulichen

                  Gesendet von meinem LG-H815 mit Tapatalk

                  1 Reply Last reply Reply Quote 0
                  • S
                    Stmiko last edited by

                    Hallo,

                    Hatte das selbe Problem mit den Sonderzeichen. Lösung ist relative einfach(via Jajascript). Siehe hier:

                    http://forum.iobroker.net/viewtopic.php … 679#p34210

                    Viele GRüße

                    1 Reply Last reply Reply Quote 0
                    • oldi-2000
                      oldi-2000 last edited by

                      Ja dieses Skript "übersetzt" ja auch auf Sonderzeichen. Aber wie mache ich eine Saubere Liste. Heißt aus %0A ein return, einen Zeilenwechsel. Aus %0A ein Leerzeichen macht ja auch dieses skript hier.

                      Grüsse

                      Daniel

                      Gesendet von meinem LG-H815 mit Tapatalk

                      1 Reply Last reply Reply Quote 0
                      • S
                        Stmiko last edited by

                        Ich habe mir das Alchy-script auf meine Bedürfnisse angepasst.

                        Ist schon einen Moment her, aber ich meine ich habe die <cr>durch ⁄n ersetzt….

                        Kann das leider im Moment nicht checken, da ich unterwegs bis.

                        Bei Bedarf kann ich meine version hier hochladen, dann bitte melden..

                        Lg</cr>

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

                          Hi,

                          ich schreibe die Servicemeldungen mit einem modifizierten Allinclusive-Skript von Alchy in eine Systemvariable, die ich mir dann als Push-Nachricht per Telegram zusenden lasse. http://homematic-forum.de/forum/viewtopic.php?f=31&t=26282#p229335 eine entsprechende Anleitung.

                          Den Inhalt der Systemvariablen frage ich dann mit nachfolgendem Javascript auf Zeilenumbrüche ab und übersetze diese in entsprechendem HTML-Code, um das Resultat in den Datenpunkt "vis.Servicemeldungen" zu schreiben:

                          createState('vis.Servicemeldungen', 0, {
                            type: 'string',
                            read: true,
                            write: true,
                            desc: 'vis Servicemeldungen',
                            def: ''
                          });
                          
                          on("hm-rega.0.55670", function(obj){
                            if(getState("hm-rega.0.maintenance").val > 0){
                              var message = obj.state.val;
                              message = message.replace(/%0A/g, '
                          ');
                              setState("vis.Servicemeldungen", message);
                            }
                          });
                          

                          Mit Hilfe des Widgets "basic - string (unescaped)" stelle ich den Datenpunkt dann in vis dar, sofern "hm-rega.0.maintenance" > 0 ist.

                          Gruß,

                          Thorsten

                          1 Reply Last reply Reply Quote 0
                          • oldi-2000
                            oldi-2000 last edited by

                            Das wars!! Funktioniert!! Super!!

                            Vielen Dank

                            Daniel

                            Gesendet von meinem LG-H815 mit Tapatalk

                            1 Reply Last reply Reply Quote 0
                            • J
                              jensus11 last edited by

                              Hallo, ich habe das Script jetzt bei mir eingefügt, die ID von CCU SV Push Text dem Script angepasst.

                              Die Objekte werden angelegt und angezeigt.

                              Dann habe ich einen FTK Sabotage erzeugt und das Servicemeldung wir auch angezeigt. Dann den FTK wieder eingesetzt, die Meldung bleibt bestehen.

                              Nun einen anderen FTK sabotiert, vom dem die Meldung aber nicht übernommen wird. Bleibt immer die alte drin.

                              Was kann das sein. Neustart vom JS.adapter hilft auch nicht.

                              Gruss

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              465
                              Online

                              32.0k
                              Users

                              80.5k
                              Topics

                              1.3m
                              Posts

                              8
                              15
                              3612
                              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