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. Skripten / Logik
  4. Script zum auslesen eines C.M.I von TA UVR1611

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Script zum auslesen eines C.M.I von TA UVR1611

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
78 Beiträge 25 Kommentatoren 24.2k Aufrufe 8 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.
  • K Offline
    K Offline
    Klausi
    schrieb am zuletzt editiert von
    #6

    Hallo Sineos,

    erstmal vielen Dank für deinen tollen Beitrag zur Übertragung der UVR-Daten mittel Can- und Modbus.

    Derzeit habe ich damit nur ein Problem:

    Wenn ich Werte von iobroker zur UVR übertrage werden nur Integerzahlen zum Modbuseingang der UVR weitergeben.

    Das Objekt in Iobroker (erstellt im Modbusadapter dort : input Registers ) zeigt eine Real-Zahl an.

    Ich habe schon einige Einstellungen versucht, leider ohne Erfolg.

    Derzeitige Einstellung: Signed 16Bit Big Endian im Modbusein- und ausgang .

    In der UVR : Modbuseingang: Funktion 04

    Vielleicht kannst du einen Tip geben?

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      Sineos
      schrieb am zuletzt editiert von
      #7

      @Klausi:

      Wenn ich Werte von iobroker zur UVR übertrage werden nur Integerzahlen zum Modbuseingang der UVR weitergeben.

      Das Objekt in Iobroker (erstellt im Modbusadapter dort : input Registers ) zeigt eine Real-Zahl an. `

      Das liegt an der eigenwilligen Art der UVR mit Größen und Einheiten umzugehen. Über den Bus und, nach meinem Eindruck, auch intern arbeitet die UVR nur mit Integer Zahlen und erst in Kombination mit einer Einheit wird das ganze zu einer Float.

      So hat z.B. die Einheit Temperatur 1 Dezimalstelle, Leistung (kW) 2 Dezimalstellen usw. Ich hab mal für ein JS-Script die Anzahl Stellen rausgesucht:

        var MeasurementMapping = {
          '0': {
            Name: 'None',
            Unit: 'None',
            Decimals: 0
          },
          '1': {
            Name: 'Temperature',
            Unit: '°C',
            Decimals: 1
          },
          '2': {
            Name: 'Global Radiation',
            Unit: 'W/m²',
            Decimals: 0
          },
          '3': {
            Name: 'FlowRate',
            Unit: 'l/h',
            Decimals: 0
          },
          '4': {
            Name: 'Time',
            Unit: 's',
            Decimals: 0
          },
          '5': {
            Name: 'Time',
            Unit: 'min',
            Decimals: 0
          },
          '8': {
            Name: 'Percent',
            Unit: '%',
            Decimals: 1
          },
          '10': {
            Name: 'Power',
            Unit: 'kW',
            Decimals: 2
          },
          '11': {
            Name: 'Power Consumption',
            Unit: 'kWh',
            Decimals: 1
          },
          '12': {
            Name: 'Power Consumption',
            Unit: 'MWh',
            Decimals: 0
          },
          '13': {
            Name: 'Voltage',
            Unit: 'V',
            Decimals: 2
          },
          '14': {
            Name: 'Current',
            Unit: 'mA',
            Decimals: 1
          },
          '15': {
            Name: 'Time',
            Unit: 'h',
            Decimals: 0
          },
          '16': {
            Name: 'Time',
            Unit: 'd',
            Decimals: 0
          },
          '17': {
            Name: 'Pulse',
            Unit: 'None',
            Decimals: 0
          },
          '18': {
            Name: 'Resistance',
            Unit: 'kOhm',
            Decimals: 2
          },
          '19': {
            Name: 'Volume',
            Unit: 'l',
            Decimals: 0
          },
          '20': {
            Name: 'Speed',
            Unit: 'km/h',
            Decimals: 0
          },
          '22': {
            Name: 'FlowRate',
            Unit: 'l/min',
            Decimals: 0
          },
          '23': {
            Name: 'Pressure',
            Unit: 'bar',
            Decimals: 2
          },
          '24': {
            Name: 'Performance Factor',
            Unit: 'None',
            Decimals: 2
          },
          '28': {
            Name: 'Volume',
            Unit: 'm3',
            Decimals: 0
          },
          '35': {
            Name: 'FlowRate',
            Unit: 'l/d',
            Decimals: 0
          },
          '36': {
            Name: 'Speed',
            Unit: 'm/s',
            Decimals: 0
          },
          '37': {
            Name: 'FlowRate',
            Unit: 'm3/min',
            Decimals: 0
          },
          '38': {
            Name: 'FlowRate',
            Unit: 'm3/h',
            Decimals: 0
          },
          '39': {
            Name: 'FlowRate',
            Unit: 'm3/d',
            Decimals: 0
          },
          '50': {
            Name: 'Currency',
            Unit: 'Euro',
            Decimals: 2
          },
          '51': {
            Name: 'Currency',
            Unit: 'USD',
            Decimals: 2
          },
          '52': {
            Name: 'Absolute Humidity',
            Unit: 'g/m3',
            Decimals: 1
          },
          '53': {
            Name: 'None',
            Unit: 'None',
            Decimals: 5
          },
          '54': {
            Name: 'Angle',
            Unit: 'Degree',
            Decimals: 2
          },
          '58': {
            Name: 'None',
            Unit: 'None',
            Decimals: 1
          },
          '63': {
            Name: 'Current',
            Unit: 'A',
            Decimals: 1
          },
          '65': {
            Name: 'Pressure',
            Unit: 'mbar',
            Decimals: 1
          },
          '66': {
            Name: 'Pressure',
            Unit: 'Pa',
            Decimals: 0
          },
          '-1': {
            Name: 'Undefinded',
            Unit: 'None',
            Decimals: 0
          }
        };
      

      Ist aber ein älterer Firmware Stand, ich glaube die haben was geändert.

      Heisst also übersetzt, du musst in der UVR und im CMI die richtige Messgröße einstellen und eine entsprechend skalierte Integerzahl über den Bus schicken. So wird dann aus 227 und der Einheit Temperatur die gewünschten 22,7 °C.

      Im ioBroker Modbus Adapter kann man bei den Registern das Verhalten über den Faktor steuern. So würde hier ein Temperaturwert einen Faktor 10 bekommen. Sprich ein anderer ioBroker Adapter sendet 22,7 °C, der Modbus Adpater skaliert mit 10 (=227) und die UVR macht dann über die eingestellte Einheit wieder 22,7 draus.

      Braucht man eine höhere Genauigkeit, gibt es auch eine dimensionslose Einheit mit 5 Dezimalstellen. Hier wäre entsprechend mit 100.000 zu skalieren.

      1 Antwort Letzte Antwort
      0
      • K Offline
        K Offline
        Klausi
        schrieb am zuletzt editiert von
        #8

        Vielen Dank für die tolle Erklärung.

        Das mit den Messgrößen habe ich damit super hinbekommen.

        Allerdings sieht es derzeit so aus, als würde die CMI das Register des Modbus-Adapters nicht triggern.

        Nur wenn ich den Modbus-Adapter neu starte, bekomme ich neue Werte.

        Meine CMI Einstellung:

        siehe Bild
        6962_download__1_.png

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          Sineos
          schrieb am zuletzt editiert von
          #9

          @Klausi:

          Allerdings sieht es derzeit so aus, als würde die CMI das Register des Modbus-Adapters nicht triggern.

          Nur wenn ich den Modbus-Adapter neu starte, bekomme ich neue Werte. `
          Die Anzeige in den CMI Einstellungen aktualisiert sich nicht freiwillig (zumindest bei mir). Wenn ein neuer Wert gesendet wurde (Intervallzeiten beachten) und man drückt, wie in deinem Screenshot dargestellt, nochmals auf "Speichern" aktualisiert sich der Wert.

          In der UVR sollten die Werte ankommen, also am besten dort testen oder über ein Online-Schema in der CMI.

          1 Antwort Letzte Antwort
          0
          • K Offline
            K Offline
            Klausi
            schrieb am zuletzt editiert von
            #10

            Hallo,

            das sich die Anzeige im CMI nur nach dem Speichern erneut aktualisiert ist klar.

            Leider aktualisiert sich der Wert in der UVR sowie im Onlineschema erst nach Neustart des Modbus-Adapters.

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              Sineos
              schrieb am zuletzt editiert von
              #11

              Sorry für die späte Antwort, ich war geschäftlich unterwegs.

              Kann mir keinen direkten Reim drauf machen, warum es bei dir nicht funktioniert. Läuft bei mir anstandslos mit mehreren Werten. Ich hab mal ein Beispiel von mir angehängt:

              2178_screenshot_20180428-000409.png
              2178_screenshot_20180428-000444.png

              Kann es vielleicht sein, dass du eine hohe "Sendebedingung bei Änderung" hast?

              1 Antwort Letzte Antwort
              0
              • K Offline
                K Offline
                Klausi
                schrieb am zuletzt editiert von
                #12

                Hallo Sineos:

                vielen Dank für deine Mühe.

                Genauso wie in deinen Beispiel habe ich die Einstellungen auch.

                Trotzdem werden ohne periodischen Modbus_Neustart keine Werte in Richtung Modbus (iobroker) und Modbus (UVR1611) aktualisiert.

                Ich habe Werte in sämtlichen Registern getestet – gleiches Ergebnis.

                Ich wollte einen Heizkreis der UVR mittels Raumthermostat der Homematic steurern (Vorlaufsoll).

                Ich muss mir was anderes einfallen lassen.

                Nochmal vielen Dank für die Mühe.

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  Sineos
                  schrieb am zuletzt editiert von
                  #13

                  Vielleicht noch ein paar Ideen:

                  • Ich benutze node-red für die Übertragung an den Modbus Adapter. Siehe Screenshot

                  • Screenshot meines Eingangsregisters

                  • In der CMI Firmware gab es ein paar Bugfixes den Modbus betreffend. Neueste CMI Firmware ist gerade 1.30.2

                  • Ggf. mal den Modbus Adpater auf Debug setzen und schauen ob er auch tatsächlich periodisch neue Werte bekommt

                  • Den Modbus Adpater über die Konsole (nicht in der WebUI) neu installieren und schauen ob diese fehlerfrei durchläuft

                  2178_clipboard03.png
                  2178_clipboard02.png
                  2178_clipboard01.png

                  1 Antwort Letzte Antwort
                  0
                  • K Offline
                    K Offline
                    Klausi
                    schrieb am zuletzt editiert von
                    #14

                    Habe alles durchprobiert.

                    Neuste Firmware auf dem CMI, Modbus Adpater auf Debug gesetzt, Adapter neu installiert über Konsole.

                    Immer das gleiche Ergebnis: in Richtung Iobroker läuft der Modbus; in Richtung CMI leider nicht.

                    Scheint am CMI zu liegen.

                    Nochmal vielen Dank für deine Mühe.

                    Wenn ich dazu komme teste ich es mal über node-red.

                    Grüsse

                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      Sineos
                      schrieb am zuletzt editiert von
                      #15

                      Wenn dein CMI einmalig die Daten nach einem Neustart des Modbus Adapter bekommt, dann glaube ich nicht, dass es am CMI liegt. Auch ist das CMI der Master und sitzt deshalb eigentlich nur faul rum und wartet bis ein Slave sich meldet. Heißt, der Modbus Adapter baut für jeden Wert eine neue Verbindung zum Master auf. Ich denke, das Problem liegt irgendwo in deiner ioBroker Instanz.

                      Du kannst den Modbus auch mit Tools wie z.B. http://www.tuomio.fi/ananas/index.htm testen:

                      2178_clipboard02.png

                      1 Antwort Letzte Antwort
                      0
                      • K Offline
                        K Offline
                        Klausi
                        schrieb am zuletzt editiert von
                        #16

                        Hallo Sineos,

                        vielen Dank für den Tipp mit dem Tool Ananas.

                        An ihm konnte ich erkennen, dass es nicht am CMI liegt.

                        In Ananas wird der Modbus Wert des iobrokers auch nicht aktualisiert.

                        Dies bezieht sich aber nur auf das Input-Register.

                        Die Holdings und Coils werden aktualisiert!

                        Ich kann es mir nicht erklären.

                        Die Werte in den Objekten des Iobroker werden brav aktualisiert und angezeigt.

                        Ich weiss nicht weiter.

                        1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          Sineos
                          schrieb am zuletzt editiert von
                          #17

                          Mir fällt jetzt leider auch nichts mehr ein.

                          Einzig vielleicht auf https://github.com/ioBroker/ioBroker.modbus ein Issue aufmachen mit Referenz zu diesem Thread. Vielleicht können die Entwickler zusätzliche Debug-Ausgaben hinzufügen, um zu sehen wo was falsch läuft.

                          1 Antwort Letzte Antwort
                          0
                          • StabilostickS Offline
                            StabilostickS Offline
                            Stabilostick
                            schrieb am zuletzt editiert von
                            #18

                            Und momentan maximal den Modbus-Adapter in Version 1.1.2 verwenden, da die Slave-Option in 2.x broken ist.

                            1 Antwort Letzte Antwort
                            0
                            • K Offline
                              K Offline
                              Klausi
                              schrieb am zuletzt editiert von
                              #19

                              Lässt sich leider bei mir nicht mehr downgraden..

                              1 Antwort Letzte Antwort
                              0
                              • StabilostickS Offline
                                StabilostickS Offline
                                Stabilostick
                                schrieb am zuletzt editiert von
                                #20

                                Öhm, doch geht. Brauchst Du aber nicht mehr, weil jetzt eine neuere Variante von 2.0.6 auf Github steht. Die neuste Version (immer noch 2.0.6, aber von Bluefox nachgebessert) tut jetzt bei "Slave" was sie soll.

                                Lösung: Die Partner-ID auf 0.0.0.0 stellen oder die IP des ioBroker Servers angeben. Das funktioniert bei mir. Den Rest wie bei 1.1.2 lassen.

                                Nutzt du auch eine UVR? Edit: Dumme Frage ;-)

                                1 Antwort Letzte Antwort
                                0
                                • K Offline
                                  K Offline
                                  Klausi
                                  schrieb am zuletzt editiert von
                                  #21

                                  Vielen Dank für den Hinweis.

                                  Habe es getestet und es läuft mit der IP 0.0.0.0

                                  Ja, ich benutze auch eine UVR1611 und steuere mit dem Modbus Pumpenabschaltungen usw.

                                  1 Antwort Letzte Antwort
                                  0
                                  • K Offline
                                    K Offline
                                    Klausi
                                    schrieb am zuletzt editiert von
                                    #22

                                    Nur sieht es derzeit so aus, als wäre die Logik der coil's umgedreht.

                                    true=false

                                    false=true

                                    1 Antwort Letzte Antwort
                                    0
                                    • StabilostickS Offline
                                      StabilostickS Offline
                                      Stabilostick
                                      schrieb am zuletzt editiert von
                                      #23

                                      Hilfe, was sind Coils? Ich übertrage nur einige analoge Messwerte. Und das klappt.

                                      1 Antwort Letzte Antwort
                                      0
                                      • K Offline
                                        K Offline
                                        Klausi
                                        schrieb am zuletzt editiert von
                                        #24

                                        Das sind die diskreten Ausgänge des Modbus.

                                        Ich benutzte Sie zum Übertragen von Logikwerten.

                                        1 Antwort Letzte Antwort
                                        0
                                        • StabilostickS Offline
                                          StabilostickS Offline
                                          Stabilostick
                                          schrieb am zuletzt editiert von
                                          #25

                                          Kannst Du bitte einige Screenshots machen von den Einstellungen, die Du verwendest, um digitale Werte aus der UVR zu ioBroker zu übertragen und ggf auch zurück? Bei mir steht da z.B. immer 0 im ioBroker, obwohl das CMI am Modbus-Ausgang "Ein" sagt.

                                          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

                                          437

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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