NEWS
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
-
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
-
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.
-
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
-
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.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden