Navigation

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

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    L
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 6
    • Best 0
    • Groups 0

    lt1014

    @lt1014

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

    lt1014 Follow

    Latest posts made by lt1014

    • RE: Auswertung in Blockly

      Danke AlCalzone du hast mir sehr geholfen. Mit Hilfe deines Beispielcodes bin ich weitergekommen.

      posted in Skripten / Logik
      L
      lt1014
    • RE: Auswertung in Blockly

      @AlCalzone:

      Sowas geht in JS am einfachsten per RegExp, ich fürchte dazu musst du dich von Blockly verabschieden. Als alter C-Hase dürfte das aber kein Problem sein: `

      Schade, gerade wegen Blockly hatte ich vor auf den ioBroker umzusteigen. Da ich auf meine alten Tage weder Zeit noch Lust habe mich in JS einzuarbeiten wars das dann auch mit dem ioBroker.

      Ich bin davon ausgegangen, dass Blockly etwas mächtiger ist und man solche einfachen Stringvergleiche auch umsetzen kann.

      Da werd ich dann doch bei fhem bleiben.

      Danke und Gruß

      Willi

      posted in Skripten / Logik
      L
      lt1014
    • RE: Auswertung in Blockly

      @bassface:

      du willst hier auf den direkten Input des RFlinks zugreifen oder? `
      Ja wieso, geht das nicht?
      @bassface:

      Wurden dir unter Objekte keine Objekte für die Sensoren angelegt auf die du zugreifen kannst? `
      Nein nur die raw Daten ändern sich und zeigen sinnvolle Werte.

      Es gibt da noch ein "BrelMotor 1 Blind 61" das steht aber immer auf "false"

      Gruß

      Willi

      posted in Skripten / Logik
      L
      lt1014
    • Auswertung in Blockly

      Hi,

      ich habe eine rflink instanz die mir von einem 433MHz sender folgendes liefert:

      raw rx data : state : "20;25;BrelMotor;ID=e30417;SWITCH=31;CMD=UP;"

      raw rx data : state : "20;29;BrelMotor;ID=182074;SWITCH=63;CMD=DOWN;"

      Ich möchte diesen string auswerten und darauf reagieren.

      In C würde ich das in etwa so machen:

      parser(state); // erstellt die struktur state
      
      if(!strcmp(state.ID,"e30417") && !strcmp(state.CMD,"UP"))
        rollo_auf();
      
      if(!strcmp(state.ID,"e30417") && !strcmp(state.CMD,"DOWN"))
        rollo_ab();
      
      

      Kann mir bitte mal jemand helfen, wie ich das mit Blockly umsetzen kann ich habe absolut keinen Plan.

      Vielen Dank dafür

      Willi

      posted in Skripten / Logik
      L
      lt1014
    • RE: Http request

      ESPEasy kann ich nicht verwenden. Es geht nicht nur um ein/aus schalten. Der ESP steuert die Rollos über ein proprietäres serielles Protokoll an.

      Ja, alles grün.

      Der Trigger wird ausgeführt. Ich hab testweise noch einen Variable in Fhem (läuft auf einem anderen Raspberry) ändern lassen, das hat funktioniert.

      Auch habe ich mal in "request" die URL vom PC zum "Packet Sender" eingegeben, dort ist es dann auch angekommen:

      Time: 7:48:56.673
      TO: You:1313
      From: 192.168.178.65:38246
      Method: TCP
      Error:
      
      ASCII:
      GET /msg?msg=S HTTP/1.1\r\nhost: 192.168.178.37:1313\r\nauthorization: 
      Basic YWRtaW46MTcwNzYx\r\nConnection: close\r\n\r\n
      
      HEX:
      47 45 54 20 2F 6D 73 67 3F 6D 73 67 3D 53 20 48 54 54 50 2F 31 2E 31 0D 0A 68 6F 73 74 3A 20 31 39 32 2E 31 36 38 2E 31 37 38 2E 33 37 3A 31 33
      31 33 0D 0A 61 75 74 68 6F 72 69 7A 61 74 69 6F 6E 3A 20 42 61 73 69 63
      20 59 57 52 74 61 57 34 36 4D 54 63 77 4E 7A 59 78 0D 0A 43 6F 6E 6E 65
      63 74 69 6F 6E 3A 20 63 6C 6F 73 65 0D 0A 0D 0A
      
      

      hier zum Vergleich die "Umleitung" wie sie von Fhem kommt und funktioniert:

      Time: 7:43:07.366
      TO: You:1313
      From: 192.168.178.25:59312
      Method: TCP
      Error:
      
      ASCII:
      GET /msg?msg=S HTTP/1.0\r\nHost: 192.168.178.37:1313\r\nUser-Agent: 
      fhem\r\nAuthorization: Basic YWRtaW46MTcwNzYx\r\n\r\n
      
      HEX:
      47 45 54 20 2F 6D 73 67 3F 6D 73 67 3D 53 20 48 54 54 50 2F 31 2E 30 0D 0A 48 6F 73 74 3A 20 31 39 32 2E 31 36 38 2E 31 37 38 2E 33 37 3A 31 33
      31 33 0D 0A 55 73 65 72 2D 41 67 65 6E 74 3A 20 66 68 65 6D 0D 0A 41 75
      74 68 6F 72 69 7A 61 74 69 6F 6E 3A 20 42 61 73 69 63 20 59 57 52 74 61
      57 34 36 4D 54 63 77 4E 7A 59 78 0D 0A 0D 0A
      
      

      Kann es sein, weil im ersten Fall "Connection: close" mitgesendet wird?

      Wie kann man das verhindern?

      Gruß

      Willi

      posted in Skripten / Logik
      L
      lt1014
    • Http request

      Hallo mein Name ist Willi, bin Anfänger und ich habe ein Problem.

      Ich programmiere normalerweise in C. Perl, Java und Blockly sind nicht so meine Welt.

      Ich habe schon seit langem ein Eigenbau-Interface für Rollos mit einem ESP8266 in Betrieb das so mit Fhem super läuft.

      Jetzt möchte ich das in iobroker umsetzen.

      In Fhem kann ich den Rollo z.B. mit {velux("0Z")} schließen.

      Ich habe eine Perl Funktion in 99_myUtils.pm erstellt, die das macht:

      sub velux($)

      {

      my ($cmd) = @_;

      my $s1;

      $s1 = join "", "http://user:passwort%5C@192.168.178.55/msg?msg=", $cmd;

      GetFileFromURL($s1);

      }

      Auch durch Eingabe im Browser von:

      http://user:passwort@192.168.178.55/msg?msg=0Z

      funktioniert das einwandfrei.

      Jetzt habe ich in iobroker ein Blockly script erzeugt.

      Hier soll testweise auf eine Aktualisierung der Fhem-Variable "testvar" reagiert werden. Was auch passiert.

      Benutzt habe ich die "Aktion" "request" und die URL "http://user:passwort@192.168.178.55/msg?msg=0Z" eingetragen.

      Hier der erzeugte code:

      on({id: 'fhem.0.testvar.state', change: "any"}, function (obj) {

      var value = obj.state.val;

      var oldValue = obj.oldState.val;

      try {

      require("request")('http://user:passwort@192.168.178.55/msg?msg=0Z').on("error", function (e) {console.error(e);});

      } catch (e) { console.error(e); }

      });

      Aber nichts geschieht.

      Kann mir bitte jemand einen Tipp geben, woran das liegt. Ich probiere nun schon seit Tagen, aber ohne Erfolg.

      Ich dachte der Eintrag bei "URL" in "request" führt zum gleiche Ergebnis wie in Fhem oder im Browser, aber so ist das wohl nicht.

      Hier noch ein paar Daten:

      iobroker läuft auf Raspberry 3B

      Versionen:

      user: 3.4.7

      fhem: 0.5.0

      node: 8.11.1

      npm: 5.8.0

      Danke und viele Grüße

      Willi

      posted in Skripten / Logik
      L
      lt1014
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo