Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [Tutorial] wioBrowser - Windows Desktop `popup messages`

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Tutorial] wioBrowser - Windows Desktop `popup messages`

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

      Teil 4

      Automatik:
      Folgendes Szenario, wir sitzen vor dem Rechner, und haben kein Telefon in der Nähe,
      bzw. bekommen es nicht mit wenn das Telefon klingelt.
      Damit wir auf dem Desktop eine Nachricht, mit dem Inhalt, auf welcher Rufnummer wird angerufen,
      zu welchem Zeitpunkt und von wem, erhalten, hab ich euch ein kleines Beispiel in Blockly erstellt.

      Voraussetzung, für diese Beispiel, sind ein installierter "TR-064" Adapter,
      und selbstverständlich die in Teil 1-3 eingerichtete Umgebung.

      wiobrowser_desktop_36.png

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable id="6VYfhYOmgoYDLSX()Hmg">messagestyle</variable>
         <variable id="EQ?A4id.PvN,8rl)6h1k">calleetext</variable>
         <variable type="timeout" id="timeout">timeout</variable>
       </variables>
       <block type="comment" id="MdU*U[VK-`HN:7jkB)8-" x="113" y="12">
         <field name="COMMENT">tr-064.0.callmonitor.ringing</field>
         <next>
           <block type="on" id="HT)9fTrK#(dD1dEO}EV@">
             <field name="OID">tr-064.0.callmonitor.ringing</field>
             <field name="CONDITION">ne</field>
             <field name="ACK_CONDITION"></field>
             <statement name="STATEMENT">
               <block type="controls_if" id="Q7bhJKz4SUk#`ud134i,">
                 <value name="IF0">
                   <block type="on_source" id="!s{}:{5]aYV0;3aXZ7li">
                     <field name="ATTR">state.val</field>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="timeouts_cleartimeout" id=",5c,U0nK`Jl]ry6]}mlw">
                     <field name="NAME">timeout</field>
                     <next>
                       <block type="comment" id="re-e`l.UHR-G%(Ttf_T`">
                         <field name="COMMENT">Variable zu wiobrowser.0.messages.messagestyle</field>
                         <next>
                           <block type="variables_set" id="zl(3v[~q}FjB61_-Kpk%">
                             <field name="VAR" id="6VYfhYOmgoYDLSX()Hmg">messagestyle</field>
                             <value name="VALUE">
                               <block type="get_value" id=";/IzHWGZ7[!(p6p;,CP*">
                                 <field name="ATTR">val</field>
                                 <field name="OID">wiobrowser.0.messages.messagestyle</field>
                               </block>
                             </value>
                             <next>
                               <block type="comment" id="t(cbyl7m8]@^Vj|x0cUT">
                                 <field name="COMMENT">Variable zur Umwandlung Nummer -&gt; Text</field>
                                 <next>
                                   <block type="variables_set" id="-@ANJlO%xt.x+CV79Ol[">
                                     <field name="VAR" id="EQ?A4id.PvN,8rl)6h1k">calleetext</field>
                                     <value name="VALUE">
                                       <block type="text" id="qz;|o.]^;wDw,Dp3f=/X">
                                         <field name="TEXT"></field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="comment" id="?Y5H:!@W5%~wAOrtd(o2">
                                         <field name="COMMENT">tr-064.0.callmonitor.inbound.callee</field>
                                         <next>
                                           <block type="controls_if" id="MhL}M`om9QQL3e!s~OXJ">
                                             <mutation elseif="2"></mutation>
                                             <value name="IF0">
                                               <block type="logic_compare" id="D6MQmp47,#+fS.oY82AW">
                                                 <field name="OP">EQ</field>
                                                 <value name="A">
                                                   <block type="get_value" id="|pM(r_JvKw`c4Z|h=C.E">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">tr-064.0.callmonitor.inbound.callee</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="text" id="OH@L_.!?dW-z$~+s9fOX">
                                                     <field name="TEXT">&lt;Anschlussnummer&gt;</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <statement name="DO0">
                                               <block type="variables_set" id="t(D=_yJY8`Bz*NsKIt![">
                                                 <field name="VAR" id="EQ?A4id.PvN,8rl)6h1k">calleetext</field>
                                                 <value name="VALUE">
                                                   <block type="text" id=":7EMaEW8=pm.Z.f{qnWg">
                                                     <field name="TEXT">Privat</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </statement>
                                             <value name="IF1">
                                               <block type="logic_compare" id="s3i~UCw;Bt#=4Ie]y8]a">
                                                 <field name="OP">EQ</field>
                                                 <value name="A">
                                                   <block type="get_value" id="F+0oXo`9,31MLW,|P!?W">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">tr-064.0.callmonitor.inbound.callee</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="text" id="TRNWv=1KjUf%oUlf-C%?">
                                                     <field name="TEXT">&lt;Anschlussnummer&gt;</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <statement name="DO1">
                                               <block type="variables_set" id="8Fs$-EOyiqiRwSEa@p3A">
                                                 <field name="VAR" id="EQ?A4id.PvN,8rl)6h1k">calleetext</field>
                                                 <value name="VALUE">
                                                   <block type="text" id="lih9)b-VU;z_Qww$j%=C">
                                                     <field name="TEXT">Geschäft</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </statement>
                                             <value name="IF2">
                                               <block type="logic_compare" id="/U2G?lx!_R@Jz*M+ge-i">
                                                 <field name="OP">EQ</field>
                                                 <value name="A">
                                                   <block type="get_value" id="~s/jY:]5SO?!dN~}`([c">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">tr-064.0.callmonitor.inbound.callee</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="text" id="wD`=FhKVW9(|vZ;SZcci">
                                                     <field name="TEXT">&lt;Anschlussnummer&gt;</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <statement name="DO2">
                                               <block type="variables_set" id="+pV(-Cge^r{ky_CxhoWr">
                                                 <field name="VAR" id="EQ?A4id.PvN,8rl)6h1k">calleetext</field>
                                                 <value name="VALUE">
                                                   <block type="text" id="YZ%vUUb)oE5P}jc?*3@s">
                                                     <field name="TEXT">Fax</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </statement>
                                             <next>
                                               <block type="comment" id="pDyZnJ=;`_h:L_F~wgNJ">
                                                 <field name="COMMENT">wiobrowser.0.messages.messagestyle</field>
                                                 <next>
                                                   <block type="control" id="R*O3pI8.6L+jbIsj;/Vv">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                     <field name="OID">wiobrowser.0.messages.messagestyle</field>
                                                     <field name="WITH_DELAY">FALSE</field>
                                                     <value name="VALUE">
                                                       <block type="math_number" id="4{):MX7jE.{M+]^qN;cc">
                                                         <field name="NUM">4</field>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="timeouts_settimeout" id="4:N22yz[RCf#Qq{#1Mj=">
                                                         <field name="NAME">timeout</field>
                                                         <field name="DELAY">1000</field>
                                                         <field name="UNIT">ms</field>
                                                         <statement name="STATEMENT">
                                                           <block type="comment" id="Zh~mW!,zkvJ!|P,28On$">
                                                             <field name="COMMENT">wiobrowser.0.messages.message</field>
                                                             <next>
                                                               <block type="control" id="5=L2wgV~zV,O@{#JGrU@">
                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                 <field name="OID">wiobrowser.0.messages.message</field>
                                                                 <field name="WITH_DELAY">FALSE</field>
                                                                 <value name="VALUE">
                                                                   <block type="text_join" id="!/lem*GI~IAg-KY-~5!*">
                                                                     <mutation items="5"></mutation>
                                                                     <value name="ADD0">
                                                                       <block type="variables_get" id="Ig1D!,9bdVQa3{twJ@K.">
                                                                         <field name="VAR" id="EQ?A4id.PvN,8rl)6h1k">calleetext</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD1">
                                                                       <block type="text_newline" id="QGSdvcAHlf,hPQ^#mJG4">
                                                                         <field name="Type">\n</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD2">
                                                                       <block type="get_value" id="X~$6Cz$yS%tIt!O6:-]b">
                                                                         <field name="ATTR">val</field>
                                                                         <field name="OID">tr-064.0.callmonitor.inbound.timestamp</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD3">
                                                                       <block type="text_newline" id="3.c^%pCd=/hjc4i.:-b;">
                                                                         <field name="Type">\n</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD4">
                                                                       <block type="text_join" id="%gEJJZ/4UZ]e}~We^0*5">
                                                                         <mutation items="3"></mutation>
                                                                         <value name="ADD0">
                                                                           <block type="get_value" id="L,=Gto9@E:upR{s~PlL7">
                                                                             <field name="ATTR">val</field>
                                                                             <field name="OID">tr-064.0.callmonitor.inbound.caller</field>
                                                                           </block>
                                                                         </value>
                                                                         <value name="ADD1">
                                                                           <block type="text" id="aLk@PKgt?Pl=YFB@T!Ya">
                                                                             <field name="TEXT">   </field>
                                                                           </block>
                                                                         </value>
                                                                         <value name="ADD2">
                                                                           <block type="get_value" id="ucRaiT)`}/}%;Wf-j{kW">
                                                                             <field name="ATTR">val</field>
                                                                             <field name="OID">tr-064.0.callmonitor.inbound.callerName</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <next>
                                                                   <block type="comment" id="niwD#!}k!V!%,J4hUkw#">
                                                                     <field name="COMMENT">wiobrowser.0.messages.messagestyle</field>
                                                                     <next>
                                                                       <block type="control" id="2o+4gAI/nkaWySjL9Vpw">
                                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                         <field name="OID">wiobrowser.0.messages.messagestyle</field>
                                                                         <field name="WITH_DELAY">FALSE</field>
                                                                         <value name="VALUE">
                                                                           <block type="variables_get" id=")!*3OB#F[32y)56s7cS$">
                                                                             <field name="VAR" id="6VYfhYOmgoYDLSX()Hmg">messagestyle</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </next>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </statement>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </statement>
               </block>
             </statement>
           </block>
         </next>
       </block>
      </xml>
      


      (wie immer, gilt auch hier, ihr müsst das Blockly an eure Umgebung anpassen)

      Was macht dieses Blockly nun?
      Es wartet auf einen externen Anruf, und reagiert folgendermaßen darauf, wenn ein Anruf ankommt.
      Zuerst wird der vorhandene Wert unter "messagestyle" in eine Variable (messagestyle) geschrieben,
      und die Variable (calleetext) zurückgesetzt.
      Anschließend wird geprüft, auf welcher Anschlussrufnummer der externe Anruf ankommt.
      Dementsprechend, wird diese Nummer dann in der Variable calleetext durch einen Text ersetzt.
      Dann wird der gewünschte "messagestyle" an das Objekt übergeben.
      (in dem Fall mit 4, da wir ja in Teil 2 einen entsprechenden Favorit angelegt haben,
      jetzt wird vielleicht klarer, warum der Favorit unter "Caption" keinen Eintrag enthält)
      Der an dieser Stelle eingefügte Timer ist notwendig, da sonst der "messagestyle" noch nicht gesetzt ist,
      bevor die Nachricht gesendet wird.
      Jetzt fängt die eigentliche Zusammenstellung der Nachricht an.
      Wir haben uns ja weiter vorne schon darauf geeinigt, wie die Nachricht aussehen soll. 😉
      Also wird der Text aus folgenden Parametern zusammengesetzt.
      Zuerst die Variable calleetext mit abschließendem Zeilenumbruch.
      Dann der Zeitstempel aus dem Objekt "tr-064.0.callmonitor.inbound.timestamp",
      wieder mit abschließendem Zeilenumbruch.
      Damit die zwei Werte von "tr-064.0.callmonitor.inbound.caller" und "tr-064.0.callmonitor.inbound.callerName"
      in einer Zeile erscheinen, wird noch einmal ein Text im Text erstellt, welcher die Werte mit Leerzeichen als Trenner einsetzt.
      Mit diesem komplett zusammengesetzten Text, wird das Objekt "wiobrowser.0.messages.message" angesteuert.
      Zum Schluss noch das Objekt "wiobrowser.0.messages.messagestyle" mit der Variable messagestyle,
      welche am Anfang des Blockly gespeichert wurde, ansteuern.

      Hier noch das Ergebnis, wie es bei euch aussehen könnte 🙂
      wiobrowser_desktop_37.png


      Schlusswort:
      Ich hoffe, es hat euch einigermaßen Spaß gemacht, mit mir durch dieses Tutorial zu gehen.
      Solltet ihr Kritik, Anregungen oder anderweitige Vorschläge haben, dann gerne her damit.
      (Schreibfehler dürft ihr behalten, die schenke ich euch 😉 )

      Großer Dank gebührt Walter ( @Wal )
      Er hat diese Funktion (Stand: 18.01.2022), welche nicht eingeplant war, innerhalb einer Woche umgesetzt. 👍
      Wer ihn unterstützen möchte, hier noch einmal der Link zu seinem Thread.

      Ansonsten wünsche ich euch allen eine angenehme Zeit
      Gruß, Karsten

      -cs- 1 Reply Last reply Reply Quote 4
      • -cs-
        -cs- @hydrotec last edited by -cs-

        @hydrotec

        Wow, genau was ich immer gesucht habe.
        Du überforderst mich grad, kam noch nicht mal dazu das NC Script zu installieren, jetzt sowas.

        Super, danke.

        Frage: Wenn es installiert wird, werden die Popups dann jedem Benutzer des PCs angezeigt?
        Ich bin wg. teilweise HO oft mit einem anderen Benutzer angemeldet, der nur eingeschränkt Rechte hat (von mir so eingestellt). Dann noch Benutzer Frau und manchmal Kids.

        hydrotec Wal 2 Replies Last reply Reply Quote 0
        • hydrotec
          hydrotec @-cs- last edited by

          @csr

          Nachrichten werden auf den Rechner gesendet, welcher bei ioBroker unter den Einstellungen angegeben ist.
          Und die WioBrowser.exe muss ja auch gestartet sein.
          Wie es sich verhält, wenn ein Benutzer angemeldet ist, bei dem die Nachrichten erscheinen sollen,
          und dann ein Benutzerwechsel vollzogen wird, hab ich nicht getestet.
          Das bleibt jetzt dir überlassen 😉
          Kann es mir nicht vorstellen, das dies Benutzerübergreifend funktioniert, aber wer weiß.

          1 Reply Last reply Reply Quote 0
          • Wal
            Wal Developer @-cs- last edited by

            @csr ,
            wenn du das Teil in den Autostart schiebst und bei jedem Windowsstart automatisch starten lässt, könnte ich mir gut vorstellen das das funktioniert.

            -cs- BananaJoe 2 Replies Last reply Reply Quote 0
            • -cs-
              -cs- @Wal last edited by -cs-

              @wal
              Ja so hätte ich es vor.

              hätte, hätte, gebt mir Zeit am PC 😉 , hier Schreiben geht fast immer, aber am PC sitzen leider nicht so.

              1 Reply Last reply Reply Quote 0
              • BananaJoe
                BananaJoe Most Active @Wal last edited by

                @wal sagte in [Tutorial] wioBrowser - Windows Desktop &#x60;popup messages&#x60;:

                @csr ,
                wenn du das Teil in den Autostart schiebst und bei jedem Windowsstart automatisch starten lässt, könnte ich mir gut vorstellen das das funktioniert.

                Es wird nicht Terminalserver bzw. Multiuser-fähig sein das ja der Port in der Config.ini festgelegt ist und die erste gestartete Instanz sich diesen krallt. Solange nur ein Benutzer es pro Rechner startet sollte es kein Problem geben.

                Wal 1 Reply Last reply Reply Quote 0
                • Wal
                  Wal Developer @BananaJoe last edited by

                  @bananajoe ,
                  wenn ich das als Admin in den Taskmanager Autostart mache, müsste es doch für alle User gelten, oder ?

                  hydrotec BananaJoe 2 Replies Last reply Reply Quote 0
                  • hydrotec
                    hydrotec @Wal last edited by

                    @wal

                    bin mir nicht zu 100% sicher, doch ich meine das es zwei Arten von Autostartordnern gibt.
                    Einen für den aktuellen Benutzer, und einen Systemübergreifend.
                    Muss noch einmal nachschauen.

                    1 Reply Last reply Reply Quote 0
                    • BananaJoe
                      BananaJoe Most Active @Wal last edited by BananaJoe

                      @wal sagte in [Tutorial] wioBrowser - Windows Desktop &#x60;popup messages&#x60;:

                      @bananajoe ,
                      wenn ich das als Admin in den Taskmanager Autostart mache, müsste es doch für alle User gelten, oder ?

                      Öhm, den Weg bin ich noch nie gegangen ...
                      Für alle Benutzer müsste es dieser Ordner sein:

                      C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
                      

                      würde auch gehen. Also dort eine Verknüpfung reinlegen

                      1 Reply Last reply Reply Quote 0
                      • Wal
                        Wal Developer last edited by

                        Über den Taskmanager Autostart geht es nicht, eben probiert.
                        Mal die von @BananaJoe testen.

                        hydrotec 1 Reply Last reply Reply Quote 0
                        • hydrotec
                          hydrotec @Wal last edited by

                          @wal

                          Gefunden 🙂

                          Hier steht es zum Nachlesen.


                          Autostart-Ordner für den angemeldeten Nutzer

                          %appdata%\Microsoft\Windows\Start Menu\Programs\Startup
                          

                          Autostart-Ordner für alle Benutzer

                          %programdata%\Microsoft\Windows\Start Menu\Programs\Startup
                          

                          Einfach eine Verknüpfung zu WioBrowser.exe dort (je nachdem was man möchte) reinlegen.

                          1 Reply Last reply Reply Quote 1
                          • J
                            jensven last edited by

                            Funktioniert einwandfrei, danke dir für das Tutorial

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            472
                            Online

                            32.0k
                            Users

                            80.5k
                            Topics

                            1.3m
                            Posts

                            blockly
                            5
                            15
                            2588
                            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