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. Tester
  4. Test Adapter Fronius 2.0.x

NEWS

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

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

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

Test Adapter Fronius 2.0.x

Scheduled Pinned Locked Moved Tester
164 Posts 25 Posters 31.3k Views 25 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.
  • P piForscher

    @thomas-braun Super, das Löschen von admin.1 hat den Knoten gelöst!
    Jetzt konnte ich den Fronius-Adapter wieder zum Laufen bringen.
    Dafür schonmal vielen Dank!!

    Die anderen Hosts sind von vorigen verzweifelten Versuchen mit abgestürtzten Slave-Images. Wie kann ich die loswerden ?

    Und ich nehme die Ermutigung an, mal ein Ubuntu-Update zu wagen 😉

    Thomas BraunT Online
    Thomas BraunT Online
    Thomas Braun
    Most Active
    wrote on last edited by
    #145

    @piforscher sagte in Test Adapter Fronius 2.0.x:

    Super, das Löschen von admin.1 hat den Knoten gelöst!

    Da sind halt die Auswirkungen von so einem strubbeligen Setup...

    Die anderen Hosts sind von vorigen verzweifelten Versuchen mit abgestürtzten Slave-Images. Wie kann ich die loswerden ?

    Siehst du die denn noch im Admin? Muss man sich vermutlich im Einzelnen anschauen wie die da angebunden sind. Offenbar hängen die ja nur noch in einer Angel...

    Und ich nehme die Ermutigung an, mal ein Ubuntu-Update zu wagen

    Da kommst du eh nicht drum herum.

    Linux-Werkzeugkasten:
    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
    NodeJS Fixer Skript:
    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

    mcm1957M 1 Reply Last reply
    0
    • Thomas BraunT Thomas Braun

      @piforscher sagte in Test Adapter Fronius 2.0.x:

      Super, das Löschen von admin.1 hat den Knoten gelöst!

      Da sind halt die Auswirkungen von so einem strubbeligen Setup...

      Die anderen Hosts sind von vorigen verzweifelten Versuchen mit abgestürtzten Slave-Images. Wie kann ich die loswerden ?

      Siehst du die denn noch im Admin? Muss man sich vermutlich im Einzelnen anschauen wie die da angebunden sind. Offenbar hängen die ja nur noch in einer Angel...

      Und ich nehme die Ermutigung an, mal ein Ubuntu-Update zu wagen

      Da kommst du eh nicht drum herum.

      mcm1957M Online
      mcm1957M Online
      mcm1957
      wrote on last edited by
      #146

      Release 2.1.1 ist ab morgen im LATEST zum Test verfügbar

      zu den Releasenotes:
      https://github.com/iobroker-community-adapters/ioBroker.fronius#211-2024-07-24

      DANKE @nkleber für den Fix betreffend leerer Objekte.

      Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
      Support Repositoryverwaltung.

      Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

      LESEN - gute Forenbeitrage

      1 Reply Last reply
      2
      • M Offline
        M Offline
        Martin 5
        wrote on last edited by
        #147

        Hallo, eine kleine Frage.
        Der Fronius-Adapter bezieht die Daten per API-Abfrage als Json-Daten (ist das richtig?). Ich benötige alle 5 Sekunden die aktuell erzeugte und die eingespeiste Leistung.
        Kann ich das Abfrageintervall auf 5 Sekunden stellen oder ist es effizienter die zwei Werte direkt per ModbusTCP abzufragen?

        Grüße Martin

        mcm1957M 1 Reply Last reply
        0
        • M Martin 5

          Hallo, eine kleine Frage.
          Der Fronius-Adapter bezieht die Daten per API-Abfrage als Json-Daten (ist das richtig?). Ich benötige alle 5 Sekunden die aktuell erzeugte und die eingespeiste Leistung.
          Kann ich das Abfrageintervall auf 5 Sekunden stellen oder ist es effizienter die zwei Werte direkt per ModbusTCP abzufragen?

          Grüße Martin

          mcm1957M Online
          mcm1957M Online
          mcm1957
          wrote on last edited by
          #148

          @martin-5
          Wenn du schon Zugriff via modbus hast, würde ich diesen Weg vorziehen da

          • er lokal ist
          • zumindest mir nicht bekannt ist wie oft der Inverter die Daten in der Cloud überhaupt aktualisiert
          • ob Fronius eine so häufige Datenabfrage gerne sieht oder überhaupt zulässt und dann ggF mit Sperrmaßnahmen reagiert.

          Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
          Support Repositoryverwaltung.

          Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

          LESEN - gute Forenbeitrage

          L 1 Reply Last reply
          0
          • mcm1957M mcm1957

            @martin-5
            Wenn du schon Zugriff via modbus hast, würde ich diesen Weg vorziehen da

            • er lokal ist
            • zumindest mir nicht bekannt ist wie oft der Inverter die Daten in der Cloud überhaupt aktualisiert
            • ob Fronius eine so häufige Datenabfrage gerne sieht oder überhaupt zulässt und dann ggF mit Sperrmaßnahmen reagiert.
            L Offline
            L Offline
            legro
            wrote on last edited by legro
            #149

            @mcm1957

            Ich dachte, dass der http-Request ebenfalls lokal vom Wechselrichter beantwortet wird. Liege ich damit (voll) daneben? Jedenfalls enthält doch die API des Wechselrichters eine derartige Möglichkeit.

            Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
            Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

            mcm1957M 1 Reply Last reply
            0
            • L legro

              @mcm1957

              Ich dachte, dass der http-Request ebenfalls lokal vom Wechselrichter beantwortet wird. Liege ich damit (voll) daneben? Jedenfalls enthält doch die API des Wechselrichters eine derartige Möglichkeit.

              mcm1957M Online
              mcm1957M Online
              mcm1957
              wrote on last edited by
              #150

              @legro said in Test Adapter Fronius 2.0.x:

              @mcm1957

              Ich dachte, dass der http-Request ebenfalls lokal vom Wechselrichter beantwortet wird. Liege ich damit (voll) daneben? Jedenfalls enthält doch die API des Wechselrichters eine derartige Möglichkeit.

              Du hast vollkommen recht. Ich hatt das anders im Kopf.
              Der Adapter benutzt das lokale Api.

              In diesem Fall sollten häufige Zugriffe kein Problem sein. Ob in diesem Fall modbus oder http das System mehr belasten kann ich leider nicht sagen.

              Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
              Support Repositoryverwaltung.

              Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

              LESEN - gute Forenbeitrage

              T 1 Reply Last reply
              0
              • mcm1957M mcm1957

                @legro said in Test Adapter Fronius 2.0.x:

                @mcm1957

                Ich dachte, dass der http-Request ebenfalls lokal vom Wechselrichter beantwortet wird. Liege ich damit (voll) daneben? Jedenfalls enthält doch die API des Wechselrichters eine derartige Möglichkeit.

                Du hast vollkommen recht. Ich hatt das anders im Kopf.
                Der Adapter benutzt das lokale Api.

                In diesem Fall sollten häufige Zugriffe kein Problem sein. Ob in diesem Fall modbus oder http das System mehr belasten kann ich leider nicht sagen.

                T Offline
                T Offline
                topsurfer
                wrote on last edited by
                #151

                Hallo,
                hab den Fronius-Adapter auch installiert, bekomme auch wohl alle Daten.
                Danke für den Adapter, hat auf Anhieb funktioniert!

                In der App sieht man ja auch "Stromerzeugung heute", "Verbrauch heute" und auch den Autarkiegrad.

                In den Datenpunkten (sind ja ca. 100) sehe ich diese Werte so nicht, ist das korrekt?
                Muss ich diese Werte selbst errechnen, wenn ja, welche DP nehmt ihr da?


                Anleitung zur Integration Enocean/Eltako in iobroker (Beta!)
                https://www.mmhaus.de/eltako-device-in-iobroker-integrieren-enocean

                jmeister79J NegaleinN 2 Replies Last reply
                0
                • T topsurfer

                  Hallo,
                  hab den Fronius-Adapter auch installiert, bekomme auch wohl alle Daten.
                  Danke für den Adapter, hat auf Anhieb funktioniert!

                  In der App sieht man ja auch "Stromerzeugung heute", "Verbrauch heute" und auch den Autarkiegrad.

                  In den Datenpunkten (sind ja ca. 100) sehe ich diese Werte so nicht, ist das korrekt?
                  Muss ich diese Werte selbst errechnen, wenn ja, welche DP nehmt ihr da?

                  jmeister79J Offline
                  jmeister79J Offline
                  jmeister79
                  wrote on last edited by
                  #152

                  @topsurfer
                  das muss man sich natürlich selber errechnen.

                  Gibt es adapter für die das automatisch machen oder du bastelst dir n script.
                  Ist recht simpel.

                  T 1 Reply Last reply
                  0
                  • T topsurfer

                    Hallo,
                    hab den Fronius-Adapter auch installiert, bekomme auch wohl alle Daten.
                    Danke für den Adapter, hat auf Anhieb funktioniert!

                    In der App sieht man ja auch "Stromerzeugung heute", "Verbrauch heute" und auch den Autarkiegrad.

                    In den Datenpunkten (sind ja ca. 100) sehe ich diese Werte so nicht, ist das korrekt?
                    Muss ich diese Werte selbst errechnen, wenn ja, welche DP nehmt ihr da?

                    NegaleinN Offline
                    NegaleinN Offline
                    Negalein
                    Global Moderator
                    wrote on last edited by
                    #153

                    @topsurfer sagte in Test Adapter Fronius 2.0.x:

                    In der App sieht man ja auch "Stromerzeugung heute", "Verbrauch heute" und auch den Autarkiegrad.

                    das kann glaube ich der fronius-solarweb Adapter

                    ° Node.js: 20.17.0 NPM: 10.8.2
                    ° Proxmox, Ubuntu 22.04.3 LTS
                    ° Fixer ---> iob fix

                    L 1 Reply Last reply
                    0
                    • NegaleinN Negalein

                      @topsurfer sagte in Test Adapter Fronius 2.0.x:

                      In der App sieht man ja auch "Stromerzeugung heute", "Verbrauch heute" und auch den Autarkiegrad.

                      das kann glaube ich der fronius-solarweb Adapter

                      L Offline
                      L Offline
                      legro
                      wrote on last edited by
                      #154

                      @negalein @topsurfer

                      All dies habe ich in unserer Visualisierung selbst umgesetzt. Meine Absicht: Ich möchte ausschließlich die echten Werte auf der Wechselstromseite haben, denn nur diese finden sich nachher auch in unserem Portemonnaie wieder.🙂

                      Wer wissen will, wie wir‘s gelöst haben, findet in diesem Thread die Dokumentation.

                      Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                      Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                      K 1 Reply Last reply
                      0
                      • K Offline
                        K Offline
                        klassisch
                        Most Active
                        wrote on last edited by
                        #155

                        Man kann den PV Ertrag auch selbst mit einem Script aus den Stringleistungen integrieren.
                        Datenpunkte:

                        fronius.0.site.P_PV
                        fronius.0.inverter.1.PDC
                        fronius.0.inverter.1.PDC_2
                        
                        1 Reply Last reply
                        0
                        • L legro

                          @negalein @topsurfer

                          All dies habe ich in unserer Visualisierung selbst umgesetzt. Meine Absicht: Ich möchte ausschließlich die echten Werte auf der Wechselstromseite haben, denn nur diese finden sich nachher auch in unserem Portemonnaie wieder.🙂

                          Wer wissen will, wie wir‘s gelöst haben, findet in diesem Thread die Dokumentation.

                          K Offline
                          K Offline
                          klassisch
                          Most Active
                          wrote on last edited by
                          #156

                          @legro sagte in Test Adapter Fronius 2.0.x:

                          Meine Absicht: Ich möchte ausschließlich die echten Werte auf der Wechselstromseite haben, denn nur diese finden sich nachher auch in unserem Portemonnaie wieder.

                          Wenn es ums Geld geht, ist der Smartmeter-Adapter, der die Daten aus dem offiziellen Zähler ausliest, hilreich. Ersatzweise die Energiewerte des Fronius-Smartmeters.

                          Mittlerweile muß man die PV Leistung nicht mehr durch U*I ermiteln. Die PV Leistungen gibt es jetzt direkt in der Struktur site

                          1 Reply Last reply
                          0
                          • jmeister79J jmeister79

                            @topsurfer
                            das muss man sich natürlich selber errechnen.

                            Gibt es adapter für die das automatisch machen oder du bastelst dir n script.
                            Ist recht simpel.

                            T Offline
                            T Offline
                            topsurfer
                            wrote on last edited by
                            #157

                            @jmeister79 said in Test Adapter Fronius 2.0.x:

                            das muss man sich natürlich selber errechnen.
                            Gibt es adapter für die das automatisch machen

                            Dachte, weil es in Tasmota diese Aktuell- und Tageswerte auch automatisch gibt bzw. angeboten werden.

                            Welche "Adapter" sind das, die diese Werte anbieten?
                            Zusätzlich oder als komplette alternative zum Fronius 2.0 Adapter?


                            Anleitung zur Integration Enocean/Eltako in iobroker (Beta!)
                            https://www.mmhaus.de/eltako-device-in-iobroker-integrieren-enocean

                            jmeister79J 1 Reply Last reply
                            0
                            • T topsurfer

                              @jmeister79 said in Test Adapter Fronius 2.0.x:

                              das muss man sich natürlich selber errechnen.
                              Gibt es adapter für die das automatisch machen

                              Dachte, weil es in Tasmota diese Aktuell- und Tageswerte auch automatisch gibt bzw. angeboten werden.

                              Welche "Adapter" sind das, die diese Werte anbieten?
                              Zusätzlich oder als komplette alternative zum Fronius 2.0 Adapter?

                              jmeister79J Offline
                              jmeister79J Offline
                              jmeister79
                              wrote on last edited by
                              #158

                              @topsurfer

                              VirtualPowermeter zB.

                              Wenn du das Fronius Smartmeter hast ist es relativ simpel:

                              Das soltlest Du im Fronius adapter unter Site sehen.
                              Dann kannst Du dir den Energiezähler in einen eigenen Datenpunkt ziehen und bei änderung aufaddieren oder direkt erfassen.
                              Dann brauchst du noch n Trigger, der Täglich (bzw wie bei mir stündlich, wöchentlich etc.) die werte abspeichert und in eine etnsprechende variable schreibt, die kannst du dann via History in eine db speichern.
                              So erfasse ich zb. Tages,Wochen, Moants, Jahreswerte für PV, Wallbox, Verbraucher, Pumpen, Gas, einspeisung etc.

                              Nils

                              auf Wunsch kann ich dir das Programm geben, aber ich bitte um verständnis, dass ich hier ugnerne support leiste, da ich es für mich geschrieben habe und ggf. Deine Config nicht passt, ich hab es aber gut Dokumentiert, da ich quellcode abends direkt vergesse wenn ich ins Bett gehe 😄

                              A 1 Reply Last reply
                              0
                              • jmeister79J jmeister79

                                @topsurfer

                                VirtualPowermeter zB.

                                Wenn du das Fronius Smartmeter hast ist es relativ simpel:

                                Das soltlest Du im Fronius adapter unter Site sehen.
                                Dann kannst Du dir den Energiezähler in einen eigenen Datenpunkt ziehen und bei änderung aufaddieren oder direkt erfassen.
                                Dann brauchst du noch n Trigger, der Täglich (bzw wie bei mir stündlich, wöchentlich etc.) die werte abspeichert und in eine etnsprechende variable schreibt, die kannst du dann via History in eine db speichern.
                                So erfasse ich zb. Tages,Wochen, Moants, Jahreswerte für PV, Wallbox, Verbraucher, Pumpen, Gas, einspeisung etc.

                                Nils

                                auf Wunsch kann ich dir das Programm geben, aber ich bitte um verständnis, dass ich hier ugnerne support leiste, da ich es für mich geschrieben habe und ggf. Deine Config nicht passt, ich hab es aber gut Dokumentiert, da ich quellcode abends direkt vergesse wenn ich ins Bett gehe 😄

                                A Offline
                                A Offline
                                Alex4
                                wrote on last edited by Alex4
                                #159

                                Gibt es beim Adapter eine Möglichkeit Zeitabhängige Batteriesteuerung (sregeln) zu erstellen bzw. zu löschen?

                                Meine Idee wäre, die Prognose für die nächten Tage anzuschauen und wenn diese wieder eine volle Batterie ergibt, ich eine Zeit x bei meinem 4 Fronius eine minimale Batterieentladung festlege.

                                Damit kann ich in die Energiegemeinschaft einspeisen und falls diese den Strom nicht brauchen zum möglichst höchsten Strompreis verkaufen.
                                Damit verhindere ich außerdem, dass bei einem minus Strompreis, ich fürs Einspeisen am nächsten Tag drauf zahle.

                                Hat das jemand schon mit dem Fronius Adapter gemacht?

                                Dabei müsste man bei erfüllten Bedingungen zb. folgende Regel im Gen24 erstellen bzw ändert die Zeiten nach dem dynamischen Stromtarifen (da wird die Leitung im Netz auch gebraucht):

                                f0da3468-b000-472d-a3b7-4e88a019a486-image.png

                                Wird die Bedingung nicht erfüllt, löscht man alle vorhandenen Regeln raus oder stellt sie auf inaktiv.
                                1ef4161f-51ec-483b-9e1f-404f7f2473e1-image.png

                                Bei mehreren Gen24 muss man das natürlich auf allen gleich konfigurieren, sonst entlädt man eine Batterie und lädt damit die anderen.

                                Die aktuellen Strompreise gibts über den Power Grid (APG) Info (AT+DE+CH) Adapter

                                Für den Forcast der Sonnenstunden bzw. des zu erwartenden Ertrags hab ich noch nichts gefunden.

                                nkleberN 1 Reply Last reply
                                0
                                • A Alex4

                                  Gibt es beim Adapter eine Möglichkeit Zeitabhängige Batteriesteuerung (sregeln) zu erstellen bzw. zu löschen?

                                  Meine Idee wäre, die Prognose für die nächten Tage anzuschauen und wenn diese wieder eine volle Batterie ergibt, ich eine Zeit x bei meinem 4 Fronius eine minimale Batterieentladung festlege.

                                  Damit kann ich in die Energiegemeinschaft einspeisen und falls diese den Strom nicht brauchen zum möglichst höchsten Strompreis verkaufen.
                                  Damit verhindere ich außerdem, dass bei einem minus Strompreis, ich fürs Einspeisen am nächsten Tag drauf zahle.

                                  Hat das jemand schon mit dem Fronius Adapter gemacht?

                                  Dabei müsste man bei erfüllten Bedingungen zb. folgende Regel im Gen24 erstellen bzw ändert die Zeiten nach dem dynamischen Stromtarifen (da wird die Leitung im Netz auch gebraucht):

                                  f0da3468-b000-472d-a3b7-4e88a019a486-image.png

                                  Wird die Bedingung nicht erfüllt, löscht man alle vorhandenen Regeln raus oder stellt sie auf inaktiv.
                                  1ef4161f-51ec-483b-9e1f-404f7f2473e1-image.png

                                  Bei mehreren Gen24 muss man das natürlich auf allen gleich konfigurieren, sonst entlädt man eine Batterie und lädt damit die anderen.

                                  Die aktuellen Strompreise gibts über den Power Grid (APG) Info (AT+DE+CH) Adapter

                                  Für den Forcast der Sonnenstunden bzw. des zu erwartenden Ertrags hab ich noch nichts gefunden.

                                  nkleberN Offline
                                  nkleberN Offline
                                  nkleber
                                  wrote on last edited by nkleber
                                  #160

                                  @alex4 Mit dem Fronius Adapter ist das nicht möglich da die API nur ein lesen der Daten zulässt. Du kannst das aber natürlich mit dem Modbus Adapter machen. Ob dort direkt die Zeitabhänige Batteriesteuerung angepasst werden kann oder ob das Script direkt auf die Batterie Ladung/Entladung eingreifen muss, kann ich dir so nicht sagen. Die direkte Batteriesteuerung für Laden/Entladen geht aber auf jeden fall mit den Modbus adapter und Scripts...

                                  Siehe https://forum.iobroker.net/topic/65047/fronius-symo-gen24-minsoc-einstellen wo ein ähnliches Thema diskutiert wurde

                                  A 1 Reply Last reply
                                  1
                                  • nkleberN nkleber

                                    @alex4 Mit dem Fronius Adapter ist das nicht möglich da die API nur ein lesen der Daten zulässt. Du kannst das aber natürlich mit dem Modbus Adapter machen. Ob dort direkt die Zeitabhänige Batteriesteuerung angepasst werden kann oder ob das Script direkt auf die Batterie Ladung/Entladung eingreifen muss, kann ich dir so nicht sagen. Die direkte Batteriesteuerung für Laden/Entladen geht aber auf jeden fall mit den Modbus adapter und Scripts...

                                    Siehe https://forum.iobroker.net/topic/65047/fronius-symo-gen24-minsoc-einstellen wo ein ähnliches Thema diskutiert wurde

                                    A Offline
                                    A Offline
                                    Alex4
                                    wrote on last edited by Alex4
                                    #161

                                    @nkleber Das Problem ist, dass ich zb. mit einer gewissen Leistung entladen will und wenn man von der Batterie eine Zwangsladung veranlasst, macht das der Gen24 mit 500Watt. Ich muss hier die Leistung mitgeben können. Das hätte ich beim Modbus nicht gefunden bis dato.

                                    Was ich rausgefunden habe ist, dass man die Requests den Webinterfaces vielleicht benutzen kann:

                                    http post http://xxx.xxx.xxx.xxx/config/timeofuse

                                    Content: {"timeofuse":[{"Active":true,"Power":3000,"ScheduleType":"DISCHARGE_MIN","TimeTable":{"Start":"20:00","End":"21:00"},"Weekdays":{"Mon":true,"Tue":true,"Wed":true,"Thu":true,"Fri":true,"Sat":true,"Sun":true}}]}
                                    

                                    result:

                                    {
                                    	"errors" : [],
                                    	"permissionFailure" : [],
                                    	"unknownNodes" : [],
                                    	"validationErrors" : [],
                                    	"writeFailure" : [],
                                    	"writeSuccess" : 
                                    	[
                                    		"timeofuse"
                                    	]
                                    }
                                    

                                    Löschen geht dann:

                                    http post http://xxx.xxx.xxx.xxx/config/timeofuse

                                    Content:

                                    {"timeofuse":[]}
                                    

                                    result:

                                    {
                                    	"errors" : [],
                                    	"permissionFailure" : [],
                                    	"unknownNodes" : [],
                                    	"validationErrors" : [],
                                    	"writeFailure" : [],
                                    	"writeSuccess" : 
                                    	[
                                    		"timeofuse"
                                    	]
                                    }
                                    

                                    Um die Werte abzufragen gibts folgendes http get http://10.10.13.211/config/timeofuse, dort kommt dann das array zurück, sofern die authentifzierung passt.

                                    Die Authentifzierung wird im Header unter

                                    authorization: Digest username="technician", realm="Webinterface area", nonce="xxxxxxxxxxx", uri="/config/timeofuse", response="xxxxxxxxxxx", qop=auth, nc=00000042, cnonce="xxxxxxxxxxx"
                                    

                                    Die Werte response und cnonce ändern sich bei jedem request dabei, der Wert nonce bleibt für einige Zeit gleich. Der Wert nc wird hochgezählt bei jeder Abfrage, sobald dieser bei mir gerade 61 erreicht hat, wird der counter resettet und gebinnt wieder bei 01 und nonce hat einen neuen tokken oder hash.

                                    im main.js am gen24 findet man auch die authentication berechnung.

                                                   key: "digestAuthHeader",
                                                    value: function(p, g, w, b) {
                                                        for (var B = !(arguments.length > 4 && void 0 !== arguments[4]) || arguments[4], y = w.split(","), T = {}, L = 0; L < y.length; L++) {
                                                            var S = y[L].match(this.AUTH_KEY_VALUE_RE);
                                                            S && (T[S[1]] = S[2].replace(/["']/g, ""))
                                                        }
                                                        if (!T.realm || !T.nonce)
                                                            return "";
                                                        var k = T.qop || ""
                                                          , R = _.splitCredentials(b)
                                                          , Y = String(++this.NC);
                                                        Y = this.NC_PAD.substring(Y.length) + Y;
                                                        var U = this.randomBytes(8).join("")
                                                          , X = B ? o.V8.hashStr(R.username + ":" + T.realm + ":" + R.password) : R.password
                                                          , z = o.V8.hashStr(p.toUpperCase() + ":" + g)
                                                          , H = X + ":" + T.nonce;
                                                        k && (H += ":" + Y + ":" + U + ":" + (k = k.split(",")[0]));
                                                        var se = o.V8.hashStr(H += ":" + z)
                                                          , te = 'Digest username="' + R.username + '", realm="' + T.realm + '", nonce="' + T.nonce + '", uri="' + g + '", response="' + se + '"';
                                                        return T.opaque && (te += ', opaque="' + T.opaque + '"'),
                                                        k && (te += ", qop=" + k + ", nc=" + Y + ', cnonce="' + U + '"'),
                                                        te
                                                    }
                                    

                                    Die funktion calcHash(User, realm, password)

                                             key: "calcHash",
                                                    value: function(p, g, w) {
                                                        return o.V8.hashStr(p + ":" + g + ":" + w)
                                                    }
                                                  key: "hashStr",
                                                    value: function(s) {
                                                        var p = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                                                        return this.onePassHasher.start().appendStr(s).end(p)
                                                    }
                                    

                                    Wenn ich den Code richtig verstehe, wird in der respone der Username, realm und das Passwort per hash übertragen. Mittels einen ,,onePassHasher", dieser dürfte aus diesem Github Projekt stammen: https://github.com/cotag/ts-md5/tree/master/src

                                    ste_gleiS nkleberN 2 Replies Last reply
                                    0
                                    • A Alex4

                                      @nkleber Das Problem ist, dass ich zb. mit einer gewissen Leistung entladen will und wenn man von der Batterie eine Zwangsladung veranlasst, macht das der Gen24 mit 500Watt. Ich muss hier die Leistung mitgeben können. Das hätte ich beim Modbus nicht gefunden bis dato.

                                      Was ich rausgefunden habe ist, dass man die Requests den Webinterfaces vielleicht benutzen kann:

                                      http post http://xxx.xxx.xxx.xxx/config/timeofuse

                                      Content: {"timeofuse":[{"Active":true,"Power":3000,"ScheduleType":"DISCHARGE_MIN","TimeTable":{"Start":"20:00","End":"21:00"},"Weekdays":{"Mon":true,"Tue":true,"Wed":true,"Thu":true,"Fri":true,"Sat":true,"Sun":true}}]}
                                      

                                      result:

                                      {
                                      	"errors" : [],
                                      	"permissionFailure" : [],
                                      	"unknownNodes" : [],
                                      	"validationErrors" : [],
                                      	"writeFailure" : [],
                                      	"writeSuccess" : 
                                      	[
                                      		"timeofuse"
                                      	]
                                      }
                                      

                                      Löschen geht dann:

                                      http post http://xxx.xxx.xxx.xxx/config/timeofuse

                                      Content:

                                      {"timeofuse":[]}
                                      

                                      result:

                                      {
                                      	"errors" : [],
                                      	"permissionFailure" : [],
                                      	"unknownNodes" : [],
                                      	"validationErrors" : [],
                                      	"writeFailure" : [],
                                      	"writeSuccess" : 
                                      	[
                                      		"timeofuse"
                                      	]
                                      }
                                      

                                      Um die Werte abzufragen gibts folgendes http get http://10.10.13.211/config/timeofuse, dort kommt dann das array zurück, sofern die authentifzierung passt.

                                      Die Authentifzierung wird im Header unter

                                      authorization: Digest username="technician", realm="Webinterface area", nonce="xxxxxxxxxxx", uri="/config/timeofuse", response="xxxxxxxxxxx", qop=auth, nc=00000042, cnonce="xxxxxxxxxxx"
                                      

                                      Die Werte response und cnonce ändern sich bei jedem request dabei, der Wert nonce bleibt für einige Zeit gleich. Der Wert nc wird hochgezählt bei jeder Abfrage, sobald dieser bei mir gerade 61 erreicht hat, wird der counter resettet und gebinnt wieder bei 01 und nonce hat einen neuen tokken oder hash.

                                      im main.js am gen24 findet man auch die authentication berechnung.

                                                     key: "digestAuthHeader",
                                                      value: function(p, g, w, b) {
                                                          for (var B = !(arguments.length > 4 && void 0 !== arguments[4]) || arguments[4], y = w.split(","), T = {}, L = 0; L < y.length; L++) {
                                                              var S = y[L].match(this.AUTH_KEY_VALUE_RE);
                                                              S && (T[S[1]] = S[2].replace(/["']/g, ""))
                                                          }
                                                          if (!T.realm || !T.nonce)
                                                              return "";
                                                          var k = T.qop || ""
                                                            , R = _.splitCredentials(b)
                                                            , Y = String(++this.NC);
                                                          Y = this.NC_PAD.substring(Y.length) + Y;
                                                          var U = this.randomBytes(8).join("")
                                                            , X = B ? o.V8.hashStr(R.username + ":" + T.realm + ":" + R.password) : R.password
                                                            , z = o.V8.hashStr(p.toUpperCase() + ":" + g)
                                                            , H = X + ":" + T.nonce;
                                                          k && (H += ":" + Y + ":" + U + ":" + (k = k.split(",")[0]));
                                                          var se = o.V8.hashStr(H += ":" + z)
                                                            , te = 'Digest username="' + R.username + '", realm="' + T.realm + '", nonce="' + T.nonce + '", uri="' + g + '", response="' + se + '"';
                                                          return T.opaque && (te += ', opaque="' + T.opaque + '"'),
                                                          k && (te += ", qop=" + k + ", nc=" + Y + ', cnonce="' + U + '"'),
                                                          te
                                                      }
                                      

                                      Die funktion calcHash(User, realm, password)

                                               key: "calcHash",
                                                      value: function(p, g, w) {
                                                          return o.V8.hashStr(p + ":" + g + ":" + w)
                                                      }
                                                    key: "hashStr",
                                                      value: function(s) {
                                                          var p = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                                                          return this.onePassHasher.start().appendStr(s).end(p)
                                                      }
                                      

                                      Wenn ich den Code richtig verstehe, wird in der respone der Username, realm und das Passwort per hash übertragen. Mittels einen ,,onePassHasher", dieser dürfte aus diesem Github Projekt stammen: https://github.com/cotag/ts-md5/tree/master/src

                                      ste_gleiS Offline
                                      ste_gleiS Offline
                                      ste_glei
                                      wrote on last edited by
                                      #162

                                      @alex4 sagte in Test Adapter Fronius 2.0.x:

                                      @nkleber Das Problem ist, dass ich zb. mit einer gewissen Leistung entladen will und wenn man von der Batterie eine Zwangsladung veranlasst, macht das der Gen24 mit 500Watt. Ich muss hier die Leistung mitgeben können. Das hätte ich beim Modbus nicht gefunden bis dato.

                                      Hier wurde das Thema behandelt

                                      https://forum.iobroker.net/topic/77932/geklärt-mit-modbus-fronius-akku-aus-dem-netz-beladen

                                      1 Reply Last reply
                                      0
                                      • A Alex4

                                        @nkleber Das Problem ist, dass ich zb. mit einer gewissen Leistung entladen will und wenn man von der Batterie eine Zwangsladung veranlasst, macht das der Gen24 mit 500Watt. Ich muss hier die Leistung mitgeben können. Das hätte ich beim Modbus nicht gefunden bis dato.

                                        Was ich rausgefunden habe ist, dass man die Requests den Webinterfaces vielleicht benutzen kann:

                                        http post http://xxx.xxx.xxx.xxx/config/timeofuse

                                        Content: {"timeofuse":[{"Active":true,"Power":3000,"ScheduleType":"DISCHARGE_MIN","TimeTable":{"Start":"20:00","End":"21:00"},"Weekdays":{"Mon":true,"Tue":true,"Wed":true,"Thu":true,"Fri":true,"Sat":true,"Sun":true}}]}
                                        

                                        result:

                                        {
                                        	"errors" : [],
                                        	"permissionFailure" : [],
                                        	"unknownNodes" : [],
                                        	"validationErrors" : [],
                                        	"writeFailure" : [],
                                        	"writeSuccess" : 
                                        	[
                                        		"timeofuse"
                                        	]
                                        }
                                        

                                        Löschen geht dann:

                                        http post http://xxx.xxx.xxx.xxx/config/timeofuse

                                        Content:

                                        {"timeofuse":[]}
                                        

                                        result:

                                        {
                                        	"errors" : [],
                                        	"permissionFailure" : [],
                                        	"unknownNodes" : [],
                                        	"validationErrors" : [],
                                        	"writeFailure" : [],
                                        	"writeSuccess" : 
                                        	[
                                        		"timeofuse"
                                        	]
                                        }
                                        

                                        Um die Werte abzufragen gibts folgendes http get http://10.10.13.211/config/timeofuse, dort kommt dann das array zurück, sofern die authentifzierung passt.

                                        Die Authentifzierung wird im Header unter

                                        authorization: Digest username="technician", realm="Webinterface area", nonce="xxxxxxxxxxx", uri="/config/timeofuse", response="xxxxxxxxxxx", qop=auth, nc=00000042, cnonce="xxxxxxxxxxx"
                                        

                                        Die Werte response und cnonce ändern sich bei jedem request dabei, der Wert nonce bleibt für einige Zeit gleich. Der Wert nc wird hochgezählt bei jeder Abfrage, sobald dieser bei mir gerade 61 erreicht hat, wird der counter resettet und gebinnt wieder bei 01 und nonce hat einen neuen tokken oder hash.

                                        im main.js am gen24 findet man auch die authentication berechnung.

                                                       key: "digestAuthHeader",
                                                        value: function(p, g, w, b) {
                                                            for (var B = !(arguments.length > 4 && void 0 !== arguments[4]) || arguments[4], y = w.split(","), T = {}, L = 0; L < y.length; L++) {
                                                                var S = y[L].match(this.AUTH_KEY_VALUE_RE);
                                                                S && (T[S[1]] = S[2].replace(/["']/g, ""))
                                                            }
                                                            if (!T.realm || !T.nonce)
                                                                return "";
                                                            var k = T.qop || ""
                                                              , R = _.splitCredentials(b)
                                                              , Y = String(++this.NC);
                                                            Y = this.NC_PAD.substring(Y.length) + Y;
                                                            var U = this.randomBytes(8).join("")
                                                              , X = B ? o.V8.hashStr(R.username + ":" + T.realm + ":" + R.password) : R.password
                                                              , z = o.V8.hashStr(p.toUpperCase() + ":" + g)
                                                              , H = X + ":" + T.nonce;
                                                            k && (H += ":" + Y + ":" + U + ":" + (k = k.split(",")[0]));
                                                            var se = o.V8.hashStr(H += ":" + z)
                                                              , te = 'Digest username="' + R.username + '", realm="' + T.realm + '", nonce="' + T.nonce + '", uri="' + g + '", response="' + se + '"';
                                                            return T.opaque && (te += ', opaque="' + T.opaque + '"'),
                                                            k && (te += ", qop=" + k + ", nc=" + Y + ', cnonce="' + U + '"'),
                                                            te
                                                        }
                                        

                                        Die funktion calcHash(User, realm, password)

                                                 key: "calcHash",
                                                        value: function(p, g, w) {
                                                            return o.V8.hashStr(p + ":" + g + ":" + w)
                                                        }
                                                      key: "hashStr",
                                                        value: function(s) {
                                                            var p = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                                                            return this.onePassHasher.start().appendStr(s).end(p)
                                                        }
                                        

                                        Wenn ich den Code richtig verstehe, wird in der respone der Username, realm und das Passwort per hash übertragen. Mittels einen ,,onePassHasher", dieser dürfte aus diesem Github Projekt stammen: https://github.com/cotag/ts-md5/tree/master/src

                                        nkleberN Offline
                                        nkleberN Offline
                                        nkleber
                                        wrote on last edited by
                                        #163

                                        @alex4 Wo hast du die Info bzgl. dem config/timeofuse her. Das klingt grundsätzlich interessant, funktioniert bei mir aber so noch nicht... Eventuell gibt es da ja noch mehr "config" parameter die nutzbar wären

                                        A 1 Reply Last reply
                                        0
                                        • nkleberN nkleber

                                          @alex4 Wo hast du die Info bzgl. dem config/timeofuse her. Das klingt grundsätzlich interessant, funktioniert bei mir aber so noch nicht... Eventuell gibt es da ja noch mehr "config" parameter die nutzbar wären

                                          A Offline
                                          A Offline
                                          Alex4
                                          wrote on last edited by Alex4
                                          #164

                                          @nkleber Du kannst im Browser den developer Mode starten und dann den Netzwerk verkehr mit lauschen. Da siehst Du die Requests die abgesetzt werden von der GUI gegen die API für die Weboberfläche. Das ist natürlich keine API die vermutlich irgendwo dokumentiert ist, aber zumindest kann man diese so verwenden.

                                          Man muss nur das Login via Script machen und sich die variablen / hashes irgendwo speichern und falls diese abgelaufen sind, das Login erneut anstoßen. Bei jedem Request muss der digestAuthHeader neu erstellt werden. Siehe oben.

                                          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

                                          434

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          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