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.
  • 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
                        • JB_SullivanJ JB_Sullivan

                          @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"
                             }
                          }
                          
                          M Offline
                          M Offline
                          Mike97714
                          schrieb am zuletzt editiert von
                          #205

                          @JB_Sullivan
                          Welche benötigst du noch ?
                          Ich habe (noch) keinen Akku und die Akkudaten deshalb noch nicht ausgelesen.

                          Gruß Mike

                          JB_SullivanJ 1 Antwort Letzte Antwort
                          0
                          • JB_SullivanJ JB_Sullivan

                            @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"
                               }
                            }
                            
                            qqolliQ Offline
                            qqolliQ Offline
                            qqolli
                            schrieb am zuletzt editiert von
                            #206

                            @JB_Sullivan

                            ?!?, jetzt habt ihr mich komplett abgehängt. Ich dachte das das mit den Holding-Registern zumindest bei mir und bei Dir nicht ging. Die API-Aufrufe gehen, aber im Modbus-Adapter mit den geposteten Holding-Registern geht nicht (s. Fehlermeldungen weiter oben im Post). Wie hast Du es hinbekommen, das es jetzt bei Dir geht? Dachte die IP ist dieselbe wie die vom Dashboard?

                            JB_SullivanJ 1 Antwort Letzte Antwort
                            0
                            • M Mike97714

                              @JB_Sullivan
                              Welche benötigst du noch ?
                              Ich habe (noch) keinen Akku und die Akkudaten deshalb noch nicht ausgelesen.

                              Gruß Mike

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

                              @Mike97714

                              Einmal die Seriennummern der Geräte

                              IP/solar_api/v1/GetActiveDeviceInfo.cgi?DeviceClass=System

                              den Akku mit dem SoC

                              IP/solar_api/v1/GetPowerFlowRealtimeData.fcgi?Scope=System

                              Hier wäre noch der Custom Name drin

                              IP/solar_api/v1/GetInverterInfo.cgi

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

                              qqolliQ 1 Antwort Letzte Antwort
                              0
                              • JB_SullivanJ JB_Sullivan

                                @Mike97714

                                Einmal die Seriennummern der Geräte

                                IP/solar_api/v1/GetActiveDeviceInfo.cgi?DeviceClass=System

                                den Akku mit dem SoC

                                IP/solar_api/v1/GetPowerFlowRealtimeData.fcgi?Scope=System

                                Hier wäre noch der Custom Name drin

                                IP/solar_api/v1/GetInverterInfo.cgi

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

                                @JB_Sullivan

                                Ja, weiss ich und wenn ich es im Browser eingebe bekomme ich auch eine Rückmeldung. Aber wie bekommst Du es in die DP ohne das der Modbusadapter grün ist?

                                DP für Inverter und Meter sind bei mir leer :-(

                                JB_SullivanJ 1 Antwort Letzte Antwort
                                0
                                • qqolliQ qqolli

                                  @JB_Sullivan

                                  ?!?, jetzt habt ihr mich komplett abgehängt. Ich dachte das das mit den Holding-Registern zumindest bei mir und bei Dir nicht ging. Die API-Aufrufe gehen, aber im Modbus-Adapter mit den geposteten Holding-Registern geht nicht (s. Fehlermeldungen weiter oben im Post). Wie hast Du es hinbekommen, das es jetzt bei Dir geht? Dachte die IP ist dieselbe wie die vom Dashboard?

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

                                  @qqolli

                                  das hat jetzt offensichtlich auch nichts mit dem ModBUs zu tun. Mike hat heraus gefunden, wie man die Daten die bestehende API liefert per JavaSkript (das was er oben gepostet hat) als Datenpunkte aufbereiten kann.

                                  Offensichtlich liefert der GEN24 schon eine ganze Menge an Datenpunkten, auch ohne das man alles mögliche dafür freischalten muss. Das Problem scheint zu sein, das der "alte" ioB Fronius Adapter vermutliche eine andere Abfrage Struktur verwendet, weshalb die Werte einfach im jetzigen Fronius Adapter nicht dargestellt werden.

                                  Vielleicht sollte man mal @Idittmar kontaktieren, denn er hat doch einiges im Homematic Forum zu Thema Fronius beigetragen.

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • qqolliQ qqolli

                                    @JB_Sullivan

                                    Ja, weiss ich und wenn ich es im Browser eingebe bekomme ich auch eine Rückmeldung. Aber wie bekommst Du es in die DP ohne das der Modbusadapter grün ist?

                                    DP für Inverter und Meter sind bei mir leer :-(

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

                                    @qqolli

                                    Du musst im ioB Admin unter Skripte das Skipt was Mike oben gepostet hat einbauen und starten. Dann werden die DP`s unter 0.javascript selbstständig angelegt.

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

                                    M qqolliQ 2 Antworten Letzte Antwort
                                    0
                                    • JB_SullivanJ JB_Sullivan

                                      @qqolli

                                      Du musst im ioB Admin unter Skripte das Skipt was Mike oben gepostet hat einbauen und starten. Dann werden die DP`s unter 0.javascript selbstständig angelegt.

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

                                      @JB_Sullivan kannst du mir mal die Browserausgabe der 3 API-Aufrufe zukommen lassen ? Dann pflege ich die Datenpunkte noch ein.

                                      JB_SullivanJ 1 Antwort Letzte Antwort
                                      0
                                      • JB_SullivanJ JB_Sullivan

                                        @qqolli

                                        Du musst im ioB Admin unter Skripte das Skipt was Mike oben gepostet hat einbauen und starten. Dann werden die DP`s unter 0.javascript selbstständig angelegt.

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

                                        @JB_Sullivan

                                        Ja geil! Dem geht. Bin heute ein bisserl begriffsstutzig :-)

                                        @Mike97714 Danke für Dein Skript!

                                        1 Antwort Letzte Antwort
                                        0
                                        • M Mike97714

                                          @JB_Sullivan kannst du mir mal die Browserausgabe der 3 API-Aufrufe zukommen lassen ? Dann pflege ich die Datenpunkte noch ein.

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

                                          @Mike97714

                                          JO - hier Bitte schön

                                          Seriennummern

                                          {
                                             "Body" : {
                                                "Data" : {
                                                   "1" : {
                                                      "DT" : 1,
                                                      "Serial" : "Speicher"
                                                   },
                                                   "Meter" : {
                                                      "0" : {
                                                         "DT" : -1,
                                                         "Serial" : "Wechselrichter"
                                                      }
                                                   },
                                                   "Ohmpilot" : {},
                                                   "Storage" : {
                                                      "0" : {
                                                         "DT" : -1,
                                                         "Serial" : "Smartmeter vermute ich     "
                                                      }
                                                   }
                                                }
                                             },
                                             "Head" : {
                                                "RequestArguments" : {
                                                   "DeviceClass" : "System"
                                                },
                                                "Status" : {
                                                   "Code" : 0,
                                                   "Reason" : "",
                                                   "UserMessage" : ""
                                                },
                                                "Timestamp" : "2020-11-18T13:21:49+00:00"
                                             }
                                          }
                                          

                                          powerflow - aber zusätzlich mit BYD Speicher

                                          {
                                             "Body" : {
                                                "Data" : {
                                                   "Inverters" : {
                                                      "1" : {
                                                         "Battery_Mode" : "normal",
                                                         "DT" : 1,
                                                         "P" : 532,
                                                         "SOC" : 23.0
                                                      }
                                                   },
                                                   "Site" : {
                                                      "BackupMode" : false,
                                                      "BatteryStandby" : false,
                                                      "E_Day" : null,
                                                      "E_Total" : null,
                                                      "E_Year" : null,
                                                      "Meter_Location" : "grid",
                                                      "Mode" : "bidirectional",
                                                      "P_Akku" : -2071.77783203125,
                                                      "P_Grid" : -2.6000000000000001,
                                                      "P_Load" : -529.39999999999998,
                                                      "P_PV" : 2648.8490829467773,
                                                      "rel_Autonomy" : 100.0,
                                                      "rel_SelfConsumption" : 99.511278195488714
                                                   },
                                                   "Version" : "12"
                                                }
                                             },
                                             "Head" : {
                                                "RequestArguments" : {
                                                   "Scope" : "System"
                                                },
                                                "Status" : {
                                                   "Code" : 0,
                                                   "Reason" : "",
                                                   "UserMessage" : ""
                                                },
                                                "Timestamp" : "2020-11-18T13:23:19+00:00"
                                             }
                                          }
                                          

                                          .... und hier eher unwichtig aber Nice to Have - Custom Name

                                          {
                                             "Body" : {
                                                "Data" : {
                                                   "1" : {
                                                      "CustomName" : "JB_Sullivan",
                                                      "DT" : 1,
                                                      "PVPower" : 0,
                                                      "Show" : 1,
                                                      "StatusCode" : "Running",
                                                      "UniqueID" : "SN Wechselrichter"
                                                   }
                                                }
                                             },
                                             "Head" : {
                                                "RequestArguments" : {},
                                                "Status" : {
                                                   "Code" : 0,
                                                   "Reason" : "",
                                                   "UserMessage" : ""
                                                },
                                                "Timestamp" : "2020-11-18T13:24:40+00:00"
                                             }
                                          }
                                          

                                          Ich habe gerade die Doku der Fronius API V1 am Wickel und teste mal alle Aufrufe durch, vielleicht geht ja noch mehr.

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

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          378

                                          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