Skip to content
  • Home
  • 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
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. [Tutorial] wioBrowser - Windows Desktop `popup messages`

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    5
    1
    43

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

[Tutorial] wioBrowser - Windows Desktop `popup messages`

Scheduled Pinned Locked Moved Blockly
blockly
15 Posts 5 Posters 3.0k Views 9 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.
  • hydrotecH Offline
    hydrotecH Offline
    hydrotec
    wrote on last edited by
    #3

    Teil 3

    Anwendung:
    In diesem Teil wenden wir uns den Objekten zu.
    Auch hier werde ich nur auf die Objekte eingehen, welche für die Funktion popup messages relevant sind.
    wiobrowser_desktop_35.png
    Bevor wir etwas "Spielen", kurz eine Übersicht, was die einzelnen Objekte bedeuten, bzw. bewirken.
    (wie ein Wert geändert werden kann, sehe ich jetzt als Voraussetzung an)

    "message"

    • Hier kann eine Nachricht eingegeben werden, wenn nötig auch mit Zeilenumbruch
      (einfach Enter bei der Eingabe des Textes drücken)

    "messagenumber"

    • Über dieses Objekt können die jeweiligen Favoriten der Nachrichten aufgerufen werden.

    "messagestyle"

    • Durch dieses Objekt wird festgelegt, welchen Style die Nachricht haben soll,
      welche man unter "message" absetzt.

    OK, lasst uns etwas "Spielen" ;-)

    In Teil 2 hatten wir ja schon ein paar Favoriten angelegt.
    Favorit 1 hat die Hintergrundfarbe GreenYellow (#ADFF2F),
    und Favorit 2 die Hintergrundfarbe Silver (#C0C0C0).
    Angenommen wir möchten eine Nachricht mit der Hintergrundfarbe Silver absetzen.
    Dann ändern wir zuerst den Wert bei "messagestyle" auf 2.
    Und im Anschluss setzen wir die Nachricht unter "message" ab.
    Angenommen wir möchten eine Nachricht mit der Hintergrundfarbe GreenYellow absetzen.
    Dann ändern wir zuerst den Wert bei "messagestyle" auf 1.
    Und im Anschluss setzen wir die Nachricht unter "message" ab.
    Ich denke das Prinzip ist verstanden.
    Folgende Einstellungen der Favoriten werden bei "messagestyle" berücksichtigt.
    Titel, Time und Color.

    Ubuntu 22.04 LTS (LXD/LXC)
    admin: v6.3.5
    js-controller: v4.0.24
    node: v18.16.1
    npm: v9.5.1
    repository: stable

    1 Reply Last reply
    0
    • hydrotecH Offline
      hydrotecH Offline
      hydrotec
      wrote on last edited by
      #4

      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. :+1:
      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

      Ubuntu 22.04 LTS (LXD/LXC)
      admin: v6.3.5
      js-controller: v4.0.24
      node: v18.16.1
      npm: v9.5.1
      repository: stable

      -cs-- 1 Reply Last reply
      4
      • hydrotecH hydrotec

        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. :+1:
        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-- Offline
        -cs-- Offline
        -cs-
        wrote on last edited by -cs-
        #5

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

        hydrotecH WalW 2 Replies Last reply
        0
        • -cs-- -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.

          hydrotecH Offline
          hydrotecH Offline
          hydrotec
          wrote on last edited by
          #6

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

          Ubuntu 22.04 LTS (LXD/LXC)
          admin: v6.3.5
          js-controller: v4.0.24
          node: v18.16.1
          npm: v9.5.1
          repository: stable

          1 Reply Last reply
          0
          • -cs-- -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.

            WalW Offline
            WalW Offline
            Wal
            Developer
            wrote on last edited by
            #7

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

            Gruß
            Walter

            DoorIO-Adapter
            wioBrowser-Adapter und wioBrowser

            -cs-- BananaJoeB 2 Replies Last reply
            0
            • WalW Wal

              @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-- Offline
              -cs-- Offline
              -cs-
              wrote on last edited by -cs-
              #8

              @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
              0
              • WalW Wal

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

                BananaJoeB Offline
                BananaJoeB Offline
                BananaJoe
                Most Active
                wrote on last edited by
                #9

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

                ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                WalW 1 Reply Last reply
                0
                • BananaJoeB BananaJoe

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

                  WalW Offline
                  WalW Offline
                  Wal
                  Developer
                  wrote on last edited by
                  #10

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

                  Gruß
                  Walter

                  DoorIO-Adapter
                  wioBrowser-Adapter und wioBrowser

                  hydrotecH BananaJoeB 2 Replies Last reply
                  0
                  • WalW Wal

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

                    hydrotecH Offline
                    hydrotecH Offline
                    hydrotec
                    wrote on last edited by
                    #11

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

                    Ubuntu 22.04 LTS (LXD/LXC)
                    admin: v6.3.5
                    js-controller: v4.0.24
                    node: v18.16.1
                    npm: v9.5.1
                    repository: stable

                    1 Reply Last reply
                    0
                    • WalW Wal

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

                      BananaJoeB Offline
                      BananaJoeB Offline
                      BananaJoe
                      Most Active
                      wrote on last edited by BananaJoe
                      #12

                      @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

                      ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                      1 Reply Last reply
                      0
                      • WalW Offline
                        WalW Offline
                        Wal
                        Developer
                        wrote on last edited by
                        #13

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

                        Gruß
                        Walter

                        DoorIO-Adapter
                        wioBrowser-Adapter und wioBrowser

                        hydrotecH 1 Reply Last reply
                        0
                        • WalW Wal

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

                          hydrotecH Offline
                          hydrotecH Offline
                          hydrotec
                          wrote on last edited by
                          #14

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

                          Ubuntu 22.04 LTS (LXD/LXC)
                          admin: v6.3.5
                          js-controller: v4.0.24
                          node: v18.16.1
                          npm: v9.5.1
                          repository: stable

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

                            Funktioniert einwandfrei, danke dir für das Tutorial

                            1 Reply Last reply
                            1
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            411

                            Online

                            32.5k

                            Users

                            81.7k

                            Topics

                            1.3m

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

                            • Don't have an account? Register

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