Autor Thema: Fronius Wechselrichter per HTTPMOD  (Gelesen 17412 mal)

Offline kanenas

  • New Member
  • *
  • Beiträge: 21
Antw:Fronius Wechselrichter per HTTPMOD
« Antwort #30 am: 13 März 2016, 21:16:19 »
Hi Chris, ich hab mich hingesetzt und versucht zu verstehen wo das Problem liegt. Es ist ein Formatierungsproblem.

Bei der Abfrage"http://192.xxx.xxx.xxx/solar_api/GetInverterRealtimeData.cgi?Scope=System" Bekommst du die Variablen in der Form:

"DAY_ENERGY" : {
            "Unit" : "Wh",
            "Values" : {
               "1" : 6067
            }

Das Script was du nutzt (attr PV_Anlage_1 reading01Regex "DAY_ENERGY"[:{\n\t ]+"Value"[ : \t]+([\d\.]+),) versucht aber den Wert in ein andere Form zu lesen:

         "DAY_ENERGY" : {
            "Value" : 6067,
            "Unit" : "Wh"
         },

Zwei Möglichkeiten gibt es, entweder wird die Verarbeitung der Variable angepasst. Das kenn ich leider nicht. Oder du versuchst folgende Abfrage durchzuführen:

http://192.xxx.xxx.xxx/solar_api/GetInverterRealtimeData.cgi?Scope=Device&DeviceIndex=0&DataCollection=CommonInverterData

 von der API Spezifikation 3.1.5 Seite 7

Dann kommen die Daten in den richtigen Format und die Config von Simonberry sollte funktionieren.




Jessie@Raspi(v3)+SSD, CUL-MAX, CUL-433, CUL-FS20, JeeLink-PCA301, JeeLink-JLLaCrosse, HM-MOD-UART, HUEBridge(v2), ESPEasy, DashButton

Offline Burny4600

  • Hero Member
  • *****
  • Beiträge: 1450
Antw:Fronius Wechselrichter per HTTPMOD
« Antwort #31 am: 14 März 2016, 09:18:42 »
@Dionysios
Mit der Anforderung:
http://192.xxx.xxx.xxx/solar_api/GetInverterRealtimeData.cgi?Scope=Device&DeviceIndex=0&DataCollection=CommonInverterDatabekomme ich aber nur diese Antwort.
{
"Head" : {
"RequestArguments" : {
"DataCollection" : "CommonInverterData",
"DeviceClass" : "Inverter",
"DeviceIndex" : "0",
"Scope" : "Device"
},
"Status" : {
"Code" : 8,
"Reason" : "Transfer timeout.",
"UserMessage" : ""
},
"Timestamp" : "2016-03-14T09:12:13+01:00"
}
}

Ich denke da hat sich bei Fronius etwas in der Firmware des Datenloggers getan, was aber noch nicht dokumentiert wurde.
Zitat
Datalogger Web 2
Platinenversion    1.4A
Softwareversion    2.0.5-4

Anbei nochmals die HTTP Anworten laut Fronius Solar API V0 (002-06082013)
Mfg Chris

Raspberry Pi 2/2+/3/3+ / Betriebssystem: Jessie Stretch Lite
Schnittstellen: RFXtrx433E (Oregon) / SIGNALduino / nanoCUL 868MHz (FS20), nanoCUL 433 MHz (IT), LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, FS20, IT, WMR200, TEK603, YouLess, Resol VBUS & DL2, Fronius Datalogger Web 2

Offline Peter1984

  • Jr. Member
  • **
  • Beiträge: 59
Antw:Fronius Wechselrichter per HTTPMOD
« Antwort #32 am: 09 Mai 2016, 13:49:06 »
Hallo,

Bin neu in dem Thema FHEM.

Nach Studium einiger Dokumentationen komme ich trotzdem noch nicht zum Ziel.
Ich möchte die Werte, die über JSON geliefert werden, in einem Diagramm darstellen. Die Werte erhalte ich, wie bekomme ich da jetzt ein Diagramm draus?
Die Tageserträge sollen eins sein (ähnlich Solarweb), das ganze dann summiert für den Monat (Diagramm soll einige Monate anzeigen und dann der Jahresertrag...

Offline octek0815

  • Full Member
  • ***
  • Beiträge: 323
Antw:Fronius Wechselrichter per HTTPMOD
« Antwort #33 am: 10 Mai 2016, 12:12:04 »
Hallo,

Bin neu in dem Thema FHEM.

Nach Studium einiger Dokumentationen komme ich trotzdem noch nicht zum Ziel.
Ich möchte die Werte, die über JSON geliefert werden, in einem Diagramm darstellen. Die Werte erhalte ich, wie bekomme ich da jetzt ein Diagramm draus?
Die Tageserträge sollen eins sein (ähnlich Solarweb), das ganze dann summiert für den Monat (Diagramm soll einige Monate anzeigen und dann der Jahresertrag...


Moin Peter,

du musst Dich in die Themen FileLog und Plots einlesen. Steht alles in der Wiki und Commandref.
Mit ein wenig fleiß kannst Du dann vieles machen (als Anhang mal ein Beispiel)...

Grüße
Olli
Gefällt mir Gefällt mir x 2 Liste anzeigen

Offline Peter1984

  • Jr. Member
  • **
  • Beiträge: 59
Antw:Fronius Wechselrichter per HTTPMOD
« Antwort #34 am: 10 Mai 2016, 15:27:48 »
Wow! Genau so in der Art soll es später mal aussehen :-)

Da habe ich ja noch einiges zu tun :-)

Offline DaRealDan

  • New Member
  • *
  • Beiträge: 14
Antw:Fronius Wechselrichter per HTTPMOD
« Antwort #35 am: 22 Juli 2017, 20:13:14 »
Auch wenn das Thema schon etwas älter ist, aber hier ein kurzes Config-Update - ich glaube im HTTPMOD und/oder in der Fronius API wurde ein bisschen was geändert, sodass hier ein bisschen was angepasst werden muss, wenn man die Config aus dem ersten Posting nimmt.

define PVAnlageMax HTTPMOD http://192.XXX.XXX.XXX/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceID=1&DataCollection=MinMaxInverterData 300
attr PVAnlageMax userattr reading1Name reading1Regex reading2Name reading2Regex reading3Name reading3Regex
attr PVAnlageMax group Messen
attr PVAnlageMax icon measure_photovoltaic_inst
attr PVAnlageMax reading1Name DAY_PMAX
attr PVAnlageMax reading1Regex "DAY_PMAX"[:{\n\t ]+"Unit"[ : \t]+["a-zA-Z",]+[ \n\t ]+"Value"[ : \t]+([\d\.]+)
attr PVAnlageMax reading2Name YEAR_PMAX
attr PVAnlageMax reading2Regex "YEAR_PMAX"[:{\n\t ]+"Unit"[ : \t]+["a-zA-Z",]+[ \n\t ]+"Value"[ : \t]+([\d\.]+)
attr PVAnlageMax reading3Name TOTAL_PMAX
attr PVAnlageMax reading3Regex "TOTAL_PMAX"[:{\n\t ]+"Unit"[ : \t]+["a-zA-Z",]+[ \n\t ]+"Value"[ : \t]+([\d\.]+)
attr PVAnlageMax room Strom
attr PVAnlageMax stateFormat {sprintf("Tag: %d W Jahr: %d W Gesamt: %d W", ReadingsVal($name,"DAY_PMAX",0),ReadingsVal($name,"YEAR_PMAX",0),ReadingsVal($name,"TOTAL_PMAX",0))}

define PVAnlageAkt HTTPMOD http://192.XXX.XXX.XXX/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceId=1&DataCollection=CommonInverterData 300
attr PVAnlageAkt userattr reading1Name reading1Regex reading2Name reading2Regex reading3Name reading3Regex reading4Name reading4Regex reading5Name reading5Regex reading6Name reading6Regex reading7Name reading7Regex reading8Name reading8Regex reading9Name reading9Regex
attr PVAnlageAkt group Messen
attr PVAnlageAkt icon measure_photovoltaic_inst
attr PVAnlageAkt reading1Name DAY_ENERGY
attr PVAnlageAkt reading1Regex "DAY_ENERGY"[:{\n\t ]+"Unit"[ : \t]+["a-zA-Z",]+[ \n\t ]+"Value"[ : \t]+([\d\.]+)
attr PVAnlageAkt reading2Name TOTAL_ENERGY
attr PVAnlageAkt reading2Regex "TOTAL_ENERGY"[:{\n\t ]+"Unit"[ : \t]+["a-zA-Z",]+[ \n\t ]+"Value"[ : \t]+([\d\.]+)
attr PVAnlageAkt reading3Name YEAR_ENERGY
attr PVAnlageAkt reading3Regex "YEAR_ENERGY"[:{\n\t ]+"Unit"[ : \t]+["a-zA-Z",]+[ \n\t ]+"Value"[ : \t]+([\d\.]+)
attr PVAnlageAkt reading4Name FAC
attr PVAnlageAkt reading4Regex "FAC"[:{\n\t ]+"Unit"[ : \t]+["a-zA-Z",]+[ \n\t ]+"Value"[ : \t]+([\d\.]+)
attr PVAnlageAkt reading5Name IAC
attr PVAnlageAkt reading5Regex "IAC"[:{\n\t ]+"Unit"[ : \t]+["a-zA-Z",]+[ \n\t ]+"Value"[ : \t]+([\d\.]+)
attr PVAnlageAkt reading6Name IDC
attr PVAnlageAkt reading6Regex "IDC"[:{\n\t ]+"Unit"[ : \t]+["a-zA-Z",]+[ \n\t ]+"Value"[ : \t]+([\d\.]+)
attr PVAnlageAkt reading7Name PAC
attr PVAnlageAkt reading7Regex "PAC"[:{\n\t ]+"Unit"[ : \t]+["a-zA-Z",]+[ \n\t ]+"Value"[ : \t]+([\d\.]+)
attr PVAnlageAkt reading8Name UAC
attr PVAnlageAkt reading8Regex "UAC"[:{\n\t ]+"Unit"[ : \t]+["a-zA-Z",]+[ \n\t ]+"Value"[ : \t]+([\d\.]+)
attr PVAnlageAkt reading9Name UDC
attr PVAnlageAkt reading9Regex "UDC"[:{\n\t ]+"Unit"[ : \t]+["a-zA-Z",]+[ \n\t ]+"Value"[ : \t]+([\d\.]+)
attr PVAnlageAkt room Strom
attr PVAnlageAkt stateFormat {sprintf("Aktuelle Erzeugung: %d kw", ReadingsVal($name,"PAC",0))}\

Das JSON vom Fronius sieht bei mir nämlich wie folgt aus:

{
   "Body" : {
      "Data" : {
         "DAY_PMAX" : {
            "Unit" : "W",
            "Value" : 9085
         },
         "DAY_UACMAX" : {
            "Unit" : "V",
            "Value" : 242
         },
         "DAY_UDCMAX" : {
            "Unit" : "V",
            "Value" : 571.60000000000002
         },
         "TOTAL_PMAX" : {
            "Unit" : "W",
            "Value" : 9618
         },
         "TOTAL_UACMAX" : {
            "Unit" : "V",
            "Value" : 262.80000000000001
         },
         "TOTAL_UDCMAX" : {
            "Unit" : "V",
            "Value" : 602.60000000000002
         },
         "YEAR_PMAX" : {
            "Unit" : "W",
            "Value" : 9618
         },
         "YEAR_UACMAX" : {
            "Unit" : "V",
            "Value" : 262.80000000000001
         },
         "YEAR_UDCMAX" : {
            "Unit" : "V",
            "Value" : 602.60000000000002
         }
      }
   },
   "Head" : {
      "RequestArguments" : {
         "DataCollection" : "MinMaxInverterData",
         "DeviceClass" : "Inverter",
         "DeviceId" : "1",
         "Scope" : "Device"
      },
      "Status" : {
         "Code" : 0,
         "Reason" : "",
         "UserMessage" : ""
      },
      "Timestamp" : "2017-07-22TXX:XX:XX+02:00"
   }
}
Gefällt mir Gefällt mir x 3 Liste anzeigen

Offline Peter1984

  • Jr. Member
  • **
  • Beiträge: 59
Antw:Fronius Wechselrichter per HTTPMOD
« Antwort #36 am: 17 August 2017, 14:52:43 »
Danke, hat mir geholfen :-)

Offline HotteFred

  • Full Member
  • ***
  • Beiträge: 109
Antw:Fronius Wechselrichter per HTTPMOD
« Antwort #37 am: 12 September 2017, 09:03:34 »

Mit ein wenig fleiß kannst Du dann vieles machen (als Anhang mal ein Beispiel)...


Hallo octek0815,

würdest du deinen Code zu dem Screenshot posten?

Grüße
Fred
BananaPi mit FHEM, KM50, Velux Raumluftsensor, jede Menge HM-CC-RT-DN, jede Menge 1Wire Zeugs

Offline tobox

  • Jr. Member
  • **
  • Beiträge: 50
Antw:Fronius Wechselrichter per HTTPMOD
« Antwort #38 am: 19 Februar 2018, 22:49:55 »
Ich habe gerade meinen Fronius Wechselrichter in Betrieb genommen, und die aktuellste Firmware eingespielt. Damit haben alle hier geposteten Beispielconfigs aber nicht funktioniert. Wesentlich einfacher lief es dann aber auf Anhieb mit extractAllJSON:


define SolarAkt HTTPMOD http://fronius.fritz.box/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceId=1&DataCollection=CommonInverterData 300
attr SolarAkt extractAllJSON

Damit hatte ich auf Anhieb alle Readings, und auch kleiner Änderungen am Whitespace bei neuen Firmwareupdates sollten kein Problem sein.
Gefällt mir Gefällt mir x 1 Liste anzeigen

 

decade-submarginal