Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Serielle Daten sortieren und trennen + Speichern für VIS2

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    826

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Serielle Daten sortieren und trennen + Speichern für VIS2

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
4 Beiträge 2 Kommentatoren 126 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • ? Offline
    ? Offline
    Ein ehemaliger Benutzer
    schrieb am zuletzt editiert von Homoran
    #1

    Hallo ihr fleißigen Bastler.

    Ich habe schon eine Weile mit Arduino zutun und besitze selber ein kleines Netzwerk wo sich Arduinos über seriell Daten austauschen das funktioniere so lang ganz gut.
    Jetzt möchte ich gerne die Daten welche seriell in einen Arduino Due gesammelt und verarbeitet werden im IObroker einbinden.

    Damit möchte ich nur erreichen, dass die werte Sortiert und weiter verarbeitbar im IObroker auftauchen um sie in VIS2 anzeigen zu lassen.

    Sende Beispiel vom Arduino:

    float WERTA =(12.3);
    int WERTB =(456);
    
    void setup() {
      Serial.begin(115200);
    }
    
    void loop() {
      delay(3000);               Test Wartezeit
      Serial.print(F("$A"));     $ = Übertragungsstart    A ist wert Zuordnung welcher wert es ist. ZB Ob Volt Oder Temperatur
      Serial.print(WERTA);	     Int oder float werte
      Serial.print("/");	     / Ist übertragungsende.
      delay(3000);		     Test Wartezeit
      Serial.print(F("$B")); 
      Serial.print(WERTB);
      Serial.print("/");
    }
    

    Der unterbau/Server ist Ubuntu und die Daten kommen über USB seriell Adapter rein.
    Ein empfangen der daten und anzeigen mit debug in Node-RED habe ich schon hinbekommen.

    12.1.2025, 12:02:33node: debug 1
    msg.payload : string[6]
    "$B456/"
    12.1.2025, 12:02:36node: debug 1
    msg.payload : string[8]
    "$A12.30/"
    

    MOD-EDIT: Code in code-tags gesetzt!

    Aber leider habe ich Keine Ahnung wie ich hier die werte Trennen und Sortieren kann oder gar wie ich sie abspeichern/Ablegen kann.

    Ich würde mich sehr über Hilfe dazu Freuen.
    Vielen lieben Dank.

    HomoranH 1 Antwort Letzte Antwort
    0
    • ? Ein ehemaliger Benutzer

      Hallo ihr fleißigen Bastler.

      Ich habe schon eine Weile mit Arduino zutun und besitze selber ein kleines Netzwerk wo sich Arduinos über seriell Daten austauschen das funktioniere so lang ganz gut.
      Jetzt möchte ich gerne die Daten welche seriell in einen Arduino Due gesammelt und verarbeitet werden im IObroker einbinden.

      Damit möchte ich nur erreichen, dass die werte Sortiert und weiter verarbeitbar im IObroker auftauchen um sie in VIS2 anzeigen zu lassen.

      Sende Beispiel vom Arduino:

      float WERTA =(12.3);
      int WERTB =(456);
      
      void setup() {
        Serial.begin(115200);
      }
      
      void loop() {
        delay(3000);               Test Wartezeit
        Serial.print(F("$A"));     $ = Übertragungsstart    A ist wert Zuordnung welcher wert es ist. ZB Ob Volt Oder Temperatur
        Serial.print(WERTA);	     Int oder float werte
        Serial.print("/");	     / Ist übertragungsende.
        delay(3000);		     Test Wartezeit
        Serial.print(F("$B")); 
        Serial.print(WERTB);
        Serial.print("/");
      }
      

      Der unterbau/Server ist Ubuntu und die Daten kommen über USB seriell Adapter rein.
      Ein empfangen der daten und anzeigen mit debug in Node-RED habe ich schon hinbekommen.

      12.1.2025, 12:02:33node: debug 1
      msg.payload : string[6]
      "$B456/"
      12.1.2025, 12:02:36node: debug 1
      msg.payload : string[8]
      "$A12.30/"
      

      MOD-EDIT: Code in code-tags gesetzt!

      Aber leider habe ich Keine Ahnung wie ich hier die werte Trennen und Sortieren kann oder gar wie ich sie abspeichern/Ablegen kann.

      Ich würde mich sehr über Hilfe dazu Freuen.
      Vielen lieben Dank.

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #2

      @mr-0-durchblick sagte in Serielle Daten sortieren und trennen + Speichern für VIS2:

      mit debug in Node-RED

      sollte der Thread ursprünglich im node-red Unterforum landen?

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      ? 1 Antwort Letzte Antwort
      0
      • HomoranH Homoran

        @mr-0-durchblick sagte in Serielle Daten sortieren und trennen + Speichern für VIS2:

        mit debug in Node-RED

        sollte der Thread ursprünglich im node-red Unterforum landen?

        ? Offline
        ? Offline
        Ein ehemaliger Benutzer
        schrieb am zuletzt editiert von
        #3

        @Homoran
        Vielen dank für dein Nacharbeiten.

        Wo es genau laden sollte weis ich nicht so recht da ich mit iobroker noch keine großen schritte machen konnte.
        Und ich mir nicht sicher bin ob Node-RED das richtige ist oder ob es anderes geht.

        ? 1 Antwort Letzte Antwort
        0
        • ? Ein ehemaliger Benutzer

          @Homoran
          Vielen dank für dein Nacharbeiten.

          Wo es genau laden sollte weis ich nicht so recht da ich mit iobroker noch keine großen schritte machen konnte.
          Und ich mir nicht sicher bin ob Node-RED das richtige ist oder ob es anderes geht.

          ? Offline
          ? Offline
          Ein ehemaliger Benutzer
          schrieb am zuletzt editiert von Ein ehemaliger Benutzer
          #4

          Neuen Wert anlegen.

          Objekte
          0_Userdata / 0 (Rechtsklick) Erstellen > (Anklicken) Neuer Nummern-Zustand Erstellen
          Namen eingeben ( Zb WertA)
          und auf Hinzufügen klicken.

          Dann den neu erstellen Eintrag suchen und Rechts anklicken.
          Bei Rolle von state auf value Ändern und schreiben anklicken.

          Jetzt zu Instanzen navigieren und Node-Red Öffnen (Schrauben schlüssel anklicken)

          Den Haken setzten bei "Verwende den Palettenmanager"
          Dann runter zu "OBJEKTDATEN FÜR DIALOG AKTUALISIEREN" Anklicken.
          (und immer dann, wenn man einen neuen Nummern-Zustand erstellt hat)
          jetzt unten bei speichern klicken.

          So Jetzt Nodered öffnen

          Dann Ganz Oben Rechts auf die 3 Striche Klicken.
          Dann auf Palette verwalten klicken
          jetzt auf Installation klicken.
          In die Suche Serial eingeben schon erscheint als erstes "node-red-node-serialport" Das mit einem Klick auf installieren installieren.
          Und das Fenster wieder schlissen.

          Ganz Links ziemlich in der Mitte taucht jetzt serial in auf das ins Fenster ziehen.

          Doppelt anklicken und bei Namen einen belieben Namen eintragen "zb USB Com1"
          Jetzt hier bei Serial den Com port bei Windows oder den USB-Port bei Linux auswählen.

          Gute Baudraten vorschläge sind:
          für 1 Mhz Controler 4800
          Für 4 MHz Controler (9600 ist meist der Standart) Oder 19200
          Für 8 MHz Controler 9600 / 19200 / 38400
          Für 16 MHZ Ardoinos 9600 / 19200 / 38400 / 76800
          Für Due(84 MHz) ist bei 76,800 schluss(115200 Geht OFT auch noch grade so trotz der -0,9% Fehler.
          Beim ESP8266 mit sein 160MHz ist wohl bei 230000 Baut schluss.

          Nehmt am besten 9600 Oder 19200 Baut und den Rest so lassen.

          Bei Empfang $ herein Schreiben.
          Bei Aufteilung "Anhand Zeichen" Auswählen.
          Im Feld danach kommt ein / Rein OHNE irgendwas.
          Bei Ausgabe "ASCII-Strings" Wählen und dann oben auf das rote Aktualisieren klicken und dann auf Fertig.

          Dann Müsste unter dem Feld vom Serialport ein Grüner Punkt mit dem Hinweis verbunden zu sehen sein.

          Als Nächstes die Funktion "Change" einziehen (Wird dann zu "Setzte MSG.Payload") und verbinden zum Serial Port (Strich ziehen).

          Dann auf "Setze MSG.Payload" Doppelt klicken bei Regeln den Reiter "Setze" zu "Ändere" wechseln.
          Bei Suche nach jetzt ein Startzeichen zb $ (Dollarzeichen) einsetzte OHNE irgendwas anderes.
          Und bei Ersetzte durch Freilassen. Danach unten auf Hinzufügen klicken.
          Auch hier das Setze wieder durch Ändere wechseln und anstelle von $ jetzt ein / (Groß 7) Eingeben und auf Fertig klicken.

          Wozu das ganze?
          Na ja das $ ist das Startzeichen (Übertragung begingt damit) und mit / wird übertragen, dass der wert vollständig ist (Ende erreicht.
          Sollte Eins, der beiden fehlen ist die Übertragung fehlerhaft und es kann kein Anfang / Ende zugeordnet werden.

          Als Nächstes erfolgt die Auswertung um welchen wert es genau geht
          da die Übertragungen in meinem Beispiel $A123.45/ (Wert 1) Und $B67/ (Wert 2) Sind müssen die werte auch passend zugeordnet werden und das kommt jetzt.
          Mit der Switch Funktion besagte Funktion wieder ins Fenster hereinziehen und doppelt anklicken.
          Einen Namen Vergeben "Zb WertA"
          Bei Regeln muss jetzt aber von == (Entspricht) zu "Enthält" Gewechselt werden.
          Im Nächsten Feld muss jetzt das A wieder ohne alles gesetzt werden. Damit wird ab jetzt sortiert das hier nur werte mit Axxx durch Kommen.
          Und für B halt B oder C oder andere Buchstaben einsetzten (Sonderzeichen sind ungetestet) aber Groß 26 + Klein 26 sind schon 52 Unterscheidungen (52 werte) für den Anfang sollte das reichen.
          Als Nächstes Muss der Zuordnungsbuchstabe A verschwinden das geht wieder mit der Funktion change.

          Also ein letztes Mal die Change Funktion hereinziehen und doppelt klicken.
          Den Reiter Setze wieder auf enthält, setzten und im Feld danach das A (Wird jetzt gelöscht) setzten und auf fertig klicken.
          Um den Anfangs-Erstellten zustand (wertA) jetzt auch im IObroker zu speichern muss die Funktion ioBroker Out noch hereingezogen werden.
          Hier muss man jetzt nur noch das ziel aussuchen.
          Also bei Topic auf die 3 kleinen punkte klicken.
          Dann bei 0_Userdata.0 den Anfangs-Erstellten wert "WertA" anklicken und mit select übernehmen.
          Auch hier wieder einen Namen eingeben (ist nur zur Zuordnung bei vielen werten)
          bei Type noch auf value ändern und auf Fertig klicken.

          Dann noch oben rechts auf Übername (Deploy) klicken und die werte sollten hereinkommen.

          Wie jetzt allerdings die werte in Vis 2 Als werte und nicht als NaN anzeigbar sind, muss ich noch herausfinden Aber das ist ein anderes Problem.

          Und wie immer wer Fehler findet, darf sie behalten :-)

          Die Anleitung ist wohl eher was für totale Anfänger (Wie mich) und sollte ich auch nur einen andern damit geholfen haben, war es das Schreiben/Beschreiben und die 2 Stunden schon wert.werte Speichern.png Werte Übertragen in NODE.png Unbenannt.png

          1 Antwort Letzte Antwort
          0
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate
          FAQ Cloud / IOT
          HowTo: Node.js-Update
          HowTo: Backup/Restore
          Downloads
          BLOG

          664

          Online

          32.6k

          Benutzer

          82.1k

          Themen

          1.3m

          Beiträge
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Anmelden

          • Du hast noch kein Konto? Registrieren

          • Anmelden oder registrieren, um zu suchen
          • Erster Beitrag
            Letzter Beitrag
          0
          • Home
          • Aktuell
          • Tags
          • Ungelesen 0
          • Kategorien
          • Unreplied
          • Beliebt
          • GitHub
          • Docu
          • Hilfe