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. Entwicklung
  4. FRONIUS Adapter Entwicklung eingestellt?

NEWS

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

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

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

FRONIUS Adapter Entwicklung eingestellt?

Geplant Angeheftet Gesperrt Verschoben Entwicklung
fronius
440 Beiträge 44 Kommentatoren 118.7k Aufrufe 45 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.
  • JB_SullivanJ JB_Sullivan

    @qqolli Ist bei mir genau das gleiche - ich vermute das der Solarteur nach der Einrichtung der Anlage die ModBus Funktion wieder deaktiviert hat - wobei ich mich frage, wie das Fronius Smartmeter dann mit dem Wechselrichter und dem BYD Speicher kommunizieren soll - ich dachte die "Reden" alle über ModBus miteinander ?!?!?!

    qqolliQ Offline
    qqolliQ Offline
    qqolli
    schrieb am zuletzt editiert von
    #185

    @JB_Sullivan

    Ja, das tun sie. Hat mir der Solateur heute nochmal bestätigt.

    1 Antwort Letzte Antwort
    0
    • M Mike97714

      @qqolli
      Hast du in den Holding Registers etwas eingetragen ? Da muss mindestens 1 Eintrag sein sonst wird der Adapter nicht Grün.

      qqolliQ Offline
      qqolliQ Offline
      qqolli
      schrieb am zuletzt editiert von
      #186

      @Mike97714

      Nein wüsste auch nicht was ich da eintragen soll, bzw. wo ich all die Infos herbekomme.

      Hättest Du einen Vorschlag, was man da eintragen muss?

      JB_SullivanJ 1 Antwort Letzte Antwort
      0
      • qqolliQ qqolli

        @Mike97714

        Nein wüsste auch nicht was ich da eintragen soll, bzw. wo ich all die Infos herbekomme.

        Hättest Du einen Vorschlag, was man da eintragen muss?

        JB_SullivanJ Offline
        JB_SullivanJ Offline
        JB_Sullivan
        schrieb am zuletzt editiert von
        #187

        @qqolli Hier bei Beitrag 136 hatte @Mike97714 das schonmal gepostet. Ich habe es auch so probiert, aber der Adapter blieb Gelb - so wie bei dir.

        https://forum.iobroker.net/topic/33809/fronius-adapter-entwicklung-eingestellt/136

        ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

        qqolliQ 1 Antwort Letzte Antwort
        0
        • JB_SullivanJ JB_Sullivan

          @qqolli Hier bei Beitrag 136 hatte @Mike97714 das schonmal gepostet. Ich habe es auch so probiert, aber der Adapter blieb Gelb - so wie bei dir.

          https://forum.iobroker.net/topic/33809/fronius-adapter-entwicklung-eingestellt/136

          qqolliQ Offline
          qqolliQ Offline
          qqolli
          schrieb am zuletzt editiert von
          #188

          @JB_Sullivan

          Habe ich gerade mal probiert, genau wie bei Dir die gleiche Fehlermeldung wie vorher. Adapter bleibt auf gelb.

          @Mike97714 Wie genau hast Du das bewerkstelligt, ohne Technican Passwort, bzw. Zugriff auf die Fronius Modbus-Einstellungen?

          JB_SullivanJ M 2 Antworten Letzte Antwort
          0
          • qqolliQ qqolli

            @JB_Sullivan

            Habe ich gerade mal probiert, genau wie bei Dir die gleiche Fehlermeldung wie vorher. Adapter bleibt auf gelb.

            @Mike97714 Wie genau hast Du das bewerkstelligt, ohne Technican Passwort, bzw. Zugriff auf die Fronius Modbus-Einstellungen?

            JB_SullivanJ Offline
            JB_SullivanJ Offline
            JB_Sullivan
            schrieb am zuletzt editiert von
            #189

            @qqolli

            Ich habe jetzt zusätzlich nochmal den Port 502 in der Fritzbox freigegeben und zwei Holding Registers angelegt. Adapter bleibt aber Gelb

            cdf4be41-8ef4-46df-b878-1a382f90c436-image.png

            Das Einzige was ich jetzt "mehr" zu sehen bekomme, nachdem ich den Port 502 freigegeben habe, ist die ModBus DEBUG Antwort über gefundene Ports (auch USB).

            COM1 ist der deconz2 USB Zigbee Stick
            COM2 ist RFLink
            und COM ist der Chipsatz der Wlan Karte des BYD Solar Speicher (wch.cn)

            2020-11-17 20:14:08.600 - info: modbus.0 (7608) List of port: [{"path":"COM3","manufacturer":"wch.cn","serialNumber":"xxxxxxxx","pnpId":"USB\\VID_1A86&PID_7523\\5&912F20F&0&2","locationId":"Port_#0002.Hub_#0002","vendorId":"1A86","productId":"7523"},{"path":"COM4","manufacturer":"Microsoft","serialNumber":"xxxxxx","pnpId":"USB\\VID_1CF1&PID_0030\\DE2129022","locationId":"Port_#0001.Hub_#0002","vendorId":"1CF1","productId":"0030"},{"path":"COM1","manufacturer":"Wiesemann & Theis GmbH","pnpId":"ROOT\\PORTS\\0000"}]
            

            ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

            qqolliQ 1 Antwort Letzte Antwort
            0
            • JB_SullivanJ JB_Sullivan

              @qqolli

              Ich habe jetzt zusätzlich nochmal den Port 502 in der Fritzbox freigegeben und zwei Holding Registers angelegt. Adapter bleibt aber Gelb

              cdf4be41-8ef4-46df-b878-1a382f90c436-image.png

              Das Einzige was ich jetzt "mehr" zu sehen bekomme, nachdem ich den Port 502 freigegeben habe, ist die ModBus DEBUG Antwort über gefundene Ports (auch USB).

              COM1 ist der deconz2 USB Zigbee Stick
              COM2 ist RFLink
              und COM ist der Chipsatz der Wlan Karte des BYD Solar Speicher (wch.cn)

              2020-11-17 20:14:08.600 - info: modbus.0 (7608) List of port: [{"path":"COM3","manufacturer":"wch.cn","serialNumber":"xxxxxxxx","pnpId":"USB\\VID_1A86&PID_7523\\5&912F20F&0&2","locationId":"Port_#0002.Hub_#0002","vendorId":"1A86","productId":"7523"},{"path":"COM4","manufacturer":"Microsoft","serialNumber":"xxxxxx","pnpId":"USB\\VID_1CF1&PID_0030\\DE2129022","locationId":"Port_#0001.Hub_#0002","vendorId":"1CF1","productId":"0030"},{"path":"COM1","manufacturer":"Wiesemann & Theis GmbH","pnpId":"ROOT\\PORTS\\0000"}]
              
              qqolliQ Offline
              qqolliQ Offline
              qqolli
              schrieb am zuletzt editiert von
              #190

              @JB_Sullivan

              Habe ich auch gerade versucht, ist ähnlich wie bei Dir, außer dem BYD response, da die noch geliefert wird :-)

              1 Antwort Letzte Antwort
              0
              • qqolliQ qqolli

                @JB_Sullivan

                Habe ich gerade mal probiert, genau wie bei Dir die gleiche Fehlermeldung wie vorher. Adapter bleibt auf gelb.

                @Mike97714 Wie genau hast Du das bewerkstelligt, ohne Technican Passwort, bzw. Zugriff auf die Fronius Modbus-Einstellungen?

                M Offline
                M Offline
                Mike97714
                schrieb am zuletzt editiert von
                #191

                @qqolli
                Wer hat gesagt das ich nicht das Technican Passwort habe ? :innocent:

                qqolliQ 1 Antwort Letzte Antwort
                0
                • M Mike97714

                  @qqolli
                  Wer hat gesagt das ich nicht das Technican Passwort habe ? :innocent:

                  qqolliQ Offline
                  qqolliQ Offline
                  qqolli
                  schrieb am zuletzt editiert von
                  #192

                  @Mike97714

                  Du alter Schlawiner :-) Gibt es etwas im Modbus-Menü (als Technican) das man verändern/umschalten oder setzen muss damit es funktioniert? Wenn ja, lass ich das dann meinen Solateur machen wenn die das nächste mal kommen und die Batterie bringen.

                  M 1 Antwort Letzte Antwort
                  0
                  • qqolliQ qqolli

                    @Mike97714

                    Du alter Schlawiner :-) Gibt es etwas im Modbus-Menü (als Technican) das man verändern/umschalten oder setzen muss damit es funktioniert? Wenn ja, lass ich das dann meinen Solateur machen wenn die das nächste mal kommen und die Batterie bringen.

                    M Offline
                    M Offline
                    Mike97714
                    schrieb am zuletzt editiert von
                    #193

                    @qqolli
                    in diesem Post

                    https://forum.iobroker.net/topic/33809/fronius-adapter-entwicklung-eingestellt/136

                    das erste Bild sind die Modbuseinstellungen vom Wechselrichter

                    qqolliQ 2 Antworten Letzte Antwort
                    0
                    • M Mike97714

                      @qqolli
                      in diesem Post

                      https://forum.iobroker.net/topic/33809/fronius-adapter-entwicklung-eingestellt/136

                      das erste Bild sind die Modbuseinstellungen vom Wechselrichter

                      qqolliQ Offline
                      qqolliQ Offline
                      qqolli
                      schrieb am zuletzt editiert von
                      #194

                      @Mike97714

                      Hallo Mike,

                      danke für die Info. Wenn der Solarteur wieder da ist schauen wir mal rein ob das bei mir so eingestellt ist; wenn nicht, stellen wir es so ein wie bei Dir angegeben :-)

                      1 Antwort Letzte Antwort
                      0
                      • M Mike97714

                        @qqolli
                        in diesem Post

                        https://forum.iobroker.net/topic/33809/fronius-adapter-entwicklung-eingestellt/136

                        das erste Bild sind die Modbuseinstellungen vom Wechselrichter

                        qqolliQ Offline
                        qqolliQ Offline
                        qqolli
                        schrieb am zuletzt editiert von
                        #195

                        @Mike97714

                        Noch was vergessen. Du hast den Modbus im WR auf Master gesetzt, ebenso im ioBroker Modbus-Adapter. Ist das OK wenn beide Master sind?

                        M 1 Antwort Letzte Antwort
                        0
                        • qqolliQ qqolli

                          @Mike97714

                          Noch was vergessen. Du hast den Modbus im WR auf Master gesetzt, ebenso im ioBroker Modbus-Adapter. Ist das OK wenn beide Master sind?

                          M Offline
                          M Offline
                          Mike97714
                          schrieb am zuletzt editiert von
                          #196

                          @qqolli
                          Modbus tcp ist im WR Slave
                          Modbus RTU sind beide Master

                          qqolliQ 1 Antwort Letzte Antwort
                          0
                          • M Mike97714

                            @qqolli
                            Modbus tcp ist im WR Slave
                            Modbus RTU sind beide Master

                            qqolliQ Offline
                            qqolliQ Offline
                            qqolli
                            schrieb am zuletzt editiert von
                            #197

                            @Mike97714

                            Super, Danke. D. h., wenn ich meine Einstellungen so einstellen lasse:

                            902f2356-d9c4-4924-8e80-d982b5bf1f04-image.png

                            sollte es wie bei Dir auch funktionieren, richtig?

                            M 1 Antwort Letzte Antwort
                            0
                            • qqolliQ qqolli

                              @Mike97714

                              Super, Danke. D. h., wenn ich meine Einstellungen so einstellen lasse:

                              902f2356-d9c4-4924-8e80-d982b5bf1f04-image.png

                              sollte es wie bei Dir auch funktionieren, richtig?

                              M Offline
                              M Offline
                              Mike97714
                              schrieb am zuletzt editiert von
                              #198

                              @qqolli

                              Genau

                              qqolliQ M 2 Antworten Letzte Antwort
                              0
                              • M Mike97714

                                @qqolli

                                Genau

                                qqolliQ Offline
                                qqolliQ Offline
                                qqolli
                                schrieb am zuletzt editiert von
                                #199

                                @Mike97714

                                Na, dann werde ich das mal dem Herren Solarteur weiterleiten, evtl. kann er das ja per Fernwartung so einstellen. Spätestens aber wenn sie die Batterie bringen :-) Bin ich mal gespannt.

                                1 Antwort Letzte Antwort
                                0
                                • M Mike97714

                                  @qqolli

                                  Genau

                                  M Offline
                                  M Offline
                                  Mike97714
                                  schrieb am zuletzt editiert von
                                  #200

                                  Aber die API-Aufrufe mit Javaskript sollten auch so funktionieren

                                  qqolliQ JB_SullivanJ 2 Antworten Letzte Antwort
                                  0
                                  • M Mike97714

                                    Aber die API-Aufrufe mit Javaskript sollten auch so funktionieren

                                    qqolliQ Offline
                                    qqolliQ Offline
                                    qqolli
                                    schrieb am zuletzt editiert von
                                    #201

                                    @Mike97714

                                    Leider nicht, ebenso bei @JB_Sullivan (s. vorherige Posts). :-(

                                    Daher die Hoffnung, das es mit den Modbus-Einstellungen zusammenhängt.

                                    M 1 Antwort Letzte Antwort
                                    0
                                    • M Mike97714

                                      Aber die API-Aufrufe mit Javaskript sollten auch so funktionieren

                                      JB_SullivanJ Offline
                                      JB_SullivanJ Offline
                                      JB_Sullivan
                                      schrieb am zuletzt editiert von
                                      #202

                                      @Mike97714

                                      Welches JavaSkript hast du dir denn gebastelt? Ich habe leider keine Ahnung davon. Die Browser Aufrufe die oben so gepostet wurden liefern alle irgendwelche Werte zurück.

                                      Leider bin ich weit davon entfernt mit JavaSkript irgend etwas sinnvolles damit anzustellen.

                                      ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

                                      1 Antwort Letzte Antwort
                                      0
                                      • qqolliQ qqolli

                                        @Mike97714

                                        Leider nicht, ebenso bei @JB_Sullivan (s. vorherige Posts). :-(

                                        Daher die Hoffnung, das es mit den Modbus-Einstellungen zusammenhängt.

                                        M Offline
                                        M Offline
                                        Mike97714
                                        schrieb am zuletzt editiert von Negalein
                                        #203

                                        @qqolli
                                        Ne hier mal das Java Skript (IP musst du in den ersten 2 Zeilen anpassen)

                                        var urlInverter = 'http://10.6.9.57/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceID=1&DataCollection=CommonInverterData';
                                        var urlMeter = 'http://10.6.9.57/solar_api/v1/GetMeterRealtimeData.cgi?Scope=Device&DeviceId=0';
                                        var path = "FroniusSymoGEN24.";
                                        var pathInverter = "inverter.";
                                        var pathMeter = "meter.";
                                        
                                        var idInverter = path + pathInverter + "Inverter";
                                        var idIAC = path + pathInverter + "IAC";
                                        var idIAC_L1 = path + pathInverter + "IACL1";
                                        var idIAC_L2 = path + pathInverter + "IACL2";
                                        var idIAC_L3 = path + pathInverter + "IACL3";
                                        var idPAC = path + pathInverter + "PAC";
                                        var idSAC = path + pathInverter + "SAC";
                                        var idUAC = path + pathInverter + "UAC";
                                        var idUDC_1 = path + pathInverter + "UDC1";
                                        var idUDC_2 = path + pathInverter + "UDC2";
                                        var idIDC_1 = path + pathInverter + "IDC1";
                                        var idIDC_2 = path + pathInverter + "IDC2";
                                        var idPDC_1 = path + pathInverter + "PDC1";
                                        var idPDC_2 = path + pathInverter + "PDC2";
                                        
                                        var idMIAC_1 = path + pathMeter + "IAC_1";
                                        var idMIAC_2 = path + pathMeter + "IAC_2";
                                        var idMIAC_3 = path + pathMeter + "IAC_3";
                                        var idMIAC_S = path + pathMeter + "IAC_S";
                                        var idMUAC_12 = path + pathMeter + "UAC_12";
                                        var idMUAC_23 = path + pathMeter + "UAC_23";
                                        var idMUAC_31 = path + pathMeter + "UAC_31";
                                        var idModel = path + pathMeter + "Model";
                                        var idSerial = path + pathMeter + "Serial";
                                        var idFrequenz = path + pathMeter + "Frequenz";
                                        var idActiveAbsolutminus = path + pathMeter + "ActiveAbsolutminus";
                                        var idActiveAbsolutplus = path + pathMeter + "ActiveAbsolutplus";
                                        var idActiveVerbraucht = path + pathMeter + "ActiveVerbraucht";
                                        var idActiveProduziert = path + pathMeter + "ActiveProduziert";
                                        var idReactiveVerbraucht = path + pathMeter + "ReactiveVerbraucht";
                                        var idReactiveProduziert = path + pathMeter + "ReactiveProduziert";
                                        
                                        
                                        createState(idInverter, 0, {
                                        name: 'Wechselrichter Status',
                                        type: 'string',
                                        role: 'value',
                                        unit: ' '
                                        });
                                        createState(idIAC, 0, {
                                        name: 'AC Ausgangsstrom',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'A'
                                        });
                                        createState(idIAC_L1, 0, {
                                        name: 'AC Ausgangsstrom L1',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'A'
                                        });
                                        createState(idIAC_L2, 0, {
                                        name: 'AC Ausgangsstrom L2',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'A'
                                        });
                                        createState(idIAC_L3, 0, {
                                        name: 'AC Ausgangsstrom L3',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'A'
                                        });
                                        createState(idPAC, 0, {
                                        name: 'AC Ausgangsleistung',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'W'
                                        });
                                        createState(idSAC, 0, {
                                        name: 'AC Scheinleistung',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'VA'
                                        });
                                        createState(idUAC, 0, {
                                        name: 'AC Ausgangsspannung',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'V'
                                        });
                                        createState(idUDC_1, 0, {
                                        name: 'DC Eingangsspannung 1',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'V'
                                        });
                                        createState(idUDC_2, 0, {
                                        name: 'DC Eingangsspannung 2',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'V'
                                        });
                                        createState(idIDC_1, 0, {
                                        name: 'DC Eingangsstrom 1',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'A'
                                        });
                                        createState(idIDC_2, 0, {
                                        name: 'DC Eingangsstrom 2',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'A'
                                        });
                                        createState(idPDC_1, 0, {
                                        name: 'DC Eingangsleistung 1',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'W'
                                        });
                                        createState(idPDC_2, 0, {
                                        name: 'DC Eingangsleistung 2',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'W'
                                        });
                                        
                                        createState(idMIAC_1, 0, {
                                        name: 'AC Strom L1',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'A'
                                        });
                                        createState(idMIAC_2, 0, {
                                        name: 'AC Strom L2',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'A'
                                        });
                                        createState(idMIAC_3, 0, {
                                        name: 'AC Strom L3',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'A'
                                        });
                                        createState(idMIAC_S, 0, {
                                        name: 'AC Strom Summe',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'A'
                                        });
                                        createState(idMUAC_12, 0, {
                                        name: 'AC Spannung L1-L2',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'V'
                                        });
                                        createState(idMUAC_23, 0, {
                                        name: 'AC Spannung L2-L3',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'V'
                                        });
                                        createState(idMUAC_31, 0, {
                                        name: 'AC Spannung L3-L1',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'V'
                                        });
                                        createState(idModel, 0, {
                                        name: 'Model Smartmeter',
                                        type: 'string',
                                        role: 'value'
                                        });
                                        createState(idSerial, 0, {
                                        name: 'SerienNr. Smartmeter',
                                        type: 'string',
                                        role: 'value'
                                        });
                                        createState(idFrequenz, 0, {
                                        name: 'Netzfrequenz',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'Hz'
                                        });
                                        createState(idActiveAbsolutminus, 0, {
                                        name: '',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'Wh'
                                        });
                                        createState(idActiveAbsolutplus, 0, {
                                        name: '',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'Wh'
                                        });
                                        createState(idActiveVerbraucht, 0, {
                                        name: '',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'Wh'
                                        });
                                        createState(idActiveProduziert, 0, {
                                        name: '',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'Wh'
                                        });
                                        createState(idReactiveVerbraucht, 0, {
                                        name: '',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'Wh'
                                        });
                                        createState(idReactiveProduziert, 0, {
                                        name: '',
                                        type: 'number',
                                        role: 'value',
                                        unit: 'Wh'
                                        });
                                        
                                        
                                        var request = require("request");
                                        var myJson = {};
                                        
                                        function parseJson(text) {
                                        if (text === "") return {};
                                        try {
                                        json = JSON.parse(text);
                                        } catch (ex) {
                                        json = {};
                                        }
                                        if(!json) json = {};
                                        return json;
                                        }
                                        
                                        function readJson(url, callback) {
                                        request(url, function (err, state, body){
                                        if (body) {
                                        var json = parseJson(body);
                                        callback(null, json);
                                        } else {
                                        var error = "(" + err + ") ERROR request from: " + url;
                                        log(error, "warn");
                                        callback(error, null);
                                        }
                                        });
                                        }
                                        
                                        function main() {
                                        readJson(urlInverter, function(err,json) {
                                        if(!err) {
                                        myJson = json;
                                        //log( myJson.Body.Data.DeviceStatus.InverterState);
                                        setState(idInverter ,myJson.Body.Data.DeviceStatus.InverterState);
                                        setState(idIAC ,parseFloat(myJson.Body.Data.IAC.Value));
                                        setState(idIAC_L1 ,parseFloat(myJson.Body.Data.IAC_L1.Value));
                                        setState(idIAC_L2 ,parseFloat(myJson.Body.Data.IAC_L2.Value));
                                        setState(idIAC_L3 ,parseFloat(myJson.Body.Data.IAC_L3.Value));
                                        setState(idPAC ,parseFloat(myJson.Body.Data.PAC.Value));
                                        setState(idSAC ,parseFloat(myJson.Body.Data.SAC.Value));
                                        setState(idUAC ,parseFloat(myJson.Body.Data.UAC.Value));
                                        setState(idIDC_1 ,parseFloat(myJson.Body.Data.IDC.Value));
                                        setState(idIDC_2 ,parseFloat(myJson.Body.Data.IDC_2.Value));
                                        setState(idUDC_1 ,parseFloat(myJson.Body.Data.UDC.Value));
                                        setState(idUDC_2 ,parseFloat(myJson.Body.Data.UDC_2.Value));
                                        setState(idPDC_1 ,(parseFloat(myJson.Body.Data.IDC.Value) * parseFloat(myJson.Body.Data.UDC.Value)));
                                        setState(idPDC_2 ,(parseFloat(myJson.Body.Data.IDC_2.Value) * parseFloat(myJson.Body.Data.UDC_2.Value)));
                                        
                                        } else {
                                        log("Error reading JSON from Fronius Wechselrichter. No data!","warn");
                                        myJson = {};
                                        }
                                        });
                                        
                                        readJson(urlMeter, function(err,json) {
                                        if(!err) {
                                        myJson = json;
                                        //log( myJson.Body.Data.Details.Model);
                                        setState(idMIAC_1 ,parseFloat(myJson.Body.Data.ACBRIDGE_CURRENT_ACTIVE_MEAN_01_F32));
                                        setState(idMIAC_2 ,parseFloat(myJson.Body.Data.ACBRIDGE_CURRENT_ACTIVE_MEAN_02_F32));
                                        setState(idMIAC_3 ,parseFloat(myJson.Body.Data.ACBRIDGE_CURRENT_ACTIVE_MEAN_03_F32));
                                        setState(idMIAC_S ,parseFloat(myJson.Body.Data.ACBRIDGE_CURRENT_AC_SUM_NOW_F64));
                                        setState(idMUAC_12 ,parseFloat(myJson.Body.Data.ACBRIDGE_VOLTAGE_MEAN_12_F32));
                                        setState(idMUAC_23 ,parseFloat(myJson.Body.Data.ACBRIDGE_VOLTAGE_MEAN_23_F32));
                                        setState(idMUAC_31 ,parseFloat(myJson.Body.Data.ACBRIDGE_VOLTAGE_MEAN_31_F32));
                                        setState(idModel ,myJson.Body.Data.Details.Model);
                                        setState(idSerial ,myJson.Body.Data.Details.Serial);
                                        setState(idFrequenz ,parseFloat(myJson.Body.Data.GRID_FREQUENCY_MEAN_F32));
                                        setState(idActiveAbsolutminus ,parseFloat(myJson.Body.Data.SMARTMETER_ENERGYACTIVE_ABSOLUT_MINUS_F64));
                                        setState(idActiveAbsolutplus ,parseFloat(myJson.Body.Data.SMARTMETER_ENERGYACTIVE_ABSOLUT_PLUS_F64));
                                        setState(idActiveVerbraucht ,parseFloat(myJson.Body.Data.SMARTMETER_ENERGYACTIVE_CONSUMED_SUM_F64));
                                        setState(idActiveProduziert ,parseFloat(myJson.Body.Data.SMARTMETER_ENERGYACTIVE_PRODUCED_SUM_F64));
                                        setState(idReactiveVerbraucht ,parseFloat(myJson.Body.Data.SMARTMETER_ENERGYREACTIVE_CONSUMED_SUM_F64));
                                        setState(idReactiveProduziert ,parseFloat(myJson.Body.Data.SMARTMETER_ENERGYREACTIVE_PRODUCED_SUM_F64));
                                        
                                        
                                        } else {
                                        log("Error reading JSON from Fronius SmartMeter. No data!","warn");
                                        myJson = {};
                                        }
                                        });
                                        
                                        }
                                        
                                        schedule("*/5 * * * * *", function () { // poll every 5 sec
                                        main();
                                        });
                                        
                                        // poll values at startup
                                        setTimeout(main,1000);
                                        

                                        Mod-Edit: Code/Log in Code Tags gepackt. Bitte benutzt die Code Tags Funktion -> </>
                                        Hier gehts zur Hilfe.

                                        JB_SullivanJ 1 Antwort Letzte Antwort
                                        0
                                        • M Mike97714

                                          @qqolli
                                          Ne hier mal das Java Skript (IP musst du in den ersten 2 Zeilen anpassen)

                                          var urlInverter = 'http://10.6.9.57/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceID=1&DataCollection=CommonInverterData';
                                          var urlMeter = 'http://10.6.9.57/solar_api/v1/GetMeterRealtimeData.cgi?Scope=Device&DeviceId=0';
                                          var path = "FroniusSymoGEN24.";
                                          var pathInverter = "inverter.";
                                          var pathMeter = "meter.";
                                          
                                          var idInverter = path + pathInverter + "Inverter";
                                          var idIAC = path + pathInverter + "IAC";
                                          var idIAC_L1 = path + pathInverter + "IACL1";
                                          var idIAC_L2 = path + pathInverter + "IACL2";
                                          var idIAC_L3 = path + pathInverter + "IACL3";
                                          var idPAC = path + pathInverter + "PAC";
                                          var idSAC = path + pathInverter + "SAC";
                                          var idUAC = path + pathInverter + "UAC";
                                          var idUDC_1 = path + pathInverter + "UDC1";
                                          var idUDC_2 = path + pathInverter + "UDC2";
                                          var idIDC_1 = path + pathInverter + "IDC1";
                                          var idIDC_2 = path + pathInverter + "IDC2";
                                          var idPDC_1 = path + pathInverter + "PDC1";
                                          var idPDC_2 = path + pathInverter + "PDC2";
                                          
                                          var idMIAC_1 = path + pathMeter + "IAC_1";
                                          var idMIAC_2 = path + pathMeter + "IAC_2";
                                          var idMIAC_3 = path + pathMeter + "IAC_3";
                                          var idMIAC_S = path + pathMeter + "IAC_S";
                                          var idMUAC_12 = path + pathMeter + "UAC_12";
                                          var idMUAC_23 = path + pathMeter + "UAC_23";
                                          var idMUAC_31 = path + pathMeter + "UAC_31";
                                          var idModel = path + pathMeter + "Model";
                                          var idSerial = path + pathMeter + "Serial";
                                          var idFrequenz = path + pathMeter + "Frequenz";
                                          var idActiveAbsolutminus = path + pathMeter + "ActiveAbsolutminus";
                                          var idActiveAbsolutplus = path + pathMeter + "ActiveAbsolutplus";
                                          var idActiveVerbraucht = path + pathMeter + "ActiveVerbraucht";
                                          var idActiveProduziert = path + pathMeter + "ActiveProduziert";
                                          var idReactiveVerbraucht = path + pathMeter + "ReactiveVerbraucht";
                                          var idReactiveProduziert = path + pathMeter + "ReactiveProduziert";
                                          
                                          
                                          createState(idInverter, 0, {
                                          name: 'Wechselrichter Status',
                                          type: 'string',
                                          role: 'value',
                                          unit: ' '
                                          });
                                          createState(idIAC, 0, {
                                          name: 'AC Ausgangsstrom',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'A'
                                          });
                                          createState(idIAC_L1, 0, {
                                          name: 'AC Ausgangsstrom L1',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'A'
                                          });
                                          createState(idIAC_L2, 0, {
                                          name: 'AC Ausgangsstrom L2',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'A'
                                          });
                                          createState(idIAC_L3, 0, {
                                          name: 'AC Ausgangsstrom L3',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'A'
                                          });
                                          createState(idPAC, 0, {
                                          name: 'AC Ausgangsleistung',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'W'
                                          });
                                          createState(idSAC, 0, {
                                          name: 'AC Scheinleistung',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'VA'
                                          });
                                          createState(idUAC, 0, {
                                          name: 'AC Ausgangsspannung',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'V'
                                          });
                                          createState(idUDC_1, 0, {
                                          name: 'DC Eingangsspannung 1',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'V'
                                          });
                                          createState(idUDC_2, 0, {
                                          name: 'DC Eingangsspannung 2',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'V'
                                          });
                                          createState(idIDC_1, 0, {
                                          name: 'DC Eingangsstrom 1',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'A'
                                          });
                                          createState(idIDC_2, 0, {
                                          name: 'DC Eingangsstrom 2',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'A'
                                          });
                                          createState(idPDC_1, 0, {
                                          name: 'DC Eingangsleistung 1',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'W'
                                          });
                                          createState(idPDC_2, 0, {
                                          name: 'DC Eingangsleistung 2',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'W'
                                          });
                                          
                                          createState(idMIAC_1, 0, {
                                          name: 'AC Strom L1',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'A'
                                          });
                                          createState(idMIAC_2, 0, {
                                          name: 'AC Strom L2',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'A'
                                          });
                                          createState(idMIAC_3, 0, {
                                          name: 'AC Strom L3',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'A'
                                          });
                                          createState(idMIAC_S, 0, {
                                          name: 'AC Strom Summe',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'A'
                                          });
                                          createState(idMUAC_12, 0, {
                                          name: 'AC Spannung L1-L2',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'V'
                                          });
                                          createState(idMUAC_23, 0, {
                                          name: 'AC Spannung L2-L3',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'V'
                                          });
                                          createState(idMUAC_31, 0, {
                                          name: 'AC Spannung L3-L1',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'V'
                                          });
                                          createState(idModel, 0, {
                                          name: 'Model Smartmeter',
                                          type: 'string',
                                          role: 'value'
                                          });
                                          createState(idSerial, 0, {
                                          name: 'SerienNr. Smartmeter',
                                          type: 'string',
                                          role: 'value'
                                          });
                                          createState(idFrequenz, 0, {
                                          name: 'Netzfrequenz',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'Hz'
                                          });
                                          createState(idActiveAbsolutminus, 0, {
                                          name: '',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'Wh'
                                          });
                                          createState(idActiveAbsolutplus, 0, {
                                          name: '',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'Wh'
                                          });
                                          createState(idActiveVerbraucht, 0, {
                                          name: '',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'Wh'
                                          });
                                          createState(idActiveProduziert, 0, {
                                          name: '',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'Wh'
                                          });
                                          createState(idReactiveVerbraucht, 0, {
                                          name: '',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'Wh'
                                          });
                                          createState(idReactiveProduziert, 0, {
                                          name: '',
                                          type: 'number',
                                          role: 'value',
                                          unit: 'Wh'
                                          });
                                          
                                          
                                          var request = require("request");
                                          var myJson = {};
                                          
                                          function parseJson(text) {
                                          if (text === "") return {};
                                          try {
                                          json = JSON.parse(text);
                                          } catch (ex) {
                                          json = {};
                                          }
                                          if(!json) json = {};
                                          return json;
                                          }
                                          
                                          function readJson(url, callback) {
                                          request(url, function (err, state, body){
                                          if (body) {
                                          var json = parseJson(body);
                                          callback(null, json);
                                          } else {
                                          var error = "(" + err + ") ERROR request from: " + url;
                                          log(error, "warn");
                                          callback(error, null);
                                          }
                                          });
                                          }
                                          
                                          function main() {
                                          readJson(urlInverter, function(err,json) {
                                          if(!err) {
                                          myJson = json;
                                          //log( myJson.Body.Data.DeviceStatus.InverterState);
                                          setState(idInverter ,myJson.Body.Data.DeviceStatus.InverterState);
                                          setState(idIAC ,parseFloat(myJson.Body.Data.IAC.Value));
                                          setState(idIAC_L1 ,parseFloat(myJson.Body.Data.IAC_L1.Value));
                                          setState(idIAC_L2 ,parseFloat(myJson.Body.Data.IAC_L2.Value));
                                          setState(idIAC_L3 ,parseFloat(myJson.Body.Data.IAC_L3.Value));
                                          setState(idPAC ,parseFloat(myJson.Body.Data.PAC.Value));
                                          setState(idSAC ,parseFloat(myJson.Body.Data.SAC.Value));
                                          setState(idUAC ,parseFloat(myJson.Body.Data.UAC.Value));
                                          setState(idIDC_1 ,parseFloat(myJson.Body.Data.IDC.Value));
                                          setState(idIDC_2 ,parseFloat(myJson.Body.Data.IDC_2.Value));
                                          setState(idUDC_1 ,parseFloat(myJson.Body.Data.UDC.Value));
                                          setState(idUDC_2 ,parseFloat(myJson.Body.Data.UDC_2.Value));
                                          setState(idPDC_1 ,(parseFloat(myJson.Body.Data.IDC.Value) * parseFloat(myJson.Body.Data.UDC.Value)));
                                          setState(idPDC_2 ,(parseFloat(myJson.Body.Data.IDC_2.Value) * parseFloat(myJson.Body.Data.UDC_2.Value)));
                                          
                                          } else {
                                          log("Error reading JSON from Fronius Wechselrichter. No data!","warn");
                                          myJson = {};
                                          }
                                          });
                                          
                                          readJson(urlMeter, function(err,json) {
                                          if(!err) {
                                          myJson = json;
                                          //log( myJson.Body.Data.Details.Model);
                                          setState(idMIAC_1 ,parseFloat(myJson.Body.Data.ACBRIDGE_CURRENT_ACTIVE_MEAN_01_F32));
                                          setState(idMIAC_2 ,parseFloat(myJson.Body.Data.ACBRIDGE_CURRENT_ACTIVE_MEAN_02_F32));
                                          setState(idMIAC_3 ,parseFloat(myJson.Body.Data.ACBRIDGE_CURRENT_ACTIVE_MEAN_03_F32));
                                          setState(idMIAC_S ,parseFloat(myJson.Body.Data.ACBRIDGE_CURRENT_AC_SUM_NOW_F64));
                                          setState(idMUAC_12 ,parseFloat(myJson.Body.Data.ACBRIDGE_VOLTAGE_MEAN_12_F32));
                                          setState(idMUAC_23 ,parseFloat(myJson.Body.Data.ACBRIDGE_VOLTAGE_MEAN_23_F32));
                                          setState(idMUAC_31 ,parseFloat(myJson.Body.Data.ACBRIDGE_VOLTAGE_MEAN_31_F32));
                                          setState(idModel ,myJson.Body.Data.Details.Model);
                                          setState(idSerial ,myJson.Body.Data.Details.Serial);
                                          setState(idFrequenz ,parseFloat(myJson.Body.Data.GRID_FREQUENCY_MEAN_F32));
                                          setState(idActiveAbsolutminus ,parseFloat(myJson.Body.Data.SMARTMETER_ENERGYACTIVE_ABSOLUT_MINUS_F64));
                                          setState(idActiveAbsolutplus ,parseFloat(myJson.Body.Data.SMARTMETER_ENERGYACTIVE_ABSOLUT_PLUS_F64));
                                          setState(idActiveVerbraucht ,parseFloat(myJson.Body.Data.SMARTMETER_ENERGYACTIVE_CONSUMED_SUM_F64));
                                          setState(idActiveProduziert ,parseFloat(myJson.Body.Data.SMARTMETER_ENERGYACTIVE_PRODUCED_SUM_F64));
                                          setState(idReactiveVerbraucht ,parseFloat(myJson.Body.Data.SMARTMETER_ENERGYREACTIVE_CONSUMED_SUM_F64));
                                          setState(idReactiveProduziert ,parseFloat(myJson.Body.Data.SMARTMETER_ENERGYREACTIVE_PRODUCED_SUM_F64));
                                          
                                          
                                          } else {
                                          log("Error reading JSON from Fronius SmartMeter. No data!","warn");
                                          myJson = {};
                                          }
                                          });
                                          
                                          }
                                          
                                          schedule("*/5 * * * * *", function () { // poll every 5 sec
                                          main();
                                          });
                                          
                                          // poll values at startup
                                          setTimeout(main,1000);
                                          

                                          Mod-Edit: Code/Log in Code Tags gepackt. Bitte benutzt die Code Tags Funktion -> </>
                                          Hier gehts zur Hilfe.

                                          JB_SullivanJ Offline
                                          JB_SullivanJ Offline
                                          JB_Sullivan
                                          schrieb am zuletzt editiert von JB_Sullivan
                                          #204

                                          @Mike97714

                                          Perfekt - läuft !!!! Ist ja witzig bei den IP Adressen - ich habe vorne auch 10. und hinten auch .57 :grin: :grin: :grin:

                                          3be6522c-4785-4840-b0c7-a3e7fbb46057-image.png

                                          PS: Kann man den API aufrufen die in Beitrag 63 alle genannt wurden ggf. noch mehr per JavaSkript aus dem WR heraus holen? Wenn ich die dort genannten URL`s in die BrowserZeile eingebe, bekomme ich auch entsprechende (für mich kryptische) Rückmeldungen.

                                          https://forum.iobroker.net/topic/33809/fronius-adapter-entwicklung-eingestellt/67

                                          z.B. so:

                                          {
                                             "Body" : {
                                                "Data" : {
                                                   "Inverters" : {
                                                      "1" : {
                                                         "Battery_Mode" : "normal",
                                                         "DT" : 1,
                                                         "P" : 620,
                                                         "SOC" : 9.5
                                                      }
                                                   },
                                                   "Site" : {
                                                      "BackupMode" : false,
                                                      "BatteryStandby" : false,
                                                      "E_Day" : null,
                                                      "E_Total" : null,
                                                      "E_Year" : null,
                                                      "Meter_Location" : "grid",
                                                      "Mode" : "bidirectional",
                                                      "P_Akku" : -256.51113891601562,
                                                      "P_Grid" : -5.7000000000000002,
                                                      "P_Load" : -614.29999999999995,
                                                      "P_PV" : 921.45986938476562,
                                                      "rel_Autonomy" : 100.0,
                                                      "rel_SelfConsumption" : 99.08064516129032
                                                   },
                                                   "Version" : "12"
                                                }
                                             },
                                             "Head" : {
                                                "RequestArguments" : {
                                                   "Scope" : "System"
                                                },
                                                "Status" : {
                                                   "Code" : 0,
                                                   "Reason" : "",
                                                   "UserMessage" : ""
                                                },
                                                "Timestamp" : "2020-11-18T11:59:15+00:00"
                                             }
                                          }
                                          

                                          ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

                                          M qqolliQ 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          854

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe