Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Auswertung in Blockly

    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

    Auswertung in Blockly

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

      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

      1 Reply Last reply Reply Quote 0
      • B
        bassface last edited by

        Moin Willi,

        du willst hier auf den direkten Input des RFlinks zugreifen oder?

        Wurden dir unter Objekte keine Objekte für die Sensoren angelegt auf die du zugreifen kannst?

        1 Reply Last reply Reply Quote 0
        • L
          lt1014 last edited by

          @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

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

            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:

            // Auf Änderungen reagieren
            on("id-des-state", (obj) => {
            	const value = obj.state.val;
            	if (/ID=e30417/.test(value) && /CMD=UP/.test(value)) {
            		// rollo auf 
            		setState("id-des-rollos", 100 /* oder korrekten Wert für auf */);
            	} else if (/ID=e30417/.test(value) && /CMD=DOWN/.test(value)) {
            		// rollo zu
            		setState("id-des-rollos", 0 /* oder korrekten Wert für zu */);
            	}
            });
            
            

            Wie du jetzt rollo auf und zu realisierst, hängt vom Rollo und dessen Ansteuerung ab.

            1 Reply Last reply Reply Quote 0
            • L
              lt1014 last edited by

              @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

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

                @lt1014:

                Ich bin davon ausgegangen, dass Blockly etwas mächtiger ist und man solche einfachen Stringvergleiche auch umsetzen kann. `
                Einfache Stringvergleiche gehen, du musst die interessanten Parts jedoch aus deinem Gesamtstring extrahieren. Und eine allgemeingültige Lösung á là RegExp existiert hier jedoch nicht.

                1 Reply Last reply Reply Quote 0
                • L
                  lt1014 last edited by

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

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  788
                  Online

                  31.7k
                  Users

                  79.9k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  797
                  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