Hilfe zur RS485 Extension

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • ThePhantom79
    LoxBus Spammer
    • 27.10.2015
    • 250

    #1

    Hilfe zur RS485 Extension

    Hallo,

    ich habe nun endlich eine Loxone RS485 Extension. Mein Ziel ist es, damit meine Saunasteuerung mit RS485 Anbindung abzufragen und auch aus der Ferne einzustellen.

    Leider mangelt es mir so sehr an Erfahrung, dass ich nicht mal weiß. wo ich ansetzen soll.

    Ich habe die Extension inzwischen erfolgreich Verkabeln und in das Projekt bringen können (Extension online, blinkt grün) und auch schon an die Saunasteuerung angeschlossen.

    Was ich von Loxoneseite aus machen kann: Sensoren und Aktoren anlegen ...
    Was ich von der Saunasteuerung laut Handbuch bekomme: Einfache Befehle zum Werte auslesen oder senden. Diese sind einzeln dokumentiert. Beispiel: Um die Solltemperatur abzufragen: "get sauna val" - als Antwort kommt dann wohl als Beispiel "sauna 70 C;"

    Nur wie bekomme ich das nun zusammen ? Um einen Wert abzufragen, verwende ich eigentlich ja einen Sensor, aber wo kann ich den Befehl eingeben?
    Und wie schreibe ich einen Wert? Mit einem Aktor? Wo kann ich die Bestätigung zu dem Schreibbefehl abrufen?

    Irgendwie verstehe ich den Zusammenhang so rein gar nicht ...

    Die Verbindungsgeschwindigkeit habe ich übrigens schon eingestellt (57000 Baud, 8 Daten Bits, 1 Stop Bit).

    Gruß
    Chris

  • ThePhantom79
    LoxBus Spammer
    • 27.10.2015
    • 250

    #2
    Hallo nochmal,

    ich habe nun mit vielen Ausprobieren die grundlegende Funktionsweise wohl verstanden:

    Ich habe für jeden Wert, den ich auslesen oder setzen möchte einen Aktor angelegt, den ich dann mit irgendwas ansteuere. Mittels des Monitors sehe ich auch, dass die BEfehle so gesendet werden, wie sie sollen, und die Saunastauerung tatsächlich auch so antwortet, wie dokumentiert.
    Nun versuche ich, die Antworten mittels eines RS485 Sensors "abzufangen" - der Sensor reagiert aber leider überhaut nicht. Nur warum?
    Anbei meine Config - mittels der Befehlserkennung "\v" sollte er eigentlich einfach die Antwort der Saunasteuerung übernehmen. Wo ist mein Denkfehler?

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: RS485-Sensor.JPG
Ansichten: 983
Größe: 167,8 KB
ID: 118678

    Angehängte Dateien

    Kommentar

    • Gast

      #3
      Hallo Phantom,

      obwohl das Thema schon ziemlich alt ist und ich gerade das selbe Problem hatte wollte ich für andere User mal meine Lösung für dein Problem zur Verfügung stellen.
      Bei der Befehlserkennung muss man zuerst unterscheiden was eingelesen werden soll.
      In deinem Fall hast du den Sauna Status abgefragt und "SAUNA off" retour bekommen.
      Bei der Befehlserkennung habe ich "on" und "off" separat als Digitaleingang abgefragt. Dazu muss man "SAUNA on" bzw "SAUNA off" in hex umwandeln.
      Dazu findet man online Übersetzer.
      SAUNA on = 53 41 55 4e 41 20 6f 6e
      SAUNA off = 53 41 55 4e 41 20 6f 66 66
      In der Befehlserkennung muss man hier noch jeweils"\x" voranstellen
      SAUNA on = \x53\x41\x55\x4e\x41\x20\x6f\x6e
      SAUNA off = \x53\x41\x55\x4e\x41\x20\x6f\x66\x66


      Wenn diese Befehle erkannt werden, dann schaltet der Digitalausgang von 0 auf 1.
      Für die Visualisierung habe ich die zweit Digitaleingänge auf einen Impulsschalter zusammengeführt und von da weiter auf einen virtuellen Status welchen ich in der Visu verwende.


      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: Befehlserkennung.JPG
Ansichten: 988
Größe: 45,5 KB
ID: 291605

      Wenn ein Wert ausgelesen werden soll, dann sieht die Befehlserkennung geringfügig anders aus. Hier muss der Analogeingang verwendet werden (Haken bei "als Digitaleingang verwenden" abwählen)
      Wenn zb. "get Sauna val" mit einem Aktor an die Steuerung gesendet wird, dann kommt "SAUNA 110C" retour.
      Hier habe ich "SAUNA" wieder in hex umgewandelt
      SAUNA = 53 41 55 4e 41
      Dann wieder "\x" voranstellen
      SAUNA = \x53\x41\x55\x4e\x41
      Da der anschließende Wert ausgelesen werden soll muss "\v" noch hinzugefügt werden.

      Die fertige Befehlserkennung sieht dann so aus:
      \x53\x41\x55\x4e\x41\v
      Dadurch wird dann der Temperaturwert am Analogausgang ausgegeben.

      LG, Serjoe

      Kommentar

      • ThePhantom79
        LoxBus Spammer
        • 27.10.2015
        • 250

        #4
        Hi, danke für die Lösung ..
        Ich habe nun auch schon Jahre am laufen, allerdings etwas anders ... Mich wunder, dass du das in Hex realisiert. Bei mir funktioniert das fast im Klartext. Ich nutze zudem den Saunabaustein von Loxone.

        Klicke auf die Grafik für eine vergrößerte Ansicht  Name: Saunasteuerung.JPG Ansichten: 0 Größe: 88,7 KB ID: 291619 Ich schicke in die Eingänge die Temperaturen meiner zwei Temp-Sensoren, und frage sie von der Steuerung sehr einfach ab:

        Code:
        \TEMP-BENCH \v
        für die Bank,
        Code:
        \TEMP-HEATER \v
        über dem Ofen (als RS485 Sensor).
        Am Ausgang AQs gebe ich die in der LoxoneSteuerung eingegene Temperfatur an die echte Saunasteuerung weiter (über einen RS485 Aktor):
        Code:
        set sauna val <v>\r
        Über den Qa Ausgang, schalte ich die Sauna letztendlich ein oder aus - und starte die regelmäßigen Temperaturabfragen (die Abfragen - was eigentlich nur Auslesen nach einem bestimmten String ist, und keine aktive Abfrage darstellt) an den Eingängen funktionieren nämlich NUR, wenn auch eine Anfrage vorab gesendet wurde. Die Temp-Abfragen sehen so aus (wieder als RS485 Aktor):
        Code:
        get temp-heater val\r
        Code:
        get temp-bench val\r
        Zusätzlich zur Sicherheit schalte ich an Qa noch einen Schütz, der mir die gesamte Steuerung (und den Ofen) vom Strom nimmt, und frage am Eingang noch die Saunatür ab ...

        Falls noch Fragen sind, einfach fragen ...

        P.S.: Der einzige Schönheitsfehler in dieser Programmierung ist, dass beim Einschalten noch kurz die Temperatur vom letzten Abschalten angezeigt wird (also Sauna-Betriebstemperatur). Das passiert so lange, bis der erste aktuelle Wert gelesen wurde. War bisher zu faul, das auszubügeln :-)
        Angehängte Dateien
        Zuletzt geändert von ThePhantom79; 15.02.2021, 20:45.

        Kommentar

        • roman
          Smart Home'r
          • 21.09.2022
          • 39

          #5
          Hallo ThePhantom79, Gast , seid ihr hier noch aktiv?
          Ich kämpfe auch gerade mit der Integration meiner Sentiotec Saunasteuerung.
          Mein Problem ist, dass ich keine Antworten von der Sauna sehen.

          Aktuell habe ich folgendes gemacht:

          Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 678
Größe: 19,4 KB
ID: 358225 Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 549
Größe: 18,0 KB
ID: 358226

          Das sehe ich im Monitor:

          Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 652
Größe: 9,2 KB
ID: 358227
          Hat bei euch die Kommunikation gleich geklappt?
          habt ihr evtl. Tips zum Debuggen?

          ​​

          Kommentar

          • hismastersvoice
            Supermoderator
            • 25.08.2015
            • 7318

            #6
            Habe gerade kurz in die Beschreibung geschaut, so weit ist alles richtig was du gemacht hast.
            Die Antwort kommt sofort nach dem senden wenn ein Befehl ausgeführt wird.

            Bist du sicher das die Verkabelung stimmt? Schon mal RX/TX gedreht?
            Bei manchen Geräten ist es so das man das drehen muss.
            Kein Support per PN!

            Kommentar

            • roman
              Smart Home'r
              • 21.09.2022
              • 39

              #7
              Das wars leider noch nicht.

              Wo hast du den Widerstand montiert?

              Ich habe ihn hier:

              Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 549
Größe: 354,9 KB
ID: 358236

              Kommentar

              • hismastersvoice
                Supermoderator
                • 25.08.2015
                • 7318

                #8
                120 Ohm am Ende des Strang.
                Wenn du aber direkt von Ext zur Steuerung fährst kannst ihn auch weg lassen, geht trotzdem.

                Versuch mal ohne...
                Kein Support per PN!

                Kommentar

                • Martin1234
                  LoxBus Spammer
                  • 18.01.2020
                  • 288

                  #9
                  Ich habe auch keinen Widerstand am Ende des Buses. Ist angeblich bei der lächerlichen Geschwindigkeit von 9600 Baud und 30m Länge überhaupt nicht notwendig.

                  Kommentar

                  • roman
                    Smart Home'r
                    • 21.09.2022
                    • 39

                    #10
                    Tja, die Lösung ist oft so einfach. Das Netzwerkkabel hatte wohl ein Problem. Mit einem anderen funktionierts problemlos. Vielen Dank für eure Hilfe!!

                    Kommentar

                    • roman
                      Smart Home'r
                      • 21.09.2022
                      • 39

                      #11
                      Nachdem die Kommunikation mit meiner Sauna nun funktioniert, hätte ich doch noch eine Inhaltliche Frage.

                      Wie unterscheidet ihr den zwischen Soll-Temperatur und Sauna on/off?

                      Sauna on/off ist ja eindeutig.

                      Aber wie macht ihr das bei der Soll-Temperatur?
                      Da kommt: SAUNA 90C ;

                      Wenn ich nun das abfrage: "\SAUNA \v" wird auch zb. "SAUNA on" erkannt und auf 0 gesetzt.

                      Kommentar


                      • hismastersvoice
                        hismastersvoice kommentierte
                        Kommentar bearbeiten
                        Du kennst aber schon den Unterschied zwischen Aktor und Sensor?
                        Abfragen von Werten = Sensor
                        Setzen von Werten = Aktor

                        In deinem Fall ist get Befehle in der Beschreibung ein Sensor und set Befehle ein Aktor.


                        Sauna
                        set sauna on/off -- schaltet den Saunaofen ein/aus
                        set sauna val 30-110 -- stellt als Soll-Temperatur den gewählten Wert zwischen 30 und 110 °C ein
                        get sauna -- fragt den Sauna-Status (on/off) ab
                        get sauna val -- fragt die eingestellte Soll-Temperatur ab
                    • roman
                      Smart Home'r
                      • 21.09.2022
                      • 39

                      #12
                      Die Abfrage ist mir klar. Funktioniert auch fein. Ich habe Sensoren für on und Off und eben auch der Soll Temperatur.
                      Nur wie kann der Soll Temperatur Sensor zwischen "Sauna on" und "Sauna 90c" unterscheiden.
                      Die Syntax sieht für ihn gleich aus. Zumindest wenn ich so Anfrage: \SAUNA \v

                      Kommentar


                      • hismastersvoice
                        hismastersvoice kommentierte
                        Kommentar bearbeiten
                        Steht doch da...
                        set sauna val 30-110
                        set sauna val \v
                    • roman
                      Smart Home'r
                      • 21.09.2022
                      • 39

                      #13
                      Es geht nicht um set. Es gut um das einlesen des Wertes vom Bus. Um den sensor

                      Kommentar

                      • roman
                        Smart Home'r
                        • 21.09.2022
                        • 39

                        #14
                        Hier noch Screenshots um mein Problem besser zu beschreiben.

                        Der Sensor für SOLL-Tempteratur

                        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 646
Größe: 15,0 KB
ID: 358403

                        Der Sensor für Sauna off

                        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 510
Größe: 14,1 KB
ID: 358404

                        Im Monitor sieht man sehr gut, dass der Soll-Temperatur Sensor auch bei "SAUNA on" reagiert und den Wert auf 0 setzt:

                        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 602
Größe: 3,0 KB
ID: 358405

                        Ist natürlich verständlich wenn die Sauna für 2 unterschiedliche Events das gleiche Pattern verwendet :-(
                        Wie habt ihr das gelöst?

                        Kommentar

                        • roman
                          Smart Home'r
                          • 21.09.2022
                          • 39

                          #15
                          Hat keiner eine Lösung?

                          Kommentar

                          Lädt...