Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. joerg66

    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

    J
    • Profile
    • Following 0
    • Followers 0
    • Topics 6
    • Posts 18
    • Best 0
    • Groups 0

    joerg66

    @joerg66

    0
    Reputation
    20
    Profile views
    18
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    joerg66 Follow

    Latest posts made by joerg66

    • RE: [erledigt] IF-Anweisung, super simpel, geht trotzdem nicht

      Och nöööö :roll:

      Danke euch !!

      posted in Skripten / Logik
      J
      joerg66
    • [erledigt] IF-Anweisung, super simpel, geht trotzdem nicht

      Hallo,

      ich dreh hier grad durch …

      Hab auf der Homematic eine Systemvariable "Sommermodus" angelegt. Ihr Wert ist aktuell "false"

      Wenn ich mit "ID einfügen" im Script-Editor den Datenpunkt auswähle wird mir ihr Status auch mit "false" angezeigt. Trotzdem funktioniert das folgende Script nicht. Genauer, die Jalousie wird zum Sonnenaufgang auf 20% gefahren. Bin ich blind? Was ist da falsch?

      Dank und Gruß Jörg

      on({astro: "sunrise", shift: 0}, function () {
          if ("hm-rega.0.12303"/*Sommermodus*/)
              setState("hm-rpc.0.NEQ0050xxx.1.LEVEL"/*Jalousie Terrassentuer.LEVEL*/, 20);
          else
              setState("hm-rpc.0.NEQ0050xxx.1.LEVEL"/*Jalousie Terrassentuer.LEVEL*/, 100);
      });
      
      posted in Skripten / Logik
      J
      joerg66
    • RE: [gelöst] telegram -> text2command mit Parameter

      Zunächst sendest Du nur den halben Befehl.

      Du mußt die Behanghöhe mit angeben, also "wzt 50". (Steht im Post weiter oben)

      Dann fährt der Rolladen auf 50%.

      Welch Meldung GENAU kommt denn, die "default" der Switch-case oder evtl. die von text2command?

      text2command ist bei mir deaktiviert und im Telegram-Adapter abgewählt.

      posted in ioBroker Allgemein
      J
      joerg66
    • RE: [gelöst] telegram -> text2command mit Parameter

      Vielen Dank, ich war nur fest der Meinung, in der Funktion muss der Typ angegeben werden, ist doch in Java eigentlich so. :x

      Na egal. Die Zeile: Ausgabe[0] = Ausgabe[0].substring(4);

      ist nötig, weil am Anfang, also vor dem wzt/wzf "[J.]" steht und das schneide ich weg.

      Eingefügt habe ich noch: var Prozent = Integer.parseInt(Ausgabe[1]);

      weil ich eine Warnung bekommen habe,das die Zahl als String in der nächsten Version einen Fehler geben wird.

      Die Fehlerabfragen kommen noch, aber für Leute die ähnliches machen wollen, ist der code so übersichtlicher.

      Das funktionierende Ergebnis ist unten eingestellt und kann beliebig erweitert werden:

      on ({id: "telegram.0.communicate.request",  change:  "any"}, Befehl);
          function Befehl(){
              var Ausgabe = getState("telegram.0.communicate.request").val;
              Ausgabe = Ausgabe.split(" ");
              Ausgabe[0] = Ausgabe[0].substring(4);
              switch (Ausgabe[0]) {
                  case "wzf":  Jalousie(Ausgabe);
                           break;
                  case "wzt":  Jalousie(Ausgabe);
                           break;
      
                  default: sendTo("telegram", "send", { text: (String('Die Anweisung ist unbekannt'))
                              });
              }
          }
      
          function Jalousie(Ausgabe){
              var Fenster = Ausgabe[0];
              var Prozent = Integer.parseInt(Ausgabe[1]);
              if(Fenster == "wzf") //Wohnzimmerfenster
              {
                  setState("hm-rpc.0.NEQ0057xxx.1.LEVEL"/*Jalousie Wohnzimmerfenster.LEVEL*/, Prozent);
              }
              else if(Fenster == "wzt") //Wohnzimmerterasse
              {
                  setState("hm-rpc.0.NEQ0050xxx.1.LEVEL"/*Jalousie Terrassentuer.LEVEL*/, Prozent);
              }
              else
                  setState("javascript.0.textProcessor", '', true);
      }
      
      

      Vielen Dank an alle, die mir geholfen haben !!!

      posted in ioBroker Allgemein
      J
      joerg66
    • RE: [gelöst] telegram -> text2command mit Parameter

      Dann habe ich den text2command jetzt deaktiviert. Finde es übersichtlicher, wenn die Eingaben nicht an zweierlei Stellen bearbeitet werden.

      Außerdem brauche ich dann den textProzessor nicht …. oder denke ich da falsch?

      So habe ich das jetzt am Laufen, das heißt nicht ganz so. Es läuft ohne die Parameterübergabe an die Funktion Jalousie(). In der Funktion würde ich mir gerne die ersten 4 Zeilen sparen und das Array Ausgabe[] übergeben, bekomme aber bei "function Jalousie(String Zeichen[]){" einen Fehler. Warum das denn nun?

      on ({id: "telegram.0.communicate.request",  change:  "any"}, Befehl);
          function Befehl(){
              var Ausgabe = getState("telegram.0.communicate.request").val;
              Ausgabe = Ausgabe.split(" ");
              Ausgabe[0] = Ausgabe[0].substring(4);
              switch (Ausgabe[0]) {
                  case "wzf":  Jalousie(Ausgabe);
                           break;
                  case "wzt":  Jalousie(Ausgabe);
                           break;
      
                  default: sendTo("telegram", "send", { text: (String('Die Anweisung ist unbekannt'))
                              });
              }
          }
      
          function Jalousie(String Zeichen[]){
              var Ausgabe = getState("telegram.0.communicate.request").val;
              Ausgabe = Ausgabe.split(" ");
              var Fenster = Ausgabe[0].substring(4);
              var Prozent = Ausgabe[1];
              if(Fenster == "wzf") //Wohnzimmerfenster
              {
                  setState("hm-rpc.0.NEQ0057186.1.LEVEL"/*Jalousie Wohnzimmerfenster.LEVEL*/, Prozent);
              }
              else if(Fenster == "wzt") //Wohnzimmerterasse
              {
                  setState("hm-rpc.0.NEQ0050764.1.LEVEL"/*Jalousie Terrassentuer.LEVEL*/, Prozent);
              }
              else
                  setState("javascript.0.textProcessor", '', true);
      }
      
      
      posted in ioBroker Allgemein
      J
      joerg66
    • RE: [gelöst] telegram -> text2command mit Parameter

      Darum. Bei mir sind die "Einstellungen" des Adapter's auch grau.

      Ich versuche es dann heute Abend mal ohne text2command

      posted in ioBroker Allgemein
      J
      joerg66
    • RE: [gelöst] telegram -> text2command mit Parameter

      Ich habe jetzt probiert und rumgestochert, aber kapiert habe ich nichts.

      Habe folgendes Script erstellt:

      createState("textProcessor", '', function () {
      
          on({id: "javascript.0.textProcessor", ack: true, change: 'any'}, function (obj) {
      
               var task = JSON.parse(obj.state.val);
      
               if (task.command === 'jalousie') {
                  setState("hm-rpc.0.NEQ005xxxx.1.LEVEL"/*Jalousie Wohnzimmerfenster.LEVEL*/, 100);
      
               } 
          });
      });
      

      Wenn ich das starte, gibt es unter javascript.0 den Eintrag "textProcessor". Das scheint ja schon mal so sein zu müssen. Und nun?

      Sende ich von Telegram "jalousie" passiert nichts, weil das Müll ist was ich da mache. Was in der Anleitung mit ID-Erstellen gemeint ist kapiere ich dankmeines miesen Englisch nicht.

      Könnte mir wer einigermassen Mundgerecht erklären was ich zu tun habe?

      posted in ioBroker Allgemein
      J
      joerg66
    • RE: [gelöst] telegram -> text2command mit Parameter

      Ich habe es jetzt so hinbekommen, wie ich mir das vorgestellt hatte:

      on ({id: "telegram.0.communicate.request",  change:  "any"}, Jalousie);
          function Jalousie(){
              var Ausgabe = getState("telegram.0.communicate.request").val;
              Ausgabe = Ausgabe.split(" ");
              var Fenster = Ausgabe[0].substring(4);
              var Prozent = Ausgabe[1];
              if(Fenster == "wzf") //Wohnzimmerfenster
              {
                  setState("hm-rpc.0.NEQ00xxxxx.1.LEVEL"/*Jalousie Wohnzimmerfenster.LEVEL*/, Prozent);
              }
              else if(Fenster == "wzt") //Wohnzimmerterasse
              {
                  setState("hm-rpc.0.NEQ00xxxxx.1.LEVEL"/*Jalousie Terrassentuer.LEVEL*/, Prozent);
              }
      }
      

      Sende ich z.B. "wzt 50" (ohne Anführungszeichen), wird die Jalousie der Terassentür auf 50% gefahren.

      Das klappt also einwandfrei.

      Was mich jetzt noch nervt ist die Antwort die ich bekomme: Ich verstehe "wzt 50" nicht

      wie bekomme ich das weg? Diese Frage habe ich im Forum gefunden, aber keine Antwort darauf

      posted in ioBroker Allgemein
      J
      joerg66
    • RE: [gelöst] telegram -> text2command mit Parameter

      Vielen Dank!

      Aber das Menü habe ich 1x bekommen, als ich das Script gespeichert habe. Sende ich "Licht", kommt die Antwort "Licht verstehe ich nicht".

      posted in ioBroker Allgemein
      J
      joerg66
    • [gelöst] telegram -> text2command mit Parameter

      Hallo,

      nach erfolgloser Suche (mein Englisch ist sehr schlecht :-)) muß ich leider hier fragen.

      Und zwar möcht ich per Telegram einen Text senden: "wohnzimmerfenster 20"

      und möchte damit die Jalousie auf 20% fahren.

      Mit "Schalte irgendwas an oder aus" und einem festen Parameter komme ich klar.

      Wie "Schalte an oder aus mit Function" funktioniert ist mir ein Rätsel, weil ich gar keine Funktion auswählen kann -Wenn denn mit Funktion ein Script gemeint ist :oops:

      Ich möchte "wohnzimmerfenster 20" senden, wobei die 20 variabel sein soll und ich so die Behanghöhe einstellen kann. Geht das irgendwie?

      Gruß Jörg

      posted in ioBroker Allgemein
      J
      joerg66
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo