Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Script zum auslesen eines C.M.I von TA UVR1611

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    12
    2
    262

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

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

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

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

Scheduled Pinned Locked Moved Skripten / Logik
78 Posts 25 Posters 23.9k Views 8 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G Offline
    G Offline
    Guenni76
    wrote on last edited by
    #40

    Moin nochmals alle zusammen,

    ich habe bei mir jetzt nochmal die Einstellungen von Ck83 probiert (hatte ich beim experimentieren glaube auch schon) und es funzt nicht.

    @Ck83:
    @Ck83:

    "… Habe Gestern die aktuellen Updates der CMI und des Modbus Adapters durchgeführt, siehe da jetzt wird alles sauber übertragen.

    Auch die digitalen Werte zur CMI werden "sauber" übergeben. ..." `

    Jetzt frage ich mich, ob es an den Updates bzw. Versionen liegt. Welche nutzt Du jetzt? (ioBroker, Adapter, TA, usw.)

    Da es doch schon etwas kühler draussen wird, möchte ich "unsinnige" Updates und Störungen vermeiden. (Frau und Kind wären sicherlich nicht begeistert…..) :evil:

    @ Marc_St : Auch Dir vielen Dank! Allerdings wollte ich gerade das "coding" umgehen, da ich eher der dumme Anwender bin und gerade ioBroker für mich eine tolle Plattform darstellt. :mrgreen:

    Grüße Günni

    1 Reply Last reply
    0
    • T Offline
      T Offline
      Tobl
      wrote on last edited by
      #41

      Hallo zusammen,

      ich kämpfe auch schon tagelang mit der Übergabe von digitalen Werten von ioBroker zum C.M.I (analog funktioniert tadellos).

      Ich bekomme jeweils einen Wert ohne Timeout), dieser ist aber unabhängig vom Wert ioBroker immer "AUS".

      Hat noch irgendjemand einen Tipp? Aus Verzweiflung denke ich schon darüber nach, wie ich aus Analogwerten Digitale machen kann…)

      Grüße,

      Thomas

      1 Reply Last reply
      0
      • D Offline
        D Offline
        dexter
        wrote on last edited by
        #42

        Hallo allerseits,

        @Tobl:

        Hallo zusammen,

        ich kämpfe auch schon tagelang mit der Übergabe von digitalen Werten von ioBroker zum C.M.I (analog funktioniert tadellos).

        Ich bekomme jeweils einen Wert ohne Timeout), dieser ist aber unabhängig vom Wert ioBroker immer "AUS".

        Hat noch irgendjemand einen Tipp? Aus Verzweiflung denke ich schon darüber nach, wie ich aus Analogwerten Digitale machen kann…)

        Grüße,

        Thomas `

        Ich kämpfe mit dem selben Problem. Habe die Kommunikation zum CMI mittels Modbus-Tool kontrolliert, dort klappt die Übergabe eines Digitalwertes (sowohl Coils als auch Inputs lesen)

        Wenn ich nun die Kommunikation auf iobroker lege und in der CMI einen DI einlesen will, kriege ich bei einem Input AlwaysFalse (Ohne TimeOut) und bei einem Coil einen Zahlenwert?

        Gibt es mittlerweile eine Lösung?
        16721_unbenannt.png
        16721_unbenannt2.png
        16721_unbenannt3.png

        1 Reply Last reply
        0
        • S Offline
          S Offline
          sambaverde
          wrote on last edited by
          #43

          @Klausi:

          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. `

          Hallo,

          Mich scheint das selbe Problem zu treffen. Händisch eingetragene Werte in Objects holding oder Input Register werden sofort in der CMI sichtbar.

          Zur Idee, ich will Daten vom Kostal Plenticore via MODBUS auslesen (klappt super) und zur CMI übertragen, ebenfalls via MODBUS.

          DIe Übertragung der Daten mache ich mit Blockly, und die Daten werden auch super in der Objects Übersicht upgedated. auch im VIS.

          Woran könnte es aber liegen, dass ich diese Daten erste im CMI sehe, wenn ich die Instanz MODBUS neu starte.

          Verwende Modbus 2.0.9, die CMI läuft mit 1.33.3

          Idee?

          S 1 Reply Last reply
          0
          • G Offline
            G Offline
            gunni69
            wrote on last edited by
            #44

            bin neu hier und beschäftige mich mit dem thema seit 14 tagen erst und bekommen leider keine werte aus der cmi in den iobroker per modbus

            habe mich an die anleitung gehalten wie weiter vorn beschrieben, habe auch ananas zwischengeschaltet, an der cmi liegts nicht. verwende cmi 1.33.3 und modbus 2.0.9.

            kann mir jemand seine funktionierende konfig mal zukommen lassen ? da sich ja im laufe der zeit dieses forums auch einiges verändert hat.

            1 Reply Last reply
            0
            • S sambaverde

              @Klausi:

              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. `

              Hallo,

              Mich scheint das selbe Problem zu treffen. Händisch eingetragene Werte in Objects holding oder Input Register werden sofort in der CMI sichtbar.

              Zur Idee, ich will Daten vom Kostal Plenticore via MODBUS auslesen (klappt super) und zur CMI übertragen, ebenfalls via MODBUS.

              DIe Übertragung der Daten mache ich mit Blockly, und die Daten werden auch super in der Objects Übersicht upgedated. auch im VIS.

              Woran könnte es aber liegen, dass ich diese Daten erste im CMI sehe, wenn ich die Instanz MODBUS neu starte.

              Verwende Modbus 2.0.9, die CMI läuft mit 1.33.3

              Idee?

              S Offline
              S Offline
              Sineos
              wrote on last edited by Sineos
              #45

              @sambaverde said in Script zum auslesen eines C.M.I von TA UVR1611:

              Woran könnte es aber liegen, dass ich diese Daten erste im CMI sehe, wenn ich die Instanz MODBUS neu starte.
              Verwende Modbus 2.0.9, die CMI läuft mit 1.33.3
              Idee?

              Mit dem gerade aktuellen ioBroker (Modbus 2.09 / js-controller 1.5.7 / Admin 3.6.0) bekomme ich auch keine Register mehr normal ausgelesen. Wird nach dem Neustart des Modbus-Adapters einmal übertragen und dann nie wieder. Es geht aber mit ein bisschen Pfuscherei:

              • Meine Werte kommen aus Node Red
              • Setzte ich in der ioBroker out Node im Type auf Value werden keine Werte über den Modbus übertragen. In den ioBroker Objekten werden die Werte als Bestätigt = true angezeigt
              • Setzte ich in der ioBroker out Node im Type auf Command werden Werte über den Modbus übertragen. In den ioBroker Objekten werden die Werte als Bestätigt = false angezeigt
              • Ich glaube es hängt weder an der CMI noch an den letzten Modbus Versionen. Ein Modbus Downgrade auf < 2.x hat nichts gebracht
              • Meine Vermutung ist, dass es am js-controller und / oder Admin hängt

              Edit:
              https://github.com/ioBroker/ioBroker.modbus/issues/42

              Sineos created this issue in ioBroker/ioBroker.modbus

              closed Modbus not sending ack'ed values #42

              1 Reply Last reply
              0
              • S Offline
                S Offline
                Sineos
                wrote on last edited by Sineos
                #46

                ioBroker geht von folgendem Konzept aus:

                • Ein Befehl oder Wert wird mit "ack (bestätigt) = false" in Richtung eines Gerätes gesendet, beispielsweise "Licht an"
                • Das Gerät verarbeitet den Befehl / Wert und bestätigt diesen, beispielsweise, "Ok, Licht ist an"
                • ioBroker setzt diesen Befehl / Wert auf bestätigt, "ack = true"
                • "ack = true" bedeutet damit auch, dass alles getan ist und keine weiteren Aktionen folgen sollen

                Der Node-Red Adapter realisiert dieses Konzept in der ioBroker out Node über die Type Einstellung:

                • Value bedeutet "ack = true", d.h. es wird nur ein Status gesetzt, aber keine weiteren Aktionen ==> Der Modbus Adapter überträgt den Wert nicht
                • Command bedeutet "ack = false", d.h. es wird erwartet, dass der Befehl / Wert weiter verarbeitet (und ggf. rückgemeldet) wird==> Der Modbus Adapter überträgt den Wert

                Für die Übertragung von Messwerten o.ä. über Modbus finde ich persönlich den Ansatz etwas schräg, da der Modbus ja nicht zurückmeldet "oh cool ich hab einen neuen Wert", in Summe macht das aber schon Sinn.

                Siehe auch: https://github.com/ioBroker/ioBroker/wiki/Adapter-Development-Documentation#commands-and-statuses

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  Magi
                  wrote on last edited by
                  #47

                  Hallo,
                  Ich habe eine UVR 1611 und will es mit meinem iobroker die Daten auslesen, Da ich keine CMI habe sondern nur einen bootloader(bl-net) weiß ich nicht wie ich die daten auslesen kann.

                  Für Hilfe und iden wäre ich sehr dankbar.

                  M W 2 Replies Last reply
                  0
                  • M Magi

                    Hallo,
                    Ich habe eine UVR 1611 und will es mit meinem iobroker die Daten auslesen, Da ich keine CMI habe sondern nur einen bootloader(bl-net) weiß ich nicht wie ich die daten auslesen kann.

                    Für Hilfe und iden wäre ich sehr dankbar.

                    M Offline
                    M Offline
                    Mr. Moose
                    wrote on last edited by
                    #48

                    Hallo,
                    der Thread ist zwar schon was älter, aber vielleicht hilft es ja noch einem.
                    Ich hatte auch das Problem, dass die Werte an das CMI nur übertragen wurden, wenn ich die modbus-Instanz neu gestartet habe.
                    Dann habe ich rausgefunden, das der Fehler nur auftritt, wenn man die Variable mit "aktualisiere" beschreibt. Wenn man "steuere" nimmt werden die Werte sofort übertragen.

                    So geht es nicht:
                    aktualisiere.png

                    So geht es:
                    steuere.png

                    1 Reply Last reply
                    0
                    • peterk34P Offline
                      peterk34P Offline
                      peterk34
                      wrote on last edited by
                      #49

                      Ich kämpfe mit der Verbindung zum CMI ...

                      Habs genau nach @Sineos gemacht ... bekomm aber keine Verbindung hin. Kann wer was mit den folgenden Log anfangen? bin leider zu wenig Profi das zu verstehen. Einmal mit IP 0.0.0.0 und einmal mit der IP des CMI ...

                      c8603d58-e0a9-4fc2-9bb5-3d5c18a3facc-image.png

                      L A A 3 Replies Last reply
                      0
                      • peterk34P peterk34

                        Ich kämpfe mit der Verbindung zum CMI ...

                        Habs genau nach @Sineos gemacht ... bekomm aber keine Verbindung hin. Kann wer was mit den folgenden Log anfangen? bin leider zu wenig Profi das zu verstehen. Einmal mit IP 0.0.0.0 und einmal mit der IP des CMI ...

                        c8603d58-e0a9-4fc2-9bb5-3d5c18a3facc-image.png

                        L Offline
                        L Offline
                        logdog
                        wrote on last edited by
                        #50

                        @peterk34
                        Hallo,
                        Ich habe genau das selbe Problem. Gibt es dazu mittlerweile ein Lösung?

                        1 Reply Last reply
                        0
                        • peterk34P peterk34

                          Ich kämpfe mit der Verbindung zum CMI ...

                          Habs genau nach @Sineos gemacht ... bekomm aber keine Verbindung hin. Kann wer was mit den folgenden Log anfangen? bin leider zu wenig Profi das zu verstehen. Einmal mit IP 0.0.0.0 und einmal mit der IP des CMI ...

                          c8603d58-e0a9-4fc2-9bb5-3d5c18a3facc-image.png

                          A Offline
                          A Offline
                          Almi
                          wrote on last edited by
                          #51

                          @peterk34

                          Super genau das war mein Problem! Danke

                          Gruß Andreas

                          1 Reply Last reply
                          0
                          • peterk34P peterk34

                            Ich kämpfe mit der Verbindung zum CMI ...

                            Habs genau nach @Sineos gemacht ... bekomm aber keine Verbindung hin. Kann wer was mit den folgenden Log anfangen? bin leider zu wenig Profi das zu verstehen. Einmal mit IP 0.0.0.0 und einmal mit der IP des CMI ...

                            c8603d58-e0a9-4fc2-9bb5-3d5c18a3facc-image.png

                            A Offline
                            A Offline
                            andibr
                            wrote on last edited by andibr
                            #52

                            @peterk34
                            Hallo peterk34

                            Ich habe genau das gleiche Problem. Auf meinem CMI sehe ich zwischendurch, dass iob eine Verbindung aufbaut und diese auf dem TCP Socket 13 eingetragen wird. Aber eine wirkliche Verbindung habe ich bis jetzt nicht bekommen.

                            Aus meiner Sicht muss die IP vom CMI sicher eingetragen sein, ansonsten weiss ja iob nicht wohin er die Anfrage machen soll.

                            Ich frage mich ob jemand der es versteht, da nicht einfach einen Adpater zusammen stellen könnte, ich würde da auch etwas bezahlen dafür. Weil alle meine bisherigen Versuche haben nichts gebracht ausser Frust und viel Zeitverbrauch.

                            Gruss Andi

                            UVR16x2 V149
                            CMI 138.1

                            Edit PS: vielleicht müssen wir auch eine Lösung über den direkten CAN to USB gehen?

                            1 Reply Last reply
                            0
                            • S sven12

                              Hallo zusammen,

                              da mir das Forum schon so viel geholfen hat, möchte ich mich bedanken und auch ein Script beisteuern.

                              Villeicht kann es ja jemand mit einer UVR Steuerung von TA (Technische Alternative) gebrauchen.

                              Das Script ruft per JSON API das CMI ab und legt entsprechend die Datenpunkte an.

                              Im nächsten Durchlauf werden dann die Datenpunkte mit den Werten gefüllt.

                              Für meine Anwendung speziell wird noch die verfügbare Wasserspeicher Menge berechnet.

                              Diesen wird dann in noch zu befüllende Kg für den Holzvergaser umgerechnet und per MQTT

                              an das Display(ESP Arduino OLED) meines HVS25 gesendet.

                              Viel Spaß damit.

                              Edit da hat der Fehlerteufel zugeschlagen, deshalb jetzt Version 0.2 😉

                              ! ```
                              `/*******************************************************************************
                              ** Script zum auslesen von 2 UVR1611 über das CMI Interface mit JSON V3 API **
                              ** Die Abfragen erfolgen zeitgesteuert versetzt, das gleichzeitiges Abfragen **
                              ** von mehreren Knoten des CMI nicht möglich ist. Die Datenpunkte werden bei **
                              ** Sciptstart angeleget und dann im weiteren Verlauf mit Werten beschieben. **
                              ** zusätzlich erfolgt noch eine Berechnung der Speicherkapazität der Puffer **
                              ** mit einer Angabe der noch zu heizenden maximalen Holzmenge für den HVS25 **


                              ** Version 0.2 **


                              ** Sven **
                              ********************************************************************************/

                              ! var request = require("request");
                              //username & password for CMI
                              username = "admin",
                              password = "admin",
                              auth = "Basic " + new Buffer(username + ":" + password).toString("base64");
                              ! //URL to CMI Interface, only change IP
                              var url1 = 'http://192.168.10.201/INCLUDE/api.cgi?jsonnode=1&jsonparam=I,O,Na,Nd';
                              var url2 = 'http://192.168.10.201/INCLUDE/api.cgi?jsonnode=2&jsonparam=I,O,Na,Nd';
                              ! // JSON with Unit from CMI_JSON_API_V3 https://www.ta.co.at/downloads/datei/17511763-cmi-json-api/
                              var unitJson = {"0":"","1":"°C","2":"W/m²","3":"l/h","4":"Sek","5":"Min","6":"l/Imp","7":"K","8":"%","10":"kW","11":"kWh","12":"MWh",
                              "13":"V","14":"mA","15":"Std","16":"Tage","17":"Imp","18":"KΩ","19":"l","20":"km/h","21":"Hz","22":"l/min","23":"bar",
                              "24":"","25":"km","26":"m","27":"mm","28":"m³","35":"l/d","36":"m/s","37":"m³/min","38":"m³/h","39":"m³/d","40":"mm/min",
                              "41":"mm/h","42":"mm/d","43":"Aus/Ein","44":"Nein/Ja","46":"°C","50":"€","51":"$","53":"","54":"°","56":"°","57":"Sek",
                              "58":"","59":"%","60":"Uhr","63":"A","65":"mbar","66":"Pa","67":"ppm"};
                              ! // Hilfsvariablen
                              var stateanlegen = true;
                              var state1anlegen = false;
                              var state2anlegen = false;
                              var llog = true; // loging ein/aus (true/false)
                              ! // zeitlich die Abfrage wiederhohlen
                              //jede x minute
                              schedule("0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58 * * * *", function () {
                              readurl1();
                              gewicht();
                              });
                              //jede y minute
                              schedule("1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59 * * * *", function () {
                              readurl2();

                              });

                              ! function readurl1() {
                              readJson(url1, function(err,json) {
                              if(!err) {
                              if (json['Status_code'] ===0){
                              // console.log('ReadStatus_Knoten 1 '+json['Status']);
                              setDataObjectsKnoten1(json);

                                       }
                                  } else {
                                      log("Fehler beim Auslesen des Knoten 1 JSON. Keine Daten erhalten.","warn");
                                      log("Errorcode "+json['Status_code'],"warn");
                                  }
                              });
                              

                              }

                              ! function readurl2() {
                              readJson(url2, function(err,json) {
                              if(!err) {
                              if (json['Status_code'] ===0){
                              // console.log('ReadStatus_Knoten 2 '+json['Status']);
                              setDataObjectsKnoten2(json);
                              }
                              } else {
                              log("Fehler beim Auslesen des Konten 2 JSON. Keine Daten erhalten.","warn");
                              log("Errorcode "+json['Status_code'],"warn");
                              }
                              });
                              }
                              ! function gewicht() {
                              if ((state1anlegen ===true) && (state2anlegen === true)){
                              stateanlegen = false;
                              }
                              if (stateanlegen === false){
                              //getState("ID auswählen").val;
                              //Maximales Gewicht in Kg für das Brennholz. Speicherkapazität berechnen. 3x800L Puffer Q=mcdT 8004.182xK
                              var tank_1=((8004.182)(90-((getState("javascript.0.UVR1611_CMI_Knoten_1.Input_Number12").val/Input_Number12/+getState("javascript.0.UVR1611_CMI_Knoten_1.Input_Number13").val/Input_Number13/+getState("javascript.0.UVR1611_CMI_Knoten_2.Input_Number09").val/Input_Number09/+getState("javascript.0.UVR1611_CMI_Knoten_2.Input_Number10"/Input_Number10/).val)/4))/3600);
                              var tank_2=((8004.182)(90-((getState("javascript.0.UVR1611_CMI_Knoten_2.Input_Number11").val/Input_Number11/+getState("javascript.0.UVR1611_CMI_Knoten_2.Input_Number12").val/Input_Number12/+getState("javascript.0.UVR1611_CMI_Knoten_2.Input_Number13").val/Input_Number13/+getState("javascript.0.UVR1611_CMI_Knoten_1.Network_Analog_Number01"/Network_Analog_Number01/).val)/4))/3600);
                              var tank_3=((8004.182)(90-((getState("javascript.0.UVR1611_CMI_Knoten_2.Input_Number14").val/Input_Number14/+getState("javascript.0.UVR1611_CMI_Knoten_2.Input_Number16").val/Input_Number16/+getState("javascript.0.UVR1611_CMI_Knoten_1.Input_Number15").val/Input_Number15/)/3))/3600);
                              var tank=(((tank_1+tank_2+tank_3)/5)*1.15);
                              // Daten per MQTT zum HVS25 Display schicken
                              setState("mqtt.0.HVS25E.HVS25E_Holz"/HVS25E_Holz/,tank.toFixed(2),true);
                              setState("mqtt.0.HVS25E.HVS25E_Time"/HVS25E/HVS25E_Time/, formatDate(new Date(), "hh:mm"), true);
                              }
                              }
                              ! function readJson(url, callback) {
                              request({
                              url : url,
                              headers : {
                              "Authorization" : auth
                              }
                              },
                              function (error, response, body) {

                               if (body) {
                                  result = body.replace(/ /g, '_');  //alle Leerzeichen durch Unterstrich ersetzten
                                  var jdata = JSON.parse(result);        //Json Array erzeugen
                                  callback(null, jdata);
                               } 
                               else {
                                      log(error, "warn");  
                                      callback(error, null);
                                  }
                              });
                              

                              }

                              ! function setDataObjectsKnoten1(jsondata){
                              // console.log(jsondata['Data']['Inputs']['0']['Value']['Value']);
                              // console.log(jsondata['Data']['Inputs']['0']['Value']['Unit']);

                               if (stateanlegen === true){
                              // User Variablen anlegen Achtung keine Punkte im Namen verwenden. 
                                  createState('javascript.0.UVR1611_CMI_Knoten_1.Header.Version', {
                                  name: 'Version',
                                  type: 'number',
                                  unit: '',
                                  write: false,
                                  read:  true
                                  });
                                  createState('javascript.0.UVR1611_CMI_Knoten_1.Header.Device', {
                                  name: 'Device',
                                  type: 'string',
                                  unit: '',
                                  write: false,
                                  read:  true
                                  });
                                  createState('javascript.0.UVR1611_CMI_Knoten_1.Header.Timestamp', {
                                  name: 'Timestamp',
                                  type: 'number',
                                  unit: '',
                                  write: false,
                                  read:  true
                                  });
                              
                              var i=0;
                              for (i=0; i<=15;i++){
                                  var inputsUnit = unitJson[jsondata['Data']['Inputs'][i]['Value']['Unit']];
                                  var networkAnalogUnit = unitJson[jsondata['Data']['Network_Analog'][i]['Value']['Unit']];
                                  var networkDigitalUnit = unitJson[jsondata['Data']['Network_Digital'][i]['Value']['Unit']];
                              
                                       if (i<9){
                                          createState('javascript.0.UVR1611_CMI_Knoten_1.Input_Number0'+jsondata['Data']['Inputs'][i]['Number'],'', {
                                          name: 'Input_Number0'+jsondata['Data']['Inputs'][i]['Number']+'_'+jsondata['Data']['Inputs'][i]['AD'],
                                          type: 'number',
                                          unit: ''+inputsUnit,
                                          write: false,
                                          read:  true
                                          });
                                          createState('javascript.0.UVR1611_CMI_Knoten_1.Network_Analog_Number0'+jsondata['Data']['Network_Analog'][i]['Number'],'', {
                                          name: 'Network_Analog_Number0'+jsondata['Data']['Network_Analog'][i]['Number']+'_'+jsondata['Data']['Network_Analog'][i]['AD'],
                                          type: 'number',
                                          unit: ''+networkAnalogUnit,
                                          write: false,
                                          read:  true
                                          });
                                          createState('javascript.0.UVR1611_CMI_Knoten_1.Network_Digital_Number0'+jsondata['Data']['Network_Digital'][i]['Number'],'', {
                                          name: 'Network_Digital_Number0'+jsondata['Data']['Network_Digital'][i]['Number']+'_'+jsondata['Data']['Network_Digital'][i]['AD'],
                                          type: 'number',
                                          unit: ''+networkDigitalUnit,
                                          write: false,
                                          read:  true
                                          });
                              
                                       }
                                      else{
                                          createState('javascript.0.UVR1611_CMI_Knoten_1.Input_Number'+jsondata['Data']['Inputs'][i]['Number'],'', {
                                          name: 'Input_Number'+jsondata['Data']['Inputs'][i]['Number']+'_'+jsondata['Data']['Inputs'][i]['AD'],
                                          type: 'number',
                                          unit: ''+inputsUnit,
                                          write: false,
                                          read:  true
                                          });
                                          createState('javascript.0.UVR1611_CMI_Knoten_1.Network_Analog_Number'+jsondata['Data']['Network_Analog'][i]['Number'],'', {
                                          name: 'Network_Analog_Number0'+jsondata['Data']['Network_Analog'][i]['Number']+'_'+jsondata['Data']['Network_Analog'][i]['AD'],
                                          type: 'number',
                                          unit: ''+networkAnalogUnit,
                                          write: false,
                                          read:  true
                                          });
                                          createState('javascript.0.UVR1611_CMI_Knoten_1.Network_Digital_Number'+jsondata['Data']['Network_Digital'][i]['Number'],'', {
                                          name: 'Network_Digital_Number0'+jsondata['Data']['Network_Digital'][i]['Number']+'_'+jsondata['Data']['Network_Digital'][i]['AD'],
                                          type: 'number',
                                          unit: ''+networkDigitalUnit,
                                          write: false,
                                          read:  true
                                          });
                                      }
                              
                                  }
                              
                                  i=0;
                                  for (i=0; i<=12;i++){
                                      var outputsUnit = unitJson[jsondata['Data']['Outputs'][i]['Value']['Unit']];
                                   if (i<9){
                                      createState('javascript.0.UVR1611_CMI_Knoten_1.Output_Number0'+jsondata['Data']['Outputs'][i]['Number'],'', {
                                      name: 'Output_Number'+jsondata['Data']['Outputs'][i]['Number']+'_'+jsondata['Data']['Outputs'][i]['AD'],
                                      type: 'number',
                                      unit: ''+outputsUnit,
                                      write: false,
                                      read:  true
                                      });
                                        if (jsondata['Data']['Outputs'][i]['AD']==='A'){
                                          createState('javascript.0.UVR1611_CMI_Knoten_1.Output_Number_State0'+jsondata['Data']['Outputs'][i]['Number'],'', {
                                          name: 'Output_Number_State'+jsondata['Data']['Outputs'][i]['Number']+'_'+jsondata['Data']['Outputs'][i]['AD'],
                                          type: 'number',
                                          unit: ''+outputsUnit,
                                          write: false,
                                          read:  true
                                          });
                                        }
                                   }
                                   else{
                                        // set +jsondata['Data']['Outputs'][i]['Value']['Value'],
                                      createState('javascript.0.UVR1611_CMI_Knoten_1.Output_Number'+jsondata['Data']['Outputs'][i]['Number'],'', {
                                      name: 'Output_Number'+jsondata['Data']['Outputs'][i]['Number']+'_'+jsondata['Data']['Outputs'][i]['AD'],
                                      type: 'number',
                                      unit: ''+outputsUnit,
                                      write: false,
                                      read:  true
                                      });
                                        if (jsondata['Data']['Outputs'][i]['AD']==='A'){
                                            // set +jsondata['Data']['Outputs'][i]['Value']['Value'],
                                          createState('javascript.0.UVR1611_CMI_Knoten_1.Output_Number_State'+jsondata['Data']['Outputs'][i]['Number'],'', {
                                          name: 'Output_Number_State'+jsondata['Data']['Outputs'][i]['Number']+'_'+jsondata['Data']['Outputs'][i]['AD'],
                                          type: 'number',
                                          unit: ''+outputsUnit,
                                          write: false,
                                          read:  true
                                          });
                                        }
                                   }
                              
                                  }
                              
                                    console.log("Variablen Knoten 1 angelegt");
                                       state1anlegen = true;
                                    }
                                    else{
                                         //Variablen setstate
                                         setState('javascript.0.UVR1611_CMI_Knoten_1.Header.Version',jsondata['Header']['Version']);
                                         setState('javascript.0.UVR1611_CMI_Knoten_1.Header.Device',jsondata['Header']['Device']);
                                         setState('javascript.0.UVR1611_CMI_Knoten_1.Header.Timestamp',jsondata['Header']['Timestamp']);
                                         i=0;
                                         for (i=0; i<=15;i++){
                                       if (i<9){
                                          //set jsondata['Data']['Inputs'][i]['Value'],['Value']
                                          setState('javascript.0.UVR1611_CMI_Knoten_1.Input_Number0'+jsondata['Data']['Inputs'][i]['Number'],jsondata['Data']['Inputs'][i]['Value']['Value']);
                                          setState('javascript.0.UVR1611_CMI_Knoten_1.Network_Analog_Number0'+jsondata['Data']['Network_Analog'][i]['Number'],jsondata['Data']['Network_Analog'][i]['Value']['Value']);
                                          setState('javascript.0.UVR1611_CMI_Knoten_1.Network_Digital_Number0'+jsondata['Data']['Network_Digital'][i]['Number'],jsondata['Data']['Network_Digital'][i]['Value']['Value']);
                                        }
                                  else{
                                          setState('javascript.0.UVR1611_CMI_Knoten_1.Input_Number'+jsondata['Data']['Inputs'][i]['Number'],jsondata['Data']['Inputs'][i]['Value']['Value']);
                                          setState('javascript.0.UVR1611_CMI_Knoten_1.Network_Analog_Number'+jsondata['Data']['Network_Analog'][i]['Number'],jsondata['Data']['Network_Analog'][i]['Value']['Value']);
                                          setState('javascript.0.UVR1611_CMI_Knoten_1.Network_Digital_Number'+jsondata['Data']['Network_Digital'][i]['Number'],jsondata['Data']['Network_Digital'][i]['Value']['Value']);
                              
                                  }
                                      }
                                  i=0;
                                   for (i=0; i<=12;i++){
                                       if (i<9){
                                           setState('javascript.0.UVR1611_CMI_Knoten_1.Output_Number0'+jsondata['Data']['Outputs'][i]['Number'],jsondata['Data']['Outputs'][i]['Value']['Value']);
                                         if (jsondata['Data']['Outputs'][i]['AD']==='A'){
                                             setState('javascript.0.UVR1611_CMI_Knoten_1.Output_Number_State0'+jsondata['Data']['Outputs'][i]['Number'],jsondata['Data']['Outputs'][i]['Value']['State']);
                                         }
                                       }
                                       else{
                                           setState('javascript.0.UVR1611_CMI_Knoten_1.Output_Number'+jsondata['Data']['Outputs'][i]['Number'],jsondata['Data']['Outputs'][i]['Value']['Value']);
                                             if (jsondata['Data']['Outputs'][i]['AD']==='A'){
                                                 setState('javascript.0.UVR1611_CMI_Knoten_1.Output_Number_State'+jsondata['Data']['Outputs'][i]['Number'],jsondata['Data']['Outputs'][i]['Value']['State']);
                                             }
                                            //setState('javascript.0.PoolController.ADC'+[i-1], parseFloat(Number(wert).toFixed(2)));
                                       }
                              
                              }
                              }
                              

                              }

                              ! function setDataObjectsKnoten2(jsondata){
                              if (stateanlegen === true){
                              // User Variablen anlegen Achtung keine Punkte im Namen verwenden.
                              createState('javascript.0.UVR1611_CMI_Knoten_2.Header.Version', {
                              name: 'Version',
                              type: 'number',
                              unit: '',
                              write: false,
                              read: true
                              });
                              createState('javascript.0.UVR1611_CMI_Knoten_2.Header.Device', {
                              name: 'Device',
                              type: 'string',
                              unit: '',
                              write: false,
                              read: true
                              });
                              createState('javascript.0.UVR1611_CMI_Knoten_2.Header.Timestamp', {
                              name: 'Timestamp',
                              type: 'number',
                              unit: '',
                              write: false,
                              read: true
                              });

                              var i=0;
                              for (i=0; i<=15;i++){
                                   var inputsUnit = unitJson[jsondata['Data']['Inputs'][i]['Value']['Unit']];
                                  var networkAnalogUnit = unitJson[jsondata['Data']['Network_Analog'][i]['Value']['Unit']];
                                  var networkDigitalUnit = unitJson[jsondata['Data']['Network_Digital'][i]['Value']['Unit']];
                               if (i<9){
                                    //set jsondata['Data']['Inputs'][i]['Value'],['Value']
                                  createState('javascript.0.UVR1611_CMI_Knoten_2.Input_Number0'+jsondata['Data']['Inputs'][i]['Number'],'', {
                                  name: 'Input_Number0'+jsondata['Data']['Inputs'][i]['Number']+'_'+jsondata['Data']['Inputs'][i]['AD'],
                                  type: 'number',
                                  unit: ''+inputsUnit,
                                  write: false,
                                  read:  true
                                  });
                              
                                   // set jsondata['Data']['Network_Analog'][i]['Value']['Value']
                                  createState('javascript.0.UVR1611_CMI_Knoten_2.Network_Analog_Number0'+jsondata['Data']['Network_Analog'][i]['Number'],'', {
                                  name: 'Network_Analog_Number0'+jsondata['Data']['Network_Analog'][i]['Number']+'_'+jsondata['Data']['Network_Analog'][i]['AD'],
                                  type: 'number',
                                  unit: ''+networkAnalogUnit,
                                  write: false,
                                  read:  true
                                  });
                              
                                    //set +jsondata['Data']['Network_Digital'][i]['Value']['Value']
                                  createState('javascript.0.UVR1611_CMI_Knoten_2.Network_Digital_Number0'+jsondata['Data']['Network_Digital'][i]['Number'],'', {
                                  name: 'Network_Digital_Number0'+jsondata['Data']['Network_Digital'][i]['Number']+'_'+jsondata['Data']['Network_Digital'][i]['AD'],
                                  type: 'number',
                                  unit: ''+networkDigitalUnit,
                                  write: false,
                                  read:  true
                                  });
                              
                               }
                              else{
                               //set jsondata['Data']['Inputs'][i]['Value'],['Value']
                                  createState('javascript.0.UVR1611_CMI_Knoten_2.Input_Number'+jsondata['Data']['Inputs'][i]['Number'],'', {
                                  name: 'Input_Number'+jsondata['Data']['Inputs'][i]['Number']+'_'+jsondata['Data']['Inputs'][i]['AD'],
                                  type: 'number',
                                  unit: ''+inputsUnit,
                                  write: false,
                                  read:  true
                                  });
                              
                                   // set jsondata['Data']['Network_Analog'][i]['Value']['Value']
                                  createState('javascript.0.UVR1611_CMI_Knoten_2.Network_Analog_Number'+jsondata['Data']['Network_Analog'][i]['Number'],'', {
                                  name: 'Network_Analog_Number0'+jsondata['Data']['Network_Analog'][i]['Number']+'_'+jsondata['Data']['Network_Analog'][i]['AD'],
                                  type: 'number',
                                  unit: ''+networkAnalogUnit,
                                  write: false,
                                  read:  true
                                  });
                              
                                    //set +jsondata['Data']['Network_Digital'][i]['Value']['Value']
                                  createState('javascript.0.UVR1611_CMI_Knoten_2.Network_Digital_Number'+jsondata['Data']['Network_Digital'][i]['Number'],'', {
                                  name: 'Network_Digital_Number0'+jsondata['Data']['Network_Digital'][i]['Number']+'_'+jsondata['Data']['Network_Digital'][i]['AD'],
                                  type: 'number',
                                  unit: ''+networkDigitalUnit,
                                  write: false,
                                  read:  true
                                  });
                              }
                              
                              }
                              
                              i=0;
                              for (i=0; i<=12;i++){
                                   var outputsUnit = unitJson[jsondata['Data']['Outputs'][i]['Value']['Unit']];
                               if (i<9){
                                  createState('javascript.0.UVR1611_CMI_Knoten_2.Output_Number0'+jsondata['Data']['Outputs'][i]['Number'],'', {
                                  name: 'Output_Number'+jsondata['Data']['Outputs'][i]['Number']+'_'+jsondata['Data']['Outputs'][i]['AD'],
                                  type: 'number',
                                  unit: ''+outputsUnit,
                                  write: false,
                                  read:  true
                                  });
                                   if (jsondata['Data']['Outputs'][i]['AD']==='A'){
                                      createState('javascript.0.UVR1611_CMI_Knoten_2.Output_Number_State0'+jsondata['Data']['Outputs'][i]['Number'],'', {
                                      name: 'Output_Number_State'+jsondata['Data']['Outputs'][i]['Number']+'_'+jsondata['Data']['Outputs'][i]['AD'],
                                      type: 'number',
                                      unit: ''+outputsUnit,
                                      write: false,
                                      read:  true
                                      });
                                  }
                               }
                               else{
                                  createState('javascript.0.UVR1611_CMI_Knoten_2.Output_Number'+jsondata['Data']['Outputs'][i]['Number'],'', {
                                  name: 'Output_Number'+jsondata['Data']['Outputs'][i]['Number']+'_'+jsondata['Data']['Outputs'][i]['AD'],
                                  type: 'number',
                                  unit: ''+outputsUnit,
                                  write: false,
                                  read:  true
                                  });
                                    if (jsondata['Data']['Outputs'][i]['AD']==='A'){
                                      createState('javascript.0.UVR1611_CMI_Knoten_2.Output_Number_State'+jsondata['Data']['Outputs'][i]['Number'],'', {
                                      name: 'Output_Number_State'+jsondata['Data']['Outputs'][i]['Number']+'_'+jsondata['Data']['Outputs'][i]['AD'],
                                      type: 'number',
                                      unit: ''+outputsUnit,
                                      write: false,
                                      read:  true
                                      });
                                    }
                               }
                              
                              }
                              
                              console.log("Variablen Knoten 2 angelegt");
                              state2anlegen = true;
                              

                              }
                              else{
                              //Variablen setstate
                              setState('javascript.0.UVR1611_CMI_Knoten_2.Header.Version',jsondata['Header']['Version']);
                              setState('javascript.0.UVR1611_CMI_Knoten_2.Header.Device',jsondata['Header']['Device']);
                              setState('javascript.0.UVR1611_CMI_Knoten_2.Header.Timestamp',jsondata['Header']['Timestamp']);
                              i=0;
                              for (i=0; i<=15;i++){
                              if (i<9){
                              setState('javascript.0.UVR1611_CMI_Knoten_2.Input_Number0'+jsondata['Data']['Inputs'][i]['Number'],jsondata['Data']['Inputs'][i]['Value']['Value']);
                              setState('javascript.0.UVR1611_CMI_Knoten_2.Network_Analog_Number0'+jsondata['Data']['Network_Analog'][i]['Number'],jsondata['Data']['Network_Analog'][i]['Value']['Value']);
                              setState('javascript.0.UVR1611_CMI_Knoten_2.Network_Digital_Number0'+jsondata['Data']['Network_Digital'][i]['Number'],jsondata['Data']['Network_Digital'][i]['Value']['Value']);
                              }
                              else{
                              setState('javascript.0.UVR1611_CMI_Knoten_2.Input_Number'+jsondata['Data']['Inputs'][i]['Number'],jsondata['Data']['Inputs'][i]['Value']['Value']);
                              setState('javascript.0.UVR1611_CMI_Knoten_2.Network_Analog_Number'+jsondata['Data']['Network_Analog'][i]['Number'],jsondata['Data']['Network_Analog'][i]['Value']['Value']);
                              setState('javascript.0.UVR1611_CMI_Knoten_2.Network_Digital_Number'+jsondata['Data']['Network_Digital'][i]['Number'],jsondata['Data']['Network_Digital'][i]['Value']['Value']);

                              }
                              }
                              i=0;
                              for (i=0; i<=12;i++){
                              if (i<9){
                              setState('javascript.0.UVR1611_CMI_Knoten_2.Output_Number0'+jsondata['Data']['Outputs'][i]['Number'],jsondata['Data']['Outputs'][i]['Value']['Value']);
                              if (jsondata['Data']['Outputs'][i]['AD']==='A'){
                              setState('javascript.0.UVR1611_CMI_Knoten_2.Output_Number_State0'+jsondata['Data']['Outputs'][i]['Number'],jsondata['Data']['Outputs'][i]['Value']['State']);
                              }
                              }
                              else{
                              setState('javascript.0.UVR1611_CMI_Knoten_2.Output_Number'+jsondata['Data']['Outputs'][i]['Number'],jsondata['Data']['Outputs'][i]['Value']['Value']);
                              if (jsondata['Data']['Outputs'][i]['AD']==='A'){
                              setState('javascript.0.UVR1611_CMI_Knoten_2.Output_Number_State'+jsondata['Data']['Outputs'][i]['Number'],jsondata['Data']['Outputs'][i]['Value']['State']);
                              }
                              //setState('javascript.0.PoolController.ADC'+[i-1], parseFloat(Number(wert).toFixed(2)));
                              }

                              }
                              }
                              }`
                              4689_objekte_knoten1_2.png
                              4689_objekte_knoten2_2.png
                              4689_objekte_knoten2_1.png
                              4689_objekte_knoten1_1.png [/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]

                              M Offline
                              M Offline
                              Max Meyer 0
                              wrote on last edited by
                              #53

                              @sven12 Sorry, aber ich bin zu blöd das Script aus dem Betrag rauszukopieren und programmieren kann ich leider gar nicht. Besteht die Möglichkeit, dass du mir das Script irgendwie zur Verfügung stellst oder ich das irgendwo downloaden kann?
                              Ich versuche schon lange die Werte meiner UVR1611 in den iobroker zu bekommen.
                              Vielen Dank im Voraus
                              VG
                              Max

                              CodierknechtC U 2 Replies Last reply
                              0
                              • M Max Meyer 0

                                @sven12 Sorry, aber ich bin zu blöd das Script aus dem Betrag rauszukopieren und programmieren kann ich leider gar nicht. Besteht die Möglichkeit, dass du mir das Script irgendwie zur Verfügung stellst oder ich das irgendwo downloaden kann?
                                Ich versuche schon lange die Werte meiner UVR1611 in den iobroker zu bekommen.
                                Vielen Dank im Voraus
                                VG
                                Max

                                CodierknechtC Offline
                                CodierknechtC Offline
                                Codierknecht
                                Developer Most Active
                                wrote on last edited by
                                #54

                                @max-meyer-0
                                In einem 6 Jahre alten Thread wirst Du von einem User der seit 5 Jahren nicht mehr aktiv war wohl kaum Hilfe erwarten dürfen.

                                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                Proxmox 8.2.4 LXC|8 GB|Core i7-6700
                                HmIP|ZigBee|Tasmota|Unifi + dies & das
                                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                1 Reply Last reply
                                0
                                • M Max Meyer 0

                                  @sven12 Sorry, aber ich bin zu blöd das Script aus dem Betrag rauszukopieren und programmieren kann ich leider gar nicht. Besteht die Möglichkeit, dass du mir das Script irgendwie zur Verfügung stellst oder ich das irgendwo downloaden kann?
                                  Ich versuche schon lange die Werte meiner UVR1611 in den iobroker zu bekommen.
                                  Vielen Dank im Voraus
                                  VG
                                  Max

                                  U Offline
                                  U Offline
                                  UlliJ
                                  wrote on last edited by
                                  #55

                                  @max-meyer-0
                                  Hi,

                                  bitte etwas mehr Info zur Hardware und was Du machen möchtest.
                                  Hast Du Zugriff auf das Programm der UVR oder ist das durch den Ersteller geschützt?
                                  Wenn Zugriff: dann ist ein möglicher Weg von der UVR über Canbus ans CMI und über CMI Modbus an Iobroker Modbus. Dazu gibt es ein paar threads hier im Forum.
                                  VG
                                  Ulli

                                  Proxmox auf iNuc, VM's IOB, Raspberrymatic, lxc für InfluxDB2, Grafana, u.a. *** Homematic & Homematic IP, Shellies etc

                                  M 1 Reply Last reply
                                  0
                                  • U UlliJ

                                    @max-meyer-0
                                    Hi,

                                    bitte etwas mehr Info zur Hardware und was Du machen möchtest.
                                    Hast Du Zugriff auf das Programm der UVR oder ist das durch den Ersteller geschützt?
                                    Wenn Zugriff: dann ist ein möglicher Weg von der UVR über Canbus ans CMI und über CMI Modbus an Iobroker Modbus. Dazu gibt es ein paar threads hier im Forum.
                                    VG
                                    Ulli

                                    M Offline
                                    M Offline
                                    Max Meyer 0
                                    wrote on last edited by
                                    #56

                                    @ullij Hi, die modbus Anbindung habe ich schon laufen aber die UVR1611 kann nur 16 Werte an den CAN Bus (und dann per CMI wieder an modbus weiter) ausgeben und die Werte die über das Netzwerk eingehen (z.B. Raumtemperatursensor am DL Bus) können gar nicht wieder ausgegeben werden.
                                    Ich habe aber dies gefunden https://forum.iobroker.net/topic/11219/heizungswerte-einer-uvr1611-via-cmi-mittels-json-anlegen-refreshen und das scheint zu gehen. Zumindest wurden Objekte angelegt und plausible Werte sind auch drin.
                                    Trotzdem vielen Dank an Euch.
                                    VG
                                    Max

                                    A 1 Reply Last reply
                                    0
                                    • M Max Meyer 0

                                      @ullij Hi, die modbus Anbindung habe ich schon laufen aber die UVR1611 kann nur 16 Werte an den CAN Bus (und dann per CMI wieder an modbus weiter) ausgeben und die Werte die über das Netzwerk eingehen (z.B. Raumtemperatursensor am DL Bus) können gar nicht wieder ausgegeben werden.
                                      Ich habe aber dies gefunden https://forum.iobroker.net/topic/11219/heizungswerte-einer-uvr1611-via-cmi-mittels-json-anlegen-refreshen und das scheint zu gehen. Zumindest wurden Objekte angelegt und plausible Werte sind auch drin.
                                      Trotzdem vielen Dank an Euch.
                                      VG
                                      Max

                                      A Offline
                                      A Offline
                                      andibr
                                      wrote on last edited by
                                      #57

                                      @max-meyer-0
                                      Hallo zusammen

                                      Ich habe bei mir rasch nachgeschaut und leider gesehen, dass ich mein uraltes Skript für meine UVR16x2 nicht mehr direkt verfügbar habe, weil ich beim letzten Hardwareversagen alles auf Modbus gewechselt habe. Müsste mal im Datenarchiv nachschauen ob ich noch was finde, da hatte mir ein sehr kluger Kollege der SW-Entwickler ist ein JS-Skript gemacht, der Punkt für Punkt ausliest und dann in die Tabelle schreibt. Aber bei mir hatte das eben auch nur für die Temperaturen wirklich zuverläsig.
                                      Bei Modbus ist das ein grosser Aufwand auf dem CMI, weil das eben quasi ein eigener Server ist, der nicht mal über das TAPS konfiguriert werden kann.

                                      So als Idee (ich habe aber keine Ahnung von CAN), vieleicht könnte man ja so ein "USB-to-CAN" Interface zusätzlich ins TA-CAN-Netzwerk einbinden und die TAPS entsprechend mit dem zusätzlichen Teilnehmer erweitern? Aber fragt mich ja nicht ob und wie es gehen soll, und wie viele Daten so übertragen werden könnte.

                                      Im Iobroker gibt es da einen CAN Adapter
                                      CAN-Adapter
                                      bedingt aber scheinbar Linux als OS.

                                      M 1 Reply Last reply
                                      0
                                      • A andibr

                                        @max-meyer-0
                                        Hallo zusammen

                                        Ich habe bei mir rasch nachgeschaut und leider gesehen, dass ich mein uraltes Skript für meine UVR16x2 nicht mehr direkt verfügbar habe, weil ich beim letzten Hardwareversagen alles auf Modbus gewechselt habe. Müsste mal im Datenarchiv nachschauen ob ich noch was finde, da hatte mir ein sehr kluger Kollege der SW-Entwickler ist ein JS-Skript gemacht, der Punkt für Punkt ausliest und dann in die Tabelle schreibt. Aber bei mir hatte das eben auch nur für die Temperaturen wirklich zuverläsig.
                                        Bei Modbus ist das ein grosser Aufwand auf dem CMI, weil das eben quasi ein eigener Server ist, der nicht mal über das TAPS konfiguriert werden kann.

                                        So als Idee (ich habe aber keine Ahnung von CAN), vieleicht könnte man ja so ein "USB-to-CAN" Interface zusätzlich ins TA-CAN-Netzwerk einbinden und die TAPS entsprechend mit dem zusätzlichen Teilnehmer erweitern? Aber fragt mich ja nicht ob und wie es gehen soll, und wie viele Daten so übertragen werden könnte.

                                        Im Iobroker gibt es da einen CAN Adapter
                                        CAN-Adapter
                                        bedingt aber scheinbar Linux als OS.

                                        M Offline
                                        M Offline
                                        Max Meyer 0
                                        wrote on last edited by
                                        #58

                                        @andibr
                                        Moin, in Richtung CAN habe ich auch schon überlegt aber die UVR1611 kann nur 16 Werte per CAN übertragen. Das hilft mir nicht weiter.
                                        Das hier wäre ideal gewesen https://espeasy.readthedocs.io/en/latest/Plugin/P092.html#p092-page aber leider habe ich das noch nicht zum laufen bekommen. Da wären alle Werte drin gewesen und wären einfach per MQTT zum iobroker gesendet worden.
                                        Aktuell nehme ich dies für die Eingänge https://forum.iobroker.net/topic/11219/heizungswerte-einer-uvr1611-via-cmi-mittels-json-anlegen-refreshen und versuche mal mir den Rest über Modbus zu holen. Dann habe ich ja schon 32 Werte.
                                        VG
                                        Max

                                        A 1 Reply Last reply
                                        0
                                        • M Max Meyer 0

                                          @andibr
                                          Moin, in Richtung CAN habe ich auch schon überlegt aber die UVR1611 kann nur 16 Werte per CAN übertragen. Das hilft mir nicht weiter.
                                          Das hier wäre ideal gewesen https://espeasy.readthedocs.io/en/latest/Plugin/P092.html#p092-page aber leider habe ich das noch nicht zum laufen bekommen. Da wären alle Werte drin gewesen und wären einfach per MQTT zum iobroker gesendet worden.
                                          Aktuell nehme ich dies für die Eingänge https://forum.iobroker.net/topic/11219/heizungswerte-einer-uvr1611-via-cmi-mittels-json-anlegen-refreshen und versuche mal mir den Rest über Modbus zu holen. Dann habe ich ja schon 32 Werte.
                                          VG
                                          Max

                                          A Offline
                                          A Offline
                                          andibr
                                          wrote on last edited by
                                          #59

                                          @max-meyer-0
                                          Ich verstehe noch nicht ganz was du mir den 16 Werten meinst. Ist das die Datenbreite von der UVR1611 zum CMI?

                                          Also bei mir hat das CMI (V1.42.1 - B1.06 - H4.00) beim CAN-Eingang 64 Werte beim Analog und 64 Werte beim Digital. Da ich bei mir keinen Zugriff auf die UVR bekomme (mein Heizungs-Mensch hat Angst vor mir), kann ich dir nicht nach schauen was die UVR16x2 wirklich kann.

                                          Den DL-Bus kenne ich gar nicht, weil es ja eben auch ein AT-spezifische System ist. Aber mein CMI kann da auch als Eingnag jeweils 32 Werte einlesen und dann vermutlich auf den Modbus umlegen.

                                          M 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          140

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe