Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [Script] MessageHandler: Nachrichten protokollieren +VIS

NEWS

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

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

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

[Script] MessageHandler: Nachrichten protokollieren +VIS

Geplant Angeheftet Gesperrt Verschoben JavaScript
336 Beiträge 25 Kommentatoren 63.9k Aufrufe 40 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Tirador

    @uwe12489
    Bezüglich der Anzeige von Bildern in Nachrichten.

    Ich habe jetzt mal etwas experimentiert. Mit etwas Trickserei bekommt man die ganze Nummer ohne Skripterweiterung hin.
    Der Clou ist, dass man in der Nachricht direkt HTML anwenden kann.

    Beim Sonos Adapter gibt es auch einen Datenpunkt mit Bild-URL.
    Damit kann man in der Nachricht direkt das Bild als HTML im Nachrichtentext kodieren:
    Das Resultat bei mir:

    2020-04-19 19_42_15-vis.png

    Mini-Beispiel:

           msgText_1: {text: '<img src=\''},
            msgText_2: {dp: 'sonos.0.root.192_168_178_59.current_cover'},
            msgText_3: {text: '\' height=\'80%\' width=\'90%\'></img>'},
    
    

    Vollständiges Beispiel:

    Ich habe im MessageHandler Skript folgende MSGID / Nachricht ergänzt:

            // Sonos
            SONOS_INFO: {msgEvent: [''], logType: 'LAST',  severity: 'INFO',  msgHeader: "Sonos Küche", msgText: "", mdIcon: 'audiotrack', quit: false, mdIconColor: '', fontColor: '', backgroundColor: ''},
    
    

    Im MessageStateCreator habe ich folgende Nachricht eingebaut:

        // SONOS_INFO
        {
            msgID: 'SONOS_INFO', 
            triggerDP: ['sonos.0.root.192_168_178_59.current_artist', 'sonos.0.root.192_168_178_59.state'],
            msgText_1: {text: '<img src=\''},
            msgText_2: {dp: 'sonos.0.root.192_168_178_59.current_cover'},
            msgText_3: {text: '\' height=\'80%\' width=\'90%\'></img>'},
            msgText_5: {text: '</br>Künstler: '},
            msgText_6: {dp: 'sonos.0.root.192_168_178_59.current_artist'},
            msgText_7: {text: '</br>Album: '},
            msgText_8: {dp: 'sonos.0.root.192_168_178_59.current_album'}
        },
    

    Hinweis: Die Nachricht für Sonos ist aber stark überarbeitungswürdig. Sie müsste eigentlich ja nur angezeigt werden, wenn auch etwas abgespielt wird z.B... irgendwann steht das bei mir auch noch auf dem Zettel, aber momentan gibt es andere Themen.

    Nach ein Hinweis: Wenn man mit HTML in den Nachrichtentexten spielt beeinflusst dies nicht die Ausgabe in den Nachrichtenereignissen, d.h. in Email und Telegram wird HTML Code wieder entfernt (momentan).

    uwe12489U Offline
    uwe12489U Offline
    uwe12489
    schrieb am zuletzt editiert von
    #93

    @Tirador Super. Klappt prima

        // SONOS_WOZI_INFO
        {
            msgID: 'SONOS_WOZI_INFO', 
            triggerDP: ['sonos.0.root.192_168_178_45.current_artist', 'sonos.0.root.192_168_178_45.state_simple'],
            postMsgDP: {dp:'sonos.0.root.192_168_178_45.state_simple', comp: '==', val:true},
            removeMsgDP: {dp:'sonos.0.root.192_168_178_45.state_simple', comp: '==', val:false},
            msgText_1: {text: '<img src=\''},
            msgText_2: {dp: 'sonos.0.root.192_168_178_45.current_cover'},
            msgText_3: {text: '\' height=\'50%\' width=\'70%\'></img>'},
            msgText_5: {text: '</br>'},
            msgText_6: {dp: 'sonos.0.root.192_168_178_45.current_artist'},
            msgText_7: {text: '</br>'},
            msgText_8: {dp: 'sonos.0.root.192_168_178_45.current_title'}
        }, 
    
    uwe12489U 1 Antwort Letzte Antwort
    0
    • uwe12489U uwe12489

      @Tirador Super. Klappt prima

          // SONOS_WOZI_INFO
          {
              msgID: 'SONOS_WOZI_INFO', 
              triggerDP: ['sonos.0.root.192_168_178_45.current_artist', 'sonos.0.root.192_168_178_45.state_simple'],
              postMsgDP: {dp:'sonos.0.root.192_168_178_45.state_simple', comp: '==', val:true},
              removeMsgDP: {dp:'sonos.0.root.192_168_178_45.state_simple', comp: '==', val:false},
              msgText_1: {text: '<img src=\''},
              msgText_2: {dp: 'sonos.0.root.192_168_178_45.current_cover'},
              msgText_3: {text: '\' height=\'50%\' width=\'70%\'></img>'},
              msgText_5: {text: '</br>'},
              msgText_6: {dp: 'sonos.0.root.192_168_178_45.current_artist'},
              msgText_7: {text: '</br>'},
              msgText_8: {dp: 'sonos.0.root.192_168_178_45.current_title'}
          }, 
      
      uwe12489U Offline
      uwe12489U Offline
      uwe12489
      schrieb am zuletzt editiert von uwe12489
      #94

      ... und für ECHO klappt das auch

          // ECHO_KUECHE_INFO
          {
              msgID: 'ECHO_KUECHE_INFO', 
              triggerDP: ['alexa2.0.Echo-Devices.G070RR11809202ED.Player.mainArtUrl', 'alexa2.0.Echo-Devices.G070RR11809202ED.Player.currentState'],
              postMsgDP: {dp:'alexa2.0.Echo-Devices.G070RR11809202ED.Player.currentState', comp: '==', val:true},
              removeMsgDP: {dp:'alexa2.0.Echo-Devices.G070RR11809202ED.Player.currentState', comp: '==', val:false},
              msgText_1: {text: '<img src=\''},
              msgText_2: {dp: 'alexa2.0.Echo-Devices.G070RR11809202ED.Player.mainArtUrl'},
              msgText_3: {text: '\' height=\'50%\' width=\'70%\'></img>'},
              msgText_5: {text: '</br>'},
              msgText_6: {dp: 'alexa2.0.Echo-Devices.G070RR11809202ED.Player.currentArtist'},
              msgText_7: {text: '</br>'},
              msgText_8: {dp: 'alexa2.0.Echo-Devices.G070RR11809202ED.Player.currentTitle'}
          }, 
      

      Bildschirmfoto 2020-04-19 um 21.05.33.png

      T uwe12489U 2 Antworten Letzte Antwort
      0
      • uwe12489U uwe12489

        ... und für ECHO klappt das auch

            // ECHO_KUECHE_INFO
            {
                msgID: 'ECHO_KUECHE_INFO', 
                triggerDP: ['alexa2.0.Echo-Devices.G070RR11809202ED.Player.mainArtUrl', 'alexa2.0.Echo-Devices.G070RR11809202ED.Player.currentState'],
                postMsgDP: {dp:'alexa2.0.Echo-Devices.G070RR11809202ED.Player.currentState', comp: '==', val:true},
                removeMsgDP: {dp:'alexa2.0.Echo-Devices.G070RR11809202ED.Player.currentState', comp: '==', val:false},
                msgText_1: {text: '<img src=\''},
                msgText_2: {dp: 'alexa2.0.Echo-Devices.G070RR11809202ED.Player.mainArtUrl'},
                msgText_3: {text: '\' height=\'50%\' width=\'70%\'></img>'},
                msgText_5: {text: '</br>'},
                msgText_6: {dp: 'alexa2.0.Echo-Devices.G070RR11809202ED.Player.currentArtist'},
                msgText_7: {text: '</br>'},
                msgText_8: {dp: 'alexa2.0.Echo-Devices.G070RR11809202ED.Player.currentTitle'}
            }, 
        

        Bildschirmfoto 2020-04-19 um 21.05.33.png

        T Offline
        T Offline
        Tirador
        schrieb am zuletzt editiert von
        #95

        @uwe12489 OK, prima. ich sehe du hast auch eine TV läuft Nachricht. Hast du das zufällig mit Logitech harmony eingebunden?

        uwe12489U 1 Antwort Letzte Antwort
        0
        • T Tirador

          @uwe12489 OK, prima. ich sehe du hast auch eine TV läuft Nachricht. Hast du das zufällig mit Logitech harmony eingebunden?

          uwe12489U Offline
          uwe12489U Offline
          uwe12489
          schrieb am zuletzt editiert von
          #96

          @Tirador Nein. Ich habe Broadlink und checke den Ping 😉

          1 Antwort Letzte Antwort
          0
          • uwe12489U uwe12489

            ... und für ECHO klappt das auch

                // ECHO_KUECHE_INFO
                {
                    msgID: 'ECHO_KUECHE_INFO', 
                    triggerDP: ['alexa2.0.Echo-Devices.G070RR11809202ED.Player.mainArtUrl', 'alexa2.0.Echo-Devices.G070RR11809202ED.Player.currentState'],
                    postMsgDP: {dp:'alexa2.0.Echo-Devices.G070RR11809202ED.Player.currentState', comp: '==', val:true},
                    removeMsgDP: {dp:'alexa2.0.Echo-Devices.G070RR11809202ED.Player.currentState', comp: '==', val:false},
                    msgText_1: {text: '<img src=\''},
                    msgText_2: {dp: 'alexa2.0.Echo-Devices.G070RR11809202ED.Player.mainArtUrl'},
                    msgText_3: {text: '\' height=\'50%\' width=\'70%\'></img>'},
                    msgText_5: {text: '</br>'},
                    msgText_6: {dp: 'alexa2.0.Echo-Devices.G070RR11809202ED.Player.currentArtist'},
                    msgText_7: {text: '</br>'},
                    msgText_8: {dp: 'alexa2.0.Echo-Devices.G070RR11809202ED.Player.currentTitle'}
                }, 
            

            Bildschirmfoto 2020-04-19 um 21.05.33.png

            uwe12489U Offline
            uwe12489U Offline
            uwe12489
            schrieb am zuletzt editiert von
            #97

            Wenn man das Coverbild per HTML clickable macht, kann man den Player (alexa2.0.Echo-Devices.G070RR11809202ED.Player.currentState) auch ausschalten ... Aber wie?

            T 1 Antwort Letzte Antwort
            0
            • uwe12489U uwe12489

              Wenn man das Coverbild per HTML clickable macht, kann man den Player (alexa2.0.Echo-Devices.G070RR11809202ED.Player.currentState) auch ausschalten ... Aber wie?

              T Offline
              T Offline
              Tirador
              schrieb am zuletzt editiert von
              #98

              @uwe12489 ich denke schalten wird nicht gehen.

              uwe12489U 1 Antwort Letzte Antwort
              0
              • T Tirador

                @uwe12489 ich denke schalten wird nicht gehen.

                uwe12489U Offline
                uwe12489U Offline
                uwe12489
                schrieb am zuletzt editiert von
                #99

                @Tirador Schade. War ne Idee... 😎

                T 1 Antwort Letzte Antwort
                0
                • uwe12489U uwe12489

                  @Tirador Schade. War ne Idee... 😎

                  T Offline
                  T Offline
                  Tirador
                  schrieb am zuletzt editiert von
                  #100

                  @uwe12489 ja, implementieren kann man alles. Die Frage ist, ob es zweckmäßig ist nun auch Bedienung und Steuerung zu integrieren. momentan sehe ich das nicht.

                  uwe12489U 1 Antwort Letzte Antwort
                  1
                  • T Tirador

                    @uwe12489 ja, implementieren kann man alles. Die Frage ist, ob es zweckmäßig ist nun auch Bedienung und Steuerung zu integrieren. momentan sehe ich das nicht.

                    uwe12489U Offline
                    uwe12489U Offline
                    uwe12489
                    schrieb am zuletzt editiert von
                    #101

                    @Tirador als Standard sicher schwierig. Aber basteln macht doch Spaß 😀

                    1 Antwort Letzte Antwort
                    0
                    • UhulaU Offline
                      UhulaU Offline
                      Uhula
                      schrieb am zuletzt editiert von
                      #102

                      Das Messaging System würde ich nicht um Bedienelemente erweitern, dass ist nicht der Sinn der Messages. Aber, es spricht nichts dagegen, beim click/tap auf eine Message (listitem) einen view(page)-Wechsel vorzunehmen, auf dem sich die entsprechenden Bedienelemente befinden.

                      TV-Message ---> TV-View
                      Kamera-Message ---> Kamera-View

                      @Tirador: Lässt sich über einen click-Handler realisieren, der dann ein Javascript ausführt: vis.changeView('viewname')

                      Uhula - Leise und Weise
                      Ex: ioBroker on Gigabyte NUC Proxmox

                      D uwe12489U T 3 Antworten Letzte Antwort
                      0
                      • UhulaU Uhula

                        Das Messaging System würde ich nicht um Bedienelemente erweitern, dass ist nicht der Sinn der Messages. Aber, es spricht nichts dagegen, beim click/tap auf eine Message (listitem) einen view(page)-Wechsel vorzunehmen, auf dem sich die entsprechenden Bedienelemente befinden.

                        TV-Message ---> TV-View
                        Kamera-Message ---> Kamera-View

                        @Tirador: Lässt sich über einen click-Handler realisieren, der dann ein Javascript ausführt: vis.changeView('viewname')

                        D Offline
                        D Offline
                        der-eine
                        schrieb am zuletzt editiert von
                        #103

                        @Uhula das ist eine gute Idee. 👍 Wäre toll wenn @Tirador das einbauen würde. So kann man schneller auf Messages reagieren. 😀

                        1 Antwort Letzte Antwort
                        0
                        • UhulaU Uhula

                          Das Messaging System würde ich nicht um Bedienelemente erweitern, dass ist nicht der Sinn der Messages. Aber, es spricht nichts dagegen, beim click/tap auf eine Message (listitem) einen view(page)-Wechsel vorzunehmen, auf dem sich die entsprechenden Bedienelemente befinden.

                          TV-Message ---> TV-View
                          Kamera-Message ---> Kamera-View

                          @Tirador: Lässt sich über einen click-Handler realisieren, der dann ein Javascript ausführt: vis.changeView('viewname')

                          uwe12489U Offline
                          uwe12489U Offline
                          uwe12489
                          schrieb am zuletzt editiert von
                          #104

                          @Uhula
                          Ein View-Wechsel ist eine gute Alternative. Mein Ziel ist, den Messager als Start-View im Handy zu haben und alle Stati auf einen Blick zu sehen. Da ist Tirador schon sehr weit. Danke dafür.
                          Einige Stati (alle Lichter aus, Musik aus,...) würde ich mir auch sofort Schaltbar wünschen.
                          Das Teil hat noch viel Potential 😀

                          1 Antwort Letzte Antwort
                          0
                          • E Offline
                            E Offline
                            exv2
                            schrieb am zuletzt editiert von
                            #105

                            Hallo
                            gibt es die Möglichkeit auch andere Icon zu verwenden.

                            Danke für jeden Hinweis

                            uwe12489U T 2 Antworten Letzte Antwort
                            0
                            • E exv2

                              Hallo
                              gibt es die Möglichkeit auch andere Icon zu verwenden.

                              Danke für jeden Hinweis

                              uwe12489U Offline
                              uwe12489U Offline
                              uwe12489
                              schrieb am zuletzt editiert von
                              #106

                              @exv2 https://material.io/resources/icons/?style=baseline
                              Den Namen des Icons auf der Website auswählen und eintragen. Fertig. 😉

                              E 1 Antwort Letzte Antwort
                              0
                              • uwe12489U uwe12489

                                @exv2 https://material.io/resources/icons/?style=baseline
                                Den Namen des Icons auf der Website auswählen und eintragen. Fertig. 😉

                                E Offline
                                E Offline
                                exv2
                                schrieb am zuletzt editiert von
                                #107

                                @uwe12489 Ja das ist schon klar. Habe mich vieleicht falsch ausgedrück. Meine eigene Icon anzeigen lassen.

                                1 Antwort Letzte Antwort
                                0
                                • UhulaU Uhula

                                  Das Messaging System würde ich nicht um Bedienelemente erweitern, dass ist nicht der Sinn der Messages. Aber, es spricht nichts dagegen, beim click/tap auf eine Message (listitem) einen view(page)-Wechsel vorzunehmen, auf dem sich die entsprechenden Bedienelemente befinden.

                                  TV-Message ---> TV-View
                                  Kamera-Message ---> Kamera-View

                                  @Tirador: Lässt sich über einen click-Handler realisieren, der dann ein Javascript ausführt: vis.changeView('viewname')

                                  T Offline
                                  T Offline
                                  Tirador
                                  schrieb am zuletzt editiert von Tirador
                                  #108

                                  @Uhula Viewwechsel finde ich gut. Wie kann man dies visuell am besten darstellen, dass ein Element klickbar/antippbar ist?

                                  UhulaU 1 Antwort Letzte Antwort
                                  0
                                  • E exv2

                                    Hallo
                                    gibt es die Möglichkeit auch andere Icon zu verwenden.

                                    Danke für jeden Hinweis

                                    T Offline
                                    T Offline
                                    Tirador
                                    schrieb am zuletzt editiert von
                                    #109

                                    @exv2 dafür müsste man selbst das HTML vorgeben können. Meine Idee wäre hier einen Schritt zurück zu machen, dass man auch bei Material Design Icons das vollständige HTML in der Nachrichtendefinition vorgeben muss.

                                    E 1 Antwort Letzte Antwort
                                    0
                                    • T Tirador

                                      @exv2 dafür müsste man selbst das HTML vorgeben können. Meine Idee wäre hier einen Schritt zurück zu machen, dass man auch bei Material Design Icons das vollständige HTML in der Nachrichtendefinition vorgeben muss.

                                      E Offline
                                      E Offline
                                      exv2
                                      schrieb am zuletzt editiert von
                                      #110

                                      @Tirador Ein Schritt zurück finde ich nicht gut. Eventuell abfragen ob in mdIcon HTML Code steht wenn ja anders darstellen wenn nicht bleibt alles beim alten.

                                      T 1 Antwort Letzte Antwort
                                      0
                                      • E exv2

                                        @Tirador Ein Schritt zurück finde ich nicht gut. Eventuell abfragen ob in mdIcon HTML Code steht wenn ja anders darstellen wenn nicht bleibt alles beim alten.

                                        T Offline
                                        T Offline
                                        Tirador
                                        schrieb am zuletzt editiert von Tirador
                                        #111

                                        btw: ich war heute nicht untätig und habe den Delay-Timer eingebaut, so dass die Nachrichten erst verzögert ausgelöst werden, sofern nach der Delay Zeit der Zustand weiterhin der Bedingung im MessageStateCreater entspricht.
                                        Jetzt werde ich gleich fleissig mit dem Kühlschrank testen 😉

                                        Auf meinem Zettel steht dann noch die Integration der Viewwechsel und die swipen Löschfunktion. 🙂
                                        @Uhula das swipen für das löschen funktioniert bereits um aktuellen MDCSS ?

                                        @exv2 Bzgl. der Icons und Variabilität.
                                        Das ist Datentechnisch aber ein Supergau, wenn verschiedene Zustände in einem Feld gemixt werden.
                                        Wenn dann stringent: d.h. entweder immer HTML oder alternativ ein zweites Feld, in dem man das Icon in HTML vorgeben kann.
                                        Ich bin eher für Einfachheit, statt Unklarheit, welches Feld dann vorrangig verwendet wird. Für mich ist es dann einfacher, wenn man durchgehend das HTML vorgeben muss.
                                        Ich stelle diesen Punkt mit den Icons erstmal zurück. Vielleicht gibt es ja noch eine raffiniertere Lösung und ich kenne/sehe sie nicht. 🙂

                                        1 Antwort Letzte Antwort
                                        0
                                        • D Offline
                                          D Offline
                                          der-eine
                                          schrieb am zuletzt editiert von
                                          #112

                                          @Tirador kann es sein, dass seit dem man Meldungen einzeln quittieren kann clear pressed nicht mehr funktioniert? 🤔
                                          Habe verison 0.4 installiert.

                                          T 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          384

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe