Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Werte per Telegram an iobroker senden

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Werte per Telegram an iobroker senden

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

      Guten Tag,
      ich baue gerade ein Script das den taschengeldkontostand meiner Kids visualisiert, damit sie nicht ständig überall ihr Taschengeld im Haus rumfliegen haben.
      Dieser Wert wird im Panel dargestellt. Wöchentlich wird eine paremetrierbare Summe inkrementiert.
      Ich brauche Allerdings noch eine Möglichkeit außer der Reihe Geld einzuzahlen, wenn sie beispielsweise Rasen mähen oder Geld abzuheben.
      Aufgrund der kriminellen Energie möchte ich dies aber nicht in einer VIS machen sondern via Telegram Bot. Bisher nutze ich textcommand schon intensiv mit zahlreichen Funktionen, hier aber immer nur mit Schlüsselworten.

      Gibt es eine Möglichkeit, ein Schlüsselwort gefolgt von einem variabel eisntellbaren Wert zu senden, der dann in ein Objekt geschrieben wird? Auf dieses Objekt schaut ein Trigger der dann aufaddiert und zurücksetzt.

      LG
      Nils

      bahnuhr 1 Reply Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active @jmeister79 last edited by

        @jmeister79

        Wenn du am Handy in telegram etwas eingibst, dann erscheint dies in einem DP in iob.
        Und diesen DP kannst du doch dann auswerten.

        jmeister79 1 Reply Last reply Reply Quote 0
        • jmeister79
          jmeister79 @bahnuhr last edited by

          Hi,
          mit
          Schreibe Text in zustand
          geht es. Aber er erkennt kein - zeichen. da muss ich mal n bisschen rumprobieren.

          bahnuhr 1 Reply Last reply Reply Quote 0
          • bahnuhr
            bahnuhr Forum Testing Most Active @jmeister79 last edited by

            @jmeister79

            habe eben ein bisschen gespielt:

                var vEingabe = getState("telegram.0.communicate.request").val;
                var vUser = vEingabe.substring(1, vEingabe.indexOf("]"));
                log (vUser);
                var text = vEingabe.substring(vEingabe.indexOf("]")+1, vEingabe.length );
                log (text);
            
                var arr = text.split(",");
                log (arr[0]);
                var wert = parseFloat(arr[1])
                log (typeof wert)
            

            Schau dir mal das Script an.
            Wenn du in telegram z.B. eingibst: rasen,10
            dann hat die Variable vUser den Namen der gesendet hat.
            Und in arr0 bekommst du rasen
            und in wert den Wert.

            Musst halt noch umwandeln und ein paar if einbauen je nachdem was du machen willst.

            1 Reply Last reply Reply Quote 1
            • jmeister79
              jmeister79 last edited by jmeister79

              Hi, ich habs jetzt so gelöst.

              Danke dir Bahnuhr:

              on({id: 'telegram.0.communicate.request', change: "any"}, async function (obj) {
              
                  var vEingabe = getState("telegram.0.communicate.request").val;
                  var text = vEingabe.substring(vEingabe.indexOf("]")+1, vEingabe.length );
              
                  var arr = text.split(",");
                  var wert = parseFloat(arr[1])
                  if (arr[0] == 'Lieblingskind' || arr[0] == 'Schwarzschaf'){
                      var newvalue = getState('javascript.0.Taschengeld.'+arr[0]+'Abs').val + wert; 
                      setState('javascript.0.Taschengeld.'+arr[0]+'Abs', (parseFloat(newvalue)));	//neue summe übertragen  
                      text = 'Es wurden '+wert+'€ zu '+arr[0]+' addiert.'
                      sendTo("telegram", "send", {
                          text: text});       
                  }
              });
              
              1 Reply Last reply Reply Quote 1
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              932
              Online

              31.9k
              Users

              80.1k
              Topics

              1.3m
              Posts

              2
              5
              480
              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