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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. modbus und scale factors

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    508

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

modbus und scale factors

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
23 Beiträge 3 Kommentatoren 1.4k Aufrufe 2 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.
  • L Offline
    L Offline
    legro
    schrieb am zuletzt editiert von
    #1

    Mittlerweile bin ich fast schon am Verzweifeln.

    Beim Auslesen eines Modbus-Registers soll der Wert mit 0,01 multipliziert werden. Hierzu habe ich in das Feld formula in der Registerdefinition folgendes eingetragen ..

    x * Math.pow(10, sf['40123'])

    .., wobei 40123 das Register ist, welches den Skalierungsfaktor enthält.

    Leider erhalte ich, sobald ich dies in das Feld formula eingebe, keine Ergebnisse mehr.

    Was mache ich falsch? Was habe ich nicht verstanden?

    Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

    HomoranH CodierknechtC 2 Antworten Letzte Antwort
    0
    • L legro

      Mittlerweile bin ich fast schon am Verzweifeln.

      Beim Auslesen eines Modbus-Registers soll der Wert mit 0,01 multipliziert werden. Hierzu habe ich in das Feld formula in der Registerdefinition folgendes eingetragen ..

      x * Math.pow(10, sf['40123'])

      .., wobei 40123 das Register ist, welches den Skalierungsfaktor enthält.

      Leider erhalte ich, sobald ich dies in das Feld formula eingebe, keine Ergebnisse mehr.

      Was mache ich falsch? Was habe ich nicht verstanden?

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

      @legro sagte in modbus und scale factors:

      Beim Auslesen eines Modbus-Registers soll der Wert mit 0,01 multipliziert werden.

      dann trage genau das unter Faktor ein!

      @legro sagte in modbus und scale factors:

      Was mache ich falsch?

      zeigen!

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

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

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

      L 1 Antwort Letzte Antwort
      0
      • HomoranH Homoran

        @legro sagte in modbus und scale factors:

        Beim Auslesen eines Modbus-Registers soll der Wert mit 0,01 multipliziert werden.

        dann trage genau das unter Faktor ein!

        @legro sagte in modbus und scale factors:

        Was mache ich falsch?

        zeigen!

        L Offline
        L Offline
        legro
        schrieb am zuletzt editiert von legro
        #3

        @homoran sagte in modbus und scale factors:

        @legro sagte in modbus und scale factors:

        Beim Auslesen eines Modbus-Registers soll der Wert mit 0,01 multipliziert werden.

        dann trage genau das unter Faktor ein!

        Ich habe doch geschrieben, dass ich nicht die Felder factor und offset, sondern das Feld formula verwenden möchte. Der Hintergrund: Die Skalierungsfaktoren können sich (ggf. bei einem Update) ändern.

        Was soll ich da zeigen? Ich habe in das Feld formula oben angegebene Formel eingetragen. Anschließend erhalte ich keine Werte mehr, die ich mittels eines Triggers auf dem MODBUS-Register abzufragen versuche.

        Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

        HomoranH 1 Antwort Letzte Antwort
        0
        • L legro

          @homoran sagte in modbus und scale factors:

          @legro sagte in modbus und scale factors:

          Beim Auslesen eines Modbus-Registers soll der Wert mit 0,01 multipliziert werden.

          dann trage genau das unter Faktor ein!

          Ich habe doch geschrieben, dass ich nicht die Felder factor und offset, sondern das Feld formula verwenden möchte. Der Hintergrund: Die Skalierungsfaktoren können sich (ggf. bei einem Update) ändern.

          Was soll ich da zeigen? Ich habe in das Feld formula oben angegebene Formel eingetragen. Anschließend erhalte ich keine Werte mehr, die ich mittels eines Triggers auf dem MODBUS-Register abzufragen versuche.

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

          @legro sagte in modbus und scale factors:

          Ich habe doch geschrieben, dass ich nicht die Felder factor und offset...verwenden möchte

          das hab ich nicht gelesen

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

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

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

          1 Antwort Letzte Antwort
          0
          • L legro

            Mittlerweile bin ich fast schon am Verzweifeln.

            Beim Auslesen eines Modbus-Registers soll der Wert mit 0,01 multipliziert werden. Hierzu habe ich in das Feld formula in der Registerdefinition folgendes eingetragen ..

            x * Math.pow(10, sf['40123'])

            .., wobei 40123 das Register ist, welches den Skalierungsfaktor enthält.

            Leider erhalte ich, sobald ich dies in das Feld formula eingebe, keine Ergebnisse mehr.

            Was mache ich falsch? Was habe ich nicht verstanden?

            CodierknechtC Online
            CodierknechtC Online
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von
            #5

            @legro sagte in modbus und scale factors:

            wobei 40123 das Register ist, welches den Skalierungsfaktor enthält

            Und dieses Register ist auch als "SF" markiert?

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

            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            L 1 Antwort Letzte Antwort
            0
            • CodierknechtC Codierknecht

              @legro sagte in modbus und scale factors:

              wobei 40123 das Register ist, welches den Skalierungsfaktor enthält

              Und dieses Register ist auch als "SF" markiert?

              L Offline
              L Offline
              legro
              schrieb am zuletzt editiert von
              #6

              @codierknecht sagte in modbus und scale factors:

              @legro sagte in modbus und scale factors:
              Und dieses Register ist auch als "SF" markiert?

              Ich bin mir nicht darüber im Klaren, was du hiermit meinst.

              41f2c6f6-6771-4bcf-a25d-64d242e4a32c-image.png
              77246df6-0f0c-4a72-990b-391f63174e99-image.png
              Dies ist der Eintrag in der Modbus-Register-Liste für den Skalierungsfaktor.

              Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

              CodierknechtC 1 Antwort Letzte Antwort
              0
              • L legro

                @codierknecht sagte in modbus und scale factors:

                @legro sagte in modbus und scale factors:
                Und dieses Register ist auch als "SF" markiert?

                Ich bin mir nicht darüber im Klaren, was du hiermit meinst.

                41f2c6f6-6771-4bcf-a25d-64d242e4a32c-image.png
                77246df6-0f0c-4a72-990b-391f63174e99-image.png
                Dies ist der Eintrag in der Modbus-Register-Liste für den Skalierungsfaktor.

                CodierknechtC Online
                CodierknechtC Online
                Codierknecht
                Developer Most Active
                schrieb am zuletzt editiert von
                #7

                @legro
                6a117259-89bc-435b-9e8d-aa26c5fb828f-image.png

                385d018c-fe58-4c07-b422-c2d9ed846ffd-image.png

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

                Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                HmIP|ZigBee|Tasmota|Unifi
                Zabbix Certified Specialist
                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                L 1 Antwort Letzte Antwort
                2
                • CodierknechtC Codierknecht

                  @legro
                  6a117259-89bc-435b-9e8d-aa26c5fb828f-image.png

                  385d018c-fe58-4c07-b422-c2d9ed846ffd-image.png

                  L Offline
                  L Offline
                  legro
                  schrieb am zuletzt editiert von legro
                  #8

                  @codierknecht

                  Vielen Dank, dein Tipp half mir einen Schritt weiterzukommen - leider jedoch nur bis zum nächsten Problem.

                  Zum Testen der ganze Angelegenheit, habe ich einen Trigger eingerichtet ..

                  eventFromGrid = on({id: `modbus.2.holdingRegisters.200.40115_TotWhImp`, change: 'gt'}, () => {
                      //let sf = Math.pow(10,getState(`modbus.2.holdingRegisters.200.40123_TotWh_SF`).val)
                      let aktImp = getState(`modbus.2.holdingRegisters.200.40115_TotWhImp`).val - getState(`0_userdata.0.Fronius.Modbus.fromGrid.startDayWh`).val
                      console.log(aktImp)
                      setState(`0_userdata.0.Fronius.Modbus.fromGrid.tmpDayWh`,aktImp,true)
                      let tmpPV = JSON.parse(getState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.fromGridKWh`).val)
                      tmpPV[Number(partsDate.tag)-1] = aktImp
                      setState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.fromGridKWh`,JSON.stringify(tmpPV),true)
                  })
                  

                  Der liefert nun, nachdem ich das Register 40123 als SF gespeichert habe, wieder Werte. Jedoch ohne den Skalierungsfaktor zu berücksichtigen. Den Fehler hierzu fand: Das Register 40123 wird auf null gesetzt und der zuvor enthaltende Faktor -2 hiermit überschrieben.

                  Was mache ich denn nun schon wieder falsch?

                  Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

                  HomoranH 1 Antwort Letzte Antwort
                  0
                  • L legro

                    @codierknecht

                    Vielen Dank, dein Tipp half mir einen Schritt weiterzukommen - leider jedoch nur bis zum nächsten Problem.

                    Zum Testen der ganze Angelegenheit, habe ich einen Trigger eingerichtet ..

                    eventFromGrid = on({id: `modbus.2.holdingRegisters.200.40115_TotWhImp`, change: 'gt'}, () => {
                        //let sf = Math.pow(10,getState(`modbus.2.holdingRegisters.200.40123_TotWh_SF`).val)
                        let aktImp = getState(`modbus.2.holdingRegisters.200.40115_TotWhImp`).val - getState(`0_userdata.0.Fronius.Modbus.fromGrid.startDayWh`).val
                        console.log(aktImp)
                        setState(`0_userdata.0.Fronius.Modbus.fromGrid.tmpDayWh`,aktImp,true)
                        let tmpPV = JSON.parse(getState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.fromGridKWh`).val)
                        tmpPV[Number(partsDate.tag)-1] = aktImp
                        setState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.fromGridKWh`,JSON.stringify(tmpPV),true)
                    })
                    

                    Der liefert nun, nachdem ich das Register 40123 als SF gespeichert habe, wieder Werte. Jedoch ohne den Skalierungsfaktor zu berücksichtigen. Den Fehler hierzu fand: Das Register 40123 wird auf null gesetzt und der zuvor enthaltende Faktor -2 hiermit überschrieben.

                    Was mache ich denn nun schon wieder falsch?

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

                    @legro sagte in modbus und scale factors:

                    Das Register wird auf null gesetzt

                    ist das ein Holdingregister?

                    Das ist eigentlich zum Beschreiben gedacht.
                    Nach Übernahme des zu schreibenden Wertes durch das Gerät, quittiert der das mit null.

                    Solltest du ausnahmsweise Werte auslesen wollen, musst du das konfigurieren

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

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

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

                    L 1 Antwort Letzte Antwort
                    0
                    • HomoranH Homoran

                      @legro sagte in modbus und scale factors:

                      Das Register wird auf null gesetzt

                      ist das ein Holdingregister?

                      Das ist eigentlich zum Beschreiben gedacht.
                      Nach Übernahme des zu schreibenden Wertes durch das Gerät, quittiert der das mit null.

                      Solltest du ausnahmsweise Werte auslesen wollen, musst du das konfigurieren

                      L Offline
                      L Offline
                      legro
                      schrieb am zuletzt editiert von legro
                      #10

                      @homoran

                      Ich verstehe überhaupt nichts mehr.:confused:

                      Es geht hier ausschließlich um sog. Holding Registers.

                      Das Register 40115 enthält den Wert, der vom Versorger bezogenen Energie in Wh*100 - ist also um den Faktor 100 zu groß. Das Register 40123 enthält den Wert des sog. Skalierungsfaktors, hier: -2.

                      Wenn ich in der Definition der Modbus-Register für das Register 40123 die Option SF anhake, wird der darin enthaltene Wert mit null überschrieben. Die in formula übergebene Formel findet also stets null für den Skalierungsfaktor vor. Was für ein Unsinn!

                      Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

                      HomoranH 3 Antworten Letzte Antwort
                      0
                      • L legro

                        @homoran

                        Ich verstehe überhaupt nichts mehr.:confused:

                        Es geht hier ausschließlich um sog. Holding Registers.

                        Das Register 40115 enthält den Wert, der vom Versorger bezogenen Energie in Wh*100 - ist also um den Faktor 100 zu groß. Das Register 40123 enthält den Wert des sog. Skalierungsfaktors, hier: -2.

                        Wenn ich in der Definition der Modbus-Register für das Register 40123 die Option SF anhake, wird der darin enthaltene Wert mit null überschrieben. Die in formula übergebene Formel findet also stets null für den Skalierungsfaktor vor. Was für ein Unsinn!

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

                        @legro sagte in modbus und scale factors:

                        Ich verstehe überhaupt nichts mehr.

                        was genau drnn jetzt nicht?

                        Warum zeigst du das Register in den Einstellungen nicht?
                        und zwar vollständig ohne Kopfzeilen oder Spalten abzuschneiden.
                        Dann kann man dir wahrscheinlich auch mehr erklären, wenn man weiß dass man über das selbe spricht

                        Hast du die Abfrage des Registers, das zum Schreiben gedacht ist, aktiviert?

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

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

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

                        1 Antwort Letzte Antwort
                        0
                        • L legro

                          @homoran

                          Ich verstehe überhaupt nichts mehr.:confused:

                          Es geht hier ausschließlich um sog. Holding Registers.

                          Das Register 40115 enthält den Wert, der vom Versorger bezogenen Energie in Wh*100 - ist also um den Faktor 100 zu groß. Das Register 40123 enthält den Wert des sog. Skalierungsfaktors, hier: -2.

                          Wenn ich in der Definition der Modbus-Register für das Register 40123 die Option SF anhake, wird der darin enthaltene Wert mit null überschrieben. Die in formula übergebene Formel findet also stets null für den Skalierungsfaktor vor. Was für ein Unsinn!

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

                          @legro ich versuche es noch einmal:

                          @legro sagte in modbus und scale factors:

                          Es geht hier ausschließlich um sog. Holding Registers.

                          Diese sind eigentlich nur zum Beschreiben gedacht.
                          Leider werden sie von einigen Herstellern auch zum Lesen missbraucht.

                          @legro sagte in modbus und scale factors:

                          Wenn ich in der Definition der Modbus-Register für das Register 40123 die Option SF anhake, wird der darin enthaltene Wert mit null überschrieben.

                          das macht das Gerät!
                          Es ist das Standardverhalten um anzuzeigen, dass es den eingegebenen Wert übernommen hat und wieder beteit ist neue Befehle zu übernehmen.

                          @legro sagte in modbus und scale factors:

                          Die in formula übergebene Formel findet also stets null für den Skalierungsfaktor vor.

                          eigentlich nicht.

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

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

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

                          1 Antwort Letzte Antwort
                          0
                          • L legro

                            @homoran

                            Ich verstehe überhaupt nichts mehr.:confused:

                            Es geht hier ausschließlich um sog. Holding Registers.

                            Das Register 40115 enthält den Wert, der vom Versorger bezogenen Energie in Wh*100 - ist also um den Faktor 100 zu groß. Das Register 40123 enthält den Wert des sog. Skalierungsfaktors, hier: -2.

                            Wenn ich in der Definition der Modbus-Register für das Register 40123 die Option SF anhake, wird der darin enthaltene Wert mit null überschrieben. Die in formula übergebene Formel findet also stets null für den Skalierungsfaktor vor. Was für ein Unsinn!

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

                            @legro das ganze lässt mir keine Ruhe.

                            Möglicherweise ist

                            @legro sagte in modbus und scale factors:

                            Es geht hier ausschließlich um sog. Holding Registers.

                            genau das Problem.

                            im Screenshot von @Codierknecht steht
                            Screenshot_20250211-110530_Firefox.jpg

                            Holdingregister sind aber grundsätzlich als Schreibregister anzusehen.

                            ist denn dieses Register laut Schnittstellenbeschreibung deines Gerätes auch beschreibbar?

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

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

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

                            L 1 Antwort Letzte Antwort
                            0
                            • L Offline
                              L Offline
                              legro
                              schrieb am zuletzt editiert von
                              #14

                              @homoran

                              So sieht die Definition des SF Registers aus ,,
                              94988da1-7725-4e08-be49-d9251cfeba79-image.png
                              e3f138ed-417f-4333-9130-8f08f4f2df7d-image.png

                              .. und das kommt anschließend dabei heraus ..
                              5520e5df-9be8-421f-a753-1511349b6534-image.png

                              Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

                              HomoranH 1 Antwort Letzte Antwort
                              0
                              • HomoranH Homoran

                                @legro das ganze lässt mir keine Ruhe.

                                Möglicherweise ist

                                @legro sagte in modbus und scale factors:

                                Es geht hier ausschließlich um sog. Holding Registers.

                                genau das Problem.

                                im Screenshot von @Codierknecht steht
                                Screenshot_20250211-110530_Firefox.jpg

                                Holdingregister sind aber grundsätzlich als Schreibregister anzusehen.

                                ist denn dieses Register laut Schnittstellenbeschreibung deines Gerätes auch beschreibbar?

                                L Offline
                                L Offline
                                legro
                                schrieb am zuletzt editiert von legro
                                #15

                                @homoran

                                Das Register 40123 gehört zu den sog. Holding Registers und enthält den vom Wechselrichter (Fronius GEN24) gelieferten Skalierungsfaktor für eine ganze Reihe von weiteren Werten.

                                Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

                                1 Antwort Letzte Antwort
                                0
                                • L legro

                                  @homoran

                                  So sieht die Definition des SF Registers aus ,,
                                  94988da1-7725-4e08-be49-d9251cfeba79-image.png
                                  e3f138ed-417f-4333-9130-8f08f4f2df7d-image.png

                                  .. und das kommt anschließend dabei heraus ..
                                  5520e5df-9be8-421f-a753-1511349b6534-image.png

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

                                  @legro

                                  @homoran sagte in modbus und scale factors:

                                  und zwar vollständig ohne Kopfzeilen oder Spalten abzuschneiden.
                                  Dann kann man dir wahrscheinlich auch mehr erklären,

                                  was ist das
                                  Screenshot_20250211-115431_Firefox.jpg

                                  @legro sagte in modbus und scale factors:

                                  @homoran

                                  Das Register 40123 gehört zu den sog. Holding Registers und enthält den vom Wechselrichter (Fronius GEN24) gelieferten Skalierungsfaktor für eine ganze Reihe von weiteren Werten.

                                  das mag ja alles stimmen,,aber dafür sind Holdingregister eigentlich nicht gedacht
                                  deswegen die Frage danach, ob der auch beschreibbar ist
                                  Dann wäre es das absolut normale Verhalten.

                                  Was dir natürlich nicht hilft, wenn der Hersteller da was nicht der Norm entsprechendes macht.

                                  Ganz abgesehen davon

                                  @legro sagte in modbus und scale factors:

                                  Das Register 40123 enthält den Wert des sog. Skalierungsfaktors, hier: -2.

                                  ein Faktor von -2 ??

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

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

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

                                  L 1 Antwort Letzte Antwort
                                  0
                                  • HomoranH Homoran

                                    @legro

                                    @homoran sagte in modbus und scale factors:

                                    und zwar vollständig ohne Kopfzeilen oder Spalten abzuschneiden.
                                    Dann kann man dir wahrscheinlich auch mehr erklären,

                                    was ist das
                                    Screenshot_20250211-115431_Firefox.jpg

                                    @legro sagte in modbus und scale factors:

                                    @homoran

                                    Das Register 40123 gehört zu den sog. Holding Registers und enthält den vom Wechselrichter (Fronius GEN24) gelieferten Skalierungsfaktor für eine ganze Reihe von weiteren Werten.

                                    das mag ja alles stimmen,,aber dafür sind Holdingregister eigentlich nicht gedacht
                                    deswegen die Frage danach, ob der auch beschreibbar ist
                                    Dann wäre es das absolut normale Verhalten.

                                    Was dir natürlich nicht hilft, wenn der Hersteller da was nicht der Norm entsprechendes macht.

                                    Ganz abgesehen davon

                                    @legro sagte in modbus und scale factors:

                                    Das Register 40123 enthält den Wert des sog. Skalierungsfaktors, hier: -2.

                                    ein Faktor von -2 ??

                                    L Offline
                                    L Offline
                                    legro
                                    schrieb am zuletzt editiert von
                                    #17

                                    @homoran

                                    Der Wert von SF ist -2, also der Exponent zur Basis 10, so habe ich es ja auch in der oben angegebenen Formel umgesetzt.

                                    Ich bin's leid. Weiß der Teufel, was hier schiefgeht. Wenn's eben nicht mittels der Option formula geht, mach' ich's halt selbst.

                                    eventFromGrid = on({id: `modbus.2.holdingRegisters.200.40115_TotWhImp`, change: 'gt'}, () => {
                                        let sf = Math.pow(10,getState(`modbus.2.holdingRegisters.200.40123_TotWh_SF`).val)
                                        let aktImp = getState(`modbus.2.holdingRegisters.200.40115_TotWhImp`).val * sf - getState(`0_userdata.0.Fronius.Modbus.fromGrid.startDayWh`).val
                                        setState(`0_userdata.0.Fronius.Modbus.fromGrid.tmpDayWh`,aktImp,true)
                                        let tmpPV = JSON.parse(getState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.fromGridKWh`).val)
                                        tmpPV[Number(partsDate.tag)-1] = aktImp
                                        setState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.fromGridKWh`,JSON.stringify(tmpPV),true)
                                    })
                                    

                                    Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

                                    HomoranH 1 Antwort Letzte Antwort
                                    0
                                    • L legro

                                      @homoran

                                      Der Wert von SF ist -2, also der Exponent zur Basis 10, so habe ich es ja auch in der oben angegebenen Formel umgesetzt.

                                      Ich bin's leid. Weiß der Teufel, was hier schiefgeht. Wenn's eben nicht mittels der Option formula geht, mach' ich's halt selbst.

                                      eventFromGrid = on({id: `modbus.2.holdingRegisters.200.40115_TotWhImp`, change: 'gt'}, () => {
                                          let sf = Math.pow(10,getState(`modbus.2.holdingRegisters.200.40123_TotWh_SF`).val)
                                          let aktImp = getState(`modbus.2.holdingRegisters.200.40115_TotWhImp`).val * sf - getState(`0_userdata.0.Fronius.Modbus.fromGrid.startDayWh`).val
                                          setState(`0_userdata.0.Fronius.Modbus.fromGrid.tmpDayWh`,aktImp,true)
                                          let tmpPV = JSON.parse(getState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.fromGridKWh`).val)
                                          tmpPV[Number(partsDate.tag)-1] = aktImp
                                          setState(`0_userdata.0.Fronius.Monatstabellen.${partsDate.jahr}.${partsDate.monat}.fromGridKWh`,JSON.stringify(tmpPV),true)
                                      })
                                      
                                      HomoranH Nicht stören
                                      HomoranH Nicht stören
                                      Homoran
                                      Global Moderator Administrators
                                      schrieb am zuletzt editiert von
                                      #18

                                      @legro sagte in modbus und scale factors:

                                      Ich bin's leid.

                                      warum beantwortest du die gestellten Fragen nicht?

                                      @homoran sagte in modbus und scale factors:

                                      Hast du die Abfrage des Registers, das zum Schreiben gedacht ist, aktiviert?

                                      und auf die Bitte dies zu zeigen kommt wieder nur ein angescnittener Screenshot
                                      Screenshot_20250211-115431_Firefox.jpg

                                      DA müsste meiner Erinnerung nach ein Haken rein.
                                      Dazu bräuchte ich aber den Spaltenkopf

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

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

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

                                      L 1 Antwort Letzte Antwort
                                      0
                                      • HomoranH Homoran

                                        @legro sagte in modbus und scale factors:

                                        Ich bin's leid.

                                        warum beantwortest du die gestellten Fragen nicht?

                                        @homoran sagte in modbus und scale factors:

                                        Hast du die Abfrage des Registers, das zum Schreiben gedacht ist, aktiviert?

                                        und auf die Bitte dies zu zeigen kommt wieder nur ein angescnittener Screenshot
                                        Screenshot_20250211-115431_Firefox.jpg

                                        DA müsste meiner Erinnerung nach ein Haken rein.
                                        Dazu bräuchte ich aber den Spaltenkopf

                                        L Offline
                                        L Offline
                                        legro
                                        schrieb am zuletzt editiert von
                                        #19

                                        @homoran

                                        Diesen Haken habe ich rein- und auch rausgemacht. Sichtlich ohne Erfolg.

                                        Ziemlich gefrustet habe ich das System nun einfach einmal für ein paar Stunden in Ruhe gelassen. Das war das entscheidende Rezept: Es funktioniert nun. In der Tat: Der Haken muss übrigens rein.

                                        Raspberry Pi 5 mit 8GB + 120GB SSD + Coordinator COD-m + ioBroker ..

                                        HomoranH 1 Antwort Letzte Antwort
                                        0
                                        • L legro

                                          @homoran

                                          Diesen Haken habe ich rein- und auch rausgemacht. Sichtlich ohne Erfolg.

                                          Ziemlich gefrustet habe ich das System nun einfach einmal für ein paar Stunden in Ruhe gelassen. Das war das entscheidende Rezept: Es funktioniert nun. In der Tat: Der Haken muss übrigens rein.

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

                                          @legro sagte in modbus und scale factors:

                                          Diesen Haken habe ich rein- und auch rausgemacht. Sichtlich ohne Erfolg.

                                          ist das der Haken für "Abfrage"?

                                          @legro sagte in modbus und scale factors:

                                          In der Tat: Der Haken muss übrigens rein.

                                          dann ist er es wohl!

                                          @legro sagte in modbus und scale factors:

                                          Es funktioniert nun

                                          wird wohl nichts mit dem Ruhen zu tun haben.
                                          Höchstens wird wegen

                                          If a value is marked with this flag, then the value will be stored into a variable with the following naming convention

                                          diese Variable bei jeder Veränderung in den Einstellungen geleert, und steht erstmal nicht zur Verfügung

                                          aber

                                          you can access other read modbus values

                                          ohne Haken ist es ein write Register!

                                          Ansonsten

                                          If the formula cannot be evaluated during runtime, then the Adapter writes a warning message to the log.

                                          müsste auch etwas im Log gestanden haben

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

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

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

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


                                          Support us

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

                                          807

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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