UVR1611 Werte via CMI nach Modbus - CMI zeigt keine UVR Werte

    Du hast Probleme beim Login? Schreibe uns im Forum "Probleme mit der Registrierung".

      • 26

      • # 184839
      @hg6806

      Wie kann man vom CMI Werte per CGI übergeben und in iobroker parsen ?

      Ist es nicht so, dass der Adapter-Parser im iobroker sich die Werte vom CMI über einen request holt ?

      Ich habe beim parser im iobroker das Problem, dass er die Werte nicht aktualisiert.

      Habe vor einigen Wochen mal Werte bekommen, aber die werden nicht mehr aktualisiert.

      Kann dies mit dem Zeitintervall mind. 30 Sek. zusammenhängen ? Wenn der Abfrage-Zeitintervall zu kurz ist, dann bringt er ja die Fehlermeldung "TOO MANY REQUESTS".

      Könntest du mir bitte einen Screenshot von deiner Adapterconfiguration hochladen ?

      Welche RegEx hast du verwendet ?
      Number ?
      Typ ?

      Du hast sicherlich die Doku CMI-JSON-API Vers. 6 verwendet und mit folgendem Beispiel-Request die Werte abgefragt ?
      Beispielabfrage UVR16x2 - KNOTEN2:


      Nun zu deinem Modbus Problem:

      Ich habe eine UVR16x2 und 2 RSM`s, aber ich denke dies müsste bei der alten UVR auch so funktionieren.
      Habe alle meine digitalen Ausgänge und 1 analogen Werte (Testwert) vom CMI durch den Adapter-Modbus in den iobroker bereits übertragen.

      ABLAUF:
      UVR-CAN-AUSGANG (Analog/Digital) - CMI-CAN-EINGANG (Analog/Digital) - CMI-MODBUS-TCP-AUSGANG (Analog/Digital) - IOBROKER-HOLDINGREGISTER (ANALOGE WERTE) oder IOBROKER-DISKRETE-AUSGÄNGE(DIGITALE WERTE)

      IP-ADRESSE: Ist die IP des Raspberry.
      Einstellungen analoge Werte wie im Beitrag 184486, digitale Werte siehe Screenshot.

      Für einen analogen Wert habe ich dies am 23.2.2021 unter dem Artikel 184486 in diesem Thread bereits dokumentiert.
      Files

      Post was edited 1 time, last by GOETSCHHOFER ().

      • 27

      • # 185039
      Da es bei mir jetzt endlich funktioniert, geb ich gerne den Tipp der mir geholfen hat. Schau in die Info zum Modbus Adapter, dort ist das ganze beschrieben.

      Readme Modbus


      Bei mir ist es übrigens so, ich geb im CMI als Adresse 1 ein und es kommt beim HoldingRegister 40000 raus. Liegt an der Verwendung von Aliasen (vermute ich)

      Hier die Screenshots meiner Einstellungen. Anstatt 0.0.0.0 sollte auch die IP des IOBroker oder 127.0.0.1 gehen.
      Files
      • 28

      • # 185101
      Hallo meggle,

      danke für deine Info.

      Ich verstehe dies auch so, möchte es hiermit nochmal in meinen Worten ausdrücken.
      Zumindest hat dies bei mir nach dieser Logik und Vorgehensweise funktioniert und so ist es für mich einfacher anwendbar.

      Jedes Register (Bereich) 1 - 4 im Modbus kann mit der Adresse 0 oder 1 beginnen.
      Damit man die Handhabung und Anwendung in der Praxis erleichtert, hat man eine Zahlenstruktur (Präfix) für die 4 Bereiche eingeführt.

      Wenn man z. b. im CMI (=Master) Modbus TCP-Ausgang als Empfangs-Adresse 1 eingibt, weiß der Anwender oder Leser noch nicht in welches Register dieser Wert zu schreiben ist.
      Daher sollte z. B. im CMI bei einem Temp. Wert als Adressen-Wert 40001 verwendet werden, dann sieht man sofort aufgrund der "Präfix", dass diese Wert in das Holdingregister im iobroker wandern muss, da für Werte für das Holding Register 40.000 und fortlaufend vorgesehen ist.
      Im Holding Register bekommt der Temp. Wert anschließend die gleiche Adresse.

      Ich mache dies zwecks Übersichtlichkeit von Beginn an so.

      Ausgänge habe ich mit 1 und fortlaufend definiert, da coils (Ausgänge) mit 1 in Modbus TCP beginnen und im iobroker unter diskrete Ausgänge (1 und fortlaufend) dargestellt werden.
      Siehe Doku Gliederung unten.
      1. Diskrete Eingänge
      2. Coils (Ausgänge)
      3. Eingangsregister
      4. Halteregister


      @meggle: Hier die Screenshots meiner Einstellungen. Anstatt 0.0.0.0 sollte auch die IP des IOBroker oder 127.0.0.1 gehen.

      Das CMI ist der Master und der iobroker/Adapter der Slave.

      Wenn das CMI der Master ist, muss meines Erachtens im CMI die IP-Adresse des iobroker eingetragen werden, damit der Master die Werte an den Slave (iobroker) senden kann.
      So erkläre ich mir den Eintrag im iobroker unter IP-Adresse mit: 0.0.0.0, da hier die IP-Adresse im Slave keine Funktion hat.

      Ich sende vom CMI unter Modbus TCP-Ausgang auch Digitale Werte (Relais-Schalzustände, Ein-, Aus) an den Smartfox Pro und habe im CMI auch die IP-Adresse des Smartfox Pro eingetragen.
      Zumindest funktioniert es so bei mir.


      Sonnige Grüße


      Karl



      ioBroker.modbus/README.md at master · ioBroker/ioBroker.modbus · GitHub

      Verwenden Sie Aliase als Adresse

      Normalerweise können alle Register Adressen von 0 bis 65535 haben. Mithilfe von Aliasen können Sie virtuelle Adressfelder für jeden Registertyp definieren.
      Normalerweise:
      • Die diskreten Eingänge reichen von 10001 bis 20000
      • Coils (Ausgänge) sind von 1 bis 1000
      • Eingangsregister sind von 30001 bis 40000
      • Halteregister reichen von 40001 bis 60000
      Jeder Alias wird intern der Adresse zugeordnet, z. B. wird 30011 dem Eingangsregister 10 zugeordnet und so weiter.
      • 29

      • # 185894
      Hallo alle zusammen,

      ich stehe auch irgendwie vor einem Fehler...ich bekomme keine Verbindung und das komische ist, ich sehe auch keinen Aktuellen Wert.

      Ich habe mein CMI per DL an einem HZR65 angeschlossen und kann diesen auch ohne Probleme auslesen.

      Wenn ich jetzt über Modbus Ausgänge folgende Einstellungen vornehmen kommt da nichts...

      Eingang : Datenleitung, 1 Kesseltemperatur, Messwert
      IP Adresse : Habe Modbus Poll zum Testen, also meine IP vom PC
      Gerät : 0
      Funktion : 16
      Adresse : 40009 (8)

      Faktor : 0,01 mit allem getestet
      Sendebedingung : 1
      Blockierzeit : 10s
      Intervallzeit : 1

      aktueller Wert 0 ( real wäre hier 77,4 )


      Was mache ich hier Grundsätzlich verkehrt?
      Kommt ein akt. Wert erst, wenn eine Modbus Verbindung aufgebaut ist ?

      Wenn ich mit einem Modbus-Scanner mein Netzwerk durchsuche, bekomme ich auch keine Verbindung zum Port 502
      • 30

      • # 185898
      Hallo zimbl,

      ich kann dir nicht ganz folgen.

      Stelle mal sämtliche Screenshots vom CMI bezüglich Einstellungen und Parameter hier ein.


      LG


      Karl
      • 31

      • # 186987
      Guten Abend zusammen,
      ich habe nun alle erdenklichen Möglichkeiten ausprobiert bekomme aber keinerlei Werte übertragen.

      Die Instanz wird grün und im CMI wird die Verbindung auch aufgeführt.

      2021-05-23 00_21_32-instances - ioBroker.png2021-05-23 00_22_23-instances - ioBroker.png2021-05-23 00_22_41-instances - ioBroker.png2021-05-23 00_22_55-CMI Ausgänge.png2021-05-23 00_23_13-CMI TCP-Sockets.png2021-05-23 00_28_02-objects - ioBroker.png2021-05-23 00_29_24-instances - ioBroker.png2021-05-23 00_29_54-CMI Ausgänge.png

      Wäre für jeden Tipp von euch dankbar.
      Gruß Jens
      • 32

      • # 187020
      Hallo Jens,

      folgendes ist mir aufgefallen:

      CMI-Modbus Digital-Ausgang ist im Modbus Adapter=Diskrete Ausgänge und nicht Eingänge. Dies habe ich bei mir so eingestellt und funktioniert bei mir auch problemlos.

      Bei den Analogen Eingängen in das Holding Register habe ich auch Probleme, es hat bei mir schon mal mit einem Wert funktioniert, aber aktuell habe ich Probleme.

      Dies dürfte meines Erachtens nur ein Parameterproblem sein, da die Verbindung ja korrekt ist.
      Mit "sudo netstat -tulpn" siehst du welche Ports offen sind.

      Stell dich mal mit der Maus auf dem Wert 0 Grad in den Objekten im iobroker, dann siehst du, dass der Wert 0 Grad, aber bestätigt true ist.



      Sonnige Grüße


      Karl
      Files

      Post was edited 9 times, last by GOETSCHHOFER ().

      • 33

      • # 187030
      Hallo Jens,

      jetzt funktioniert es bei mir.
      Frage mich aber nicht nach der Logik im modbus-Adapter, ich habe dies bei den Alias-Adressen noch nicht wirklich durchschaut.
      Beim Smartfox hat es mit 40.000 und fortlaufende funktioniert.

      Dies dürfte offenbar ein Adressen u. Parameterproblem sein.
      Einfach die Adressen von 1 beginnend starten, Faktor 10 (weiß nicht warum) und value.temperature.

      Vergiss mal die Alias-Adressen und nimm beide Hacken heraus. 2. Screenhot Adapterkonfiguration.

      Gib mir Bescheid ob es funktioniert !


      LG



      Karl
      Files
      • 34

      • # 187170
      Hallo Karl,
      entschuldige bitte die späte Rückmeldung bin leider erst heute dazu gekommen es auszuprobieren.
      Die analogen Werten funktionieren aber nun.
      Werde sie nun alle erstmal konfigurieren.

      Das einzigste was ich noch anpassen musste, war der Faktor dort habe ich jetzt 0.1 drin stehen damit ich die richtigen Temperaturen übermittelt bekomme.

      Vielen Dank für deine Hilfe.
      Gruß Jens