Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Script] MessageHandler: Nachrichten protokollieren +VIS

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Script] MessageHandler: Nachrichten protokollieren +VIS

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dominik F.
      Dominik F. @Glasfaser last edited by

      @Glasfaser

      https://github.com/Uhula/ioBroker-Material-Design-Style#5

      1. MD CSS v1.x -> MD CSS v2
        Hier eine Kurzanleitung, wie man sein v1 Projekt nach v2 übernehmen kann. Bitte immer in einer Kopie arbeiten.

      in den cardXXX
      mdui-Classes anpassen, welche umbenannt wurden (Bsp: mdui-raisedbutton -> mdui-button-raised, mdui-flatbutton -> mdui-button). Die Umbenennungen sind im ChangeLog aufgeführt
      die Position der Widgets so anpassen, dass sie links und oben mind. 16 Px frei lassen
      in den contXXX
      mdui-Classes anpassen, welche umbenannt wurden (Bsp: mdui-card -> mdui-card-raised, mdui-tile -> mdui-card; oder mdui-card-outlined nutzen). Die Umbenennungen habe ich in den Änderungen zur V2.0 im Post genannt
      [optional] haben die view-in-view cardXXX mit mdui-cols- u/o mdui-rows- Angaben, dann bezogen sich diese bisher auf ein 156er Raster, jetzt ist es ein 80er Raster. D.h. die müssen angepasst werden, i.d.R. verdoppelt
      [optional] die view-in-view cardXXX mit mdui-order- versehen, wenn man die Reihenfolge selbst festlegen möchte
      [optional] view-in-view cardXXX mit mdui-cols--toc- versehen, wenn man mit einer automatischen Breitenanpassung der cardXXX arbeiten möchten
      [optional] contXXX die view-in-view cardXXX mit mdui-rows--tor- versehen, wenn man mit einer automatischen Höhenanpassung der cardXXX arbeiten möchten
      abar ** ein HTML-Widget einfügen und mdui-config zuweisen. Inhalt wie unter den Änderungen zur V2.0 im Post beschrieben setzen (für die Farben)
      tnav, bnav Widgets als mdui-navitem kennzeichnen
      [optional] mit mdui-order- für die Sortierung versehen
      [optional] wenn die navitems versteckt werden sollen, wenn die lnav fixiert angezeigt wird, dann die Widgets im tnav um mdui-lnav-fixed-open-hide ergänzen
      lnav, rnav
      Widgets als mdui-navitem kennzeichnen
      [optional] mit mdui-order- für die Sortierung versehen
      width auf 100% setzen
      in den pageXXX
      [optional] Anpassung an 80er Grid: abar.Height auf 40 setzen; tnav.Top auf 40 setzen, tnav.Height auf 40 setzen; content.Top auf 80 setzen, content.Height auf calc(100% - 80px) setzen
      tnav, lnav und rnav um mdui-flex ergänzen
      content um mdui-flex ergänzen
      [optional] wenn eine automatische Höhenanpassung der cardXXX mit mdui-rows--tor- im contXXX zugewiesen wurde, dann im pageXXX den content um mdui-flex-stretch erweitern

      Glasfaser 1 Reply Last reply Reply Quote 1
      • Glasfaser
        Glasfaser @Dominik F. last edited by Glasfaser

        @Dominik-F

        Ja danke ... das ist genau was ich meine und nicht ganz verstehe ..

        Ich Persönlich finde es unübersichlich ,
        deshalb habe ich von V1 nach V2 noch nicht vollzogen ... da es nicht mal eben ist ...

        Edit :
        Möchte damit auch nicht den Thread hier vollmüllen

        1 Reply Last reply Reply Quote 0
        • T
          Tirador @uwe12489 last edited by Tirador

          @uwe12489 Bilder anzuzeigen könnte ich mir auch gut vorstellen. Woher kann man denn das Bild anzapfen?

          Die klassische Verwendung wäre wohl eine Überwachungskamera. Habe aber keine. Die Anwendungsszenarien sind damit für mich überschaubar.

          Wenn es im Datenpunkt vorliegt ist es sicherlich einfach zu integrieren.

          uwe12489 1 Reply Last reply Reply Quote 0
          • D
            der-eine @Tirador last edited by

            @Tirador halte das für zwei Gute Ideen. 👍

            1 Reply Last reply Reply Quote 0
            • uwe12489
              uwe12489 @Tirador last edited by uwe12489

              @Tirador Bilder werden hier in den DP abgelegt und von den Adaptern bereit gestellt:

              alexa2.0: alexa2.0.Echo-Devices.G07xxxxxxxxx.Player.mainArtUrl
              tr-64.0: tr-064.0.callmonitor.lastCall.imageurlcallee

              der Wert sieht dann z.Bsp. so aus: http://192.168.178.1:49000/download.lua?path=/var/InternerSpeicher/FRITZ/fonpix/1xxxxxxx0-0.jpg&sid=61fdxxxxxxx3&pbid=0

              T 1 Reply Last reply Reply Quote 0
              • T
                Tirador @uwe12489 last edited by 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).

                uwe12489 1 Reply Last reply Reply Quote 0
                • uwe12489
                  uwe12489 @Tirador last edited by

                  @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'}
                      }, 
                  
                  uwe12489 1 Reply Last reply Reply Quote 0
                  • uwe12489
                    uwe12489 @uwe12489 last edited by 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 uwe12489 2 Replies Last reply Reply Quote 0
                    • T
                      Tirador @uwe12489 last edited by

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

                      uwe12489 1 Reply Last reply Reply Quote 0
                      • uwe12489
                        uwe12489 @Tirador last edited by

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

                        1 Reply Last reply Reply Quote 0
                        • uwe12489
                          uwe12489 @uwe12489 last edited by

                          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 Reply Last reply Reply Quote 0
                          • T
                            Tirador @uwe12489 last edited by

                            @uwe12489 ich denke schalten wird nicht gehen.

                            uwe12489 1 Reply Last reply Reply Quote 0
                            • uwe12489
                              uwe12489 @Tirador last edited by

                              @Tirador Schade. War ne Idee... 😎

                              T 1 Reply Last reply Reply Quote 0
                              • T
                                Tirador @uwe12489 last edited by

                                @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.

                                uwe12489 1 Reply Last reply Reply Quote 1
                                • uwe12489
                                  uwe12489 @Tirador last edited by

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

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

                                    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 uwe12489 T 3 Replies Last reply Reply Quote 0
                                    • D
                                      der-eine @Uhula last edited by

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

                                      1 Reply Last reply Reply Quote 0
                                      • uwe12489
                                        uwe12489 @Uhula last edited by

                                        @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 Reply Last reply Reply Quote 0
                                        • E
                                          exv2 last edited by

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

                                          Danke für jeden Hinweis

                                          uwe12489 T 2 Replies Last reply Reply Quote 0
                                          • uwe12489
                                            uwe12489 @exv2 last edited by

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

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            938
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            25
                                            336
                                            40038
                                            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