Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Servicemeldungen in Vis Sonderzeichen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Servicemeldungen in Vis Sonderzeichen

Scheduled Pinned Locked Moved Visualisierung
15 Posts 8 Posters 3.8k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    Semenchkare
    wrote on last edited by
    #1

    Hallo,

    ich weiß nicht genau, wo ich das Posten soll, es geht um eine Fehlerhafte Darstellung von Texten aus der CCU2.

    Dort habe ich mittels eines Skriptes "Servicemeldungen 1.1" siehe http://homematic-forum.de/forum/viewtop … 31&t=24618.

    Das klappt an sich ganz gut.

    Hierbei speichere ich u.a. die letzte Servicemeldung in einer Variablen, deren Inhalt auf der CCU gut aussieht:

    NEUE SERVICEMELDUNG Tuer_Haustuer : Sabotage. seit: 16.10.16 11:46 Uhr

    Per HM-Rega kommt dann die Variable auf den ioBroker. Aber mit einem kleinen Unterschied:

    NEUE SERVICEMELDUNG%0ATuer_Haustuer : Sabotage. seit: 16.10.16 11:46 Uhr

    (bei anderen Meldungen war auch äöü etc betroffen).

    So wird das (leider) dann auch in VIS dargestellt…

    Nun meine Fragen: wie kann ich das ändern? Mittels Javascript? da habe ich alle 19 Seiten durchgesucht, aber nichts passendes gefunden...

    Im Vis habe ich auch noch keine Möglichkeiten zum Ersetzen von solchen Schnipseln gefunden.

    Hier das %0A soll wohl eine Zeilenschaltung darstellen. Wie kann ich das löschen oder ersetzen???

    Wenn über Script, dann müsste der Datenpunkt wohl aufgerufen,die Änderungen (vermutlich per regex) in eine eigene Variable übernommen werden, damit ich ihn in VIS darstellen kann. Hat da jemand ein einfaches Beispiel?

    Vielen Dank vorab?

    Viele Grüße

    Semenchkare

    raspberry 5 8GB mit iobroker,
    raspberry 5 8GB mit Raspberrymatic

    1 Reply Last reply
    0
    • G Offline
      G Offline
      gst666
      wrote on last edited by
      #2

      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
      0
      • S Offline
        S Offline
        Semenchkare
        wrote on last edited by
        #3

        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!

        Viele Grüße

        Semenchkare

        raspberry 5 8GB mit iobroker,
        raspberry 5 8GB mit Raspberrymatic

        1 Reply Last reply
        0
        • M Offline
          M Offline
          Marc.Matic
          wrote on last edited by
          #4

          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;
          }
          

          HomeMatic CCU2 / ioBroker auf Raspberry Pi 3 / VIS primär auf iPad1

          1 Reply Last reply
          0
          • S Offline
            S Offline
            Semenchkare
            wrote on last edited by
            #5

            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);
            

            Viele Grüße

            Semenchkare

            raspberry 5 8GB mit iobroker,
            raspberry 5 8GB mit Raspberrymatic

            1 Reply Last reply
            0
            • M Offline
              M Offline
              Marc.Matic
              wrote on last edited by
              #6

              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.

              HomeMatic CCU2 / ioBroker auf Raspberry Pi 3 / VIS primär auf iPad1

              1 Reply Last reply
              0
              • WildshunterW Offline
                WildshunterW Offline
                Wildshunter
                wrote on last edited by
                #7

                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
                0
                • oldi-2000O Offline
                  oldi-2000O Offline
                  oldi-2000
                  wrote on last edited by
                  #8

                  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
                  0
                  • oldi-2000O Offline
                    oldi-2000O Offline
                    oldi-2000
                    wrote on last edited by
                    #9

                    Ps:

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

                    Gesendet von meinem LG-H815 mit Tapatalk

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      Stmiko
                      wrote on last edited by
                      #10

                      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

                      iobroker auf Intel NUC mit Proxmox LXC und Raspi3+

                      1 Reply Last reply
                      0
                      • oldi-2000O Offline
                        oldi-2000O Offline
                        oldi-2000
                        wrote on last edited by
                        #11

                        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
                        0
                        • S Offline
                          S Offline
                          Stmiko
                          wrote on last edited by
                          #12

                          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>

                          iobroker auf Intel NUC mit Proxmox LXC und Raspi3+

                          1 Reply Last reply
                          0
                          • D Offline
                            D Offline
                            dtp
                            wrote on last edited by
                            #13

                            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

                            ioBroker im Docker-Container auf Synology DiskStation DS718+, HomeMatic IP über CCU3, IKEA Dirigera inkl. Matter, Apple Homekit, Amazon Alexa.

                            1 Reply Last reply
                            0
                            • oldi-2000O Offline
                              oldi-2000O Offline
                              oldi-2000
                              wrote on last edited by
                              #14

                              Das wars!! Funktioniert!! Super!!

                              Vielen Dank

                              Daniel

                              Gesendet von meinem LG-H815 mit Tapatalk

                              1 Reply Last reply
                              0
                              • J Offline
                                J Offline
                                jensus11
                                wrote on last edited by
                                #15

                                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
                                0
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                638

                                Online

                                32.4k

                                Users

                                81.4k

                                Topics

                                1.3m

                                Posts
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                ioBroker Community 2014-2025
                                logo
                                • Login

                                • Don't have an account? Register

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Recent
                                • Tags
                                • Unread 0
                                • Categories
                                • Unreplied
                                • Popular
                                • GitHub
                                • Docu
                                • Hilfe