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.
    • G
      gst666 last edited by

      Nachfolgende Routine dürfte es richten:

      Die Werte werden in einem neuen Datenpunkt gespeichert: javascript.0.servicemeldungen

      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;
      }
      
      
      1 Reply Last reply Reply Quote 0
      • 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

                                496
                                Online

                                32.0k
                                Users

                                80.5k
                                Topics

                                1.3m
                                Posts

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