Modul für den Kostal PIKO Wechselrichter V2.0

Begonnen von John, 09 Juni 2014, 00:36:52

Vorheriges Thema - Nächstes Thema

ChrisW

Raspberry PI3 mit allem möglichen.

erwin

@ChrisW

Das reading Global.Radiation wird upgedatet UND erzeugt events?
Evtl. verhindert ein event-on-change-reading od. event-on-update-reading Attribut das erzeugen von events?

Viel fällt mir dazu nicht mehr ein..
l.g. erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

ChrisW

hmm ne hab ich alles nicht drin. Hier mal ein list:


Internals:
   DEF        192.168.2.51 pvserver 123456
   NAME       SOLAR
   NR         606
   STATE      W: 187 - Einspeisen (MPP)
   TYPE       KOSTALPIKO
   VERSION    2.08
   READINGS:
     2017-10-14 09:26:37   AC.Power        187
     2017-10-14 09:26:37   AC.Power.Fast   187
     2017-10-14 09:26:37   Daily.Energy    0.15
     2017-10-13 23:00:55   Daily.Energy.Last 11.60
     2017-10-14 09:18:24   Global.Radiation 3.1
     2017-10-14 08:07:34   Mode            Einspeisen (MPP)
     2017-10-14 08:06:34   ModeNum         9
     2017-10-13 17:30:44   Total.Energy    441014
     2017-10-14 09:18:24   UV.Index        4
     2017-10-14 09:26:37   generator.1.current 0.34
     2017-10-14 09:26:37   generator.1.voltage 610
     2017-10-14 09:22:37   generator.2.current 0.00
     2017-10-14 09:26:37   generator.2.voltage 611
     2017-10-13 18:34:46   output.1.power  0
     2017-10-14 09:26:37   output.1.voltage 226
     2017-10-13 17:45:45   output.2.power  0
     2017-10-14 09:23:37   output.2.voltage 227
     2017-10-14 09:26:37   output.3.power  187
     2017-10-14 09:19:37   output.3.voltage 227
     2017-10-14 09:25:37   sensor.1        0.01
     2017-10-14 09:26:37   sensor.2        0.01
     2017-10-14 09:22:37   sensor.3        0.00
     2017-10-10 15:05:06   sensor.4        9.99
     2017-10-14 09:26:37   state           W: 187 - Einspeisen (MPP)
     2017-10-14 09:18:24   sunshine.duration 75
   helper:
     GRHour     25
     Host       192.168.2.51
     Pass       123456
     TimerGR    SOLAR.GR
     TimerGRInterval 3600
     TimerInterval 60
     TimerStatus SOLAR.STATUS
     User       pvserver
     delayCounter 0
Attributes:
   GR.Interval 3600
   GR.Link    http://www.proplanta.de/Wetter/Schwalmtal+%28Niederrhein%29-Wetter-Heute.html
   delay      60
   room       STROM
   userattr   EnergyExpected { return ReadingsVal("SOLAR","Global.Radiation",0)*37*0.10;;}
   verbose    2
Raspberry PI3 mit allem möglichen.

John

#153
@ChrisW

ersetzte diesen Ausdruck
   userattr   EnergyExpected { return ReadingsVal("SOLAR","Global.Radiation",0)*37*0.10;;}


durch diesen

  userReadings EnergyExpected { return ReadingsVal("SOLAR","Global.Radiation",0)*37*0.10;;}

und alles wird gut.

Ich habe dein Beispiel umgesetzt und es funktioniert wie erwartet.

defmod SOLAR KOSTALPIKO 192.168.2.10 pvserver xxxx
attr SOLAR GR.Interval 3600
attr SOLAR GR.Link http://www.proplanta.de/Wetter/Schwalmtal+%28Niederrhein%29-Wetter-Heute.html
attr SOLAR delay 180
attr SOLAR userReadings EnergyExpected { return ReadingsVal("SOLAR","Global.Radiation",0)*37*0.10;;}
attr SOLAR verbose 5
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

ChrisW

oha alles klar ich hab userattr genommen ......... eieiei sorry nun läufts
Raspberry PI3 mit allem möglichen.

Klaus Rubik

Hallo,

seit gestern Abend liefert mir das Modul keine Ertragserwartungswerte mehr. Im Log sind folgende Meldungen:

2017.10.26 13:36:31 3: KOSTALPIKO Ertragserwartung: Set.389 set command: captureGlobalRadiation
2017.10.26 13:36:31 3: KOSTALPIKO Ertragserwartung: GrStart.925 --- started ---
2017.10.26 13:36:31 3: KOSTALPIKO Ertragserwartung: GrStart.938 --- done ---
2017.10.26 13:36:31 3: KOSTALPIKO Ertragserwartung: GrRun.953 --- started ---
2017.10.26 13:36:32 1: KOSTALPIKO Ertragserwartung: GrHtmlAcquire.906 Error: Can't get http://www.proplanta.de/Wetter/Puchheim+%28Oberbayern%29-Wetter-Heute.html -- 500 Access to 'https' URIs has been disabled
2017.10.26 13:36:32 3: KOSTALPIKO Ertragserwartung: GrRun.977 --- done ---
2017.10.26 13:36:32 3: KOSTALPIKO Ertragserwartung: GrDone.992 --- started ---
2017.10.26 13:36:32 3: KOSTALPIKO Ertragserwartung: GrDone.1040 --- done ---


Ein Aufruf der Webseite funktioniert aber, URL ist richtig.

Ist die Fehlerursache ähnlich demhier beschriebenen Problem:
https://forum.fhem.de/index.php/topic,78497.0.html

Gruß

Klaus
FHEM 6.0 auf RPI4 mit CUL868, AEOTEC, RFXTRX 433
CUL_WS  : S300TH              FHT         : FHT80B, FHT80TF
HMS        : HMS100-TF         FBDECT   : DECT!200, FRITZ!Powerline 546E
FS20       : FS20DI10, FS20ST, FS20WS1, FS20DU-2, FS20 FMS

John

Habe das Problem gefixt, wird demnächst eingecheckt.

Wer es vorab selbst machen will: bei protocols_allowed ist https einzufügen und die URI ist entsprechend zu ändern.
also von

http://www.proplanta.de/Wetter/Straubing-Wetter-Heute.html
auf
https://www.proplanta.de/Wetter/Straubing-Wetter-Heute.html
___
bei Zeile 881:

  my $agent = LWP::UserAgent->new(
    env_proxy         => 1,
    keep_alive        => 1,
    protocols_allowed => ['http','https'],
    timeout           => 10,
    agent             => "Mozilla/5.0 (Windows NT 5.1) [de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4]"
  );

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Klaus Rubik

FHEM 6.0 auf RPI4 mit CUL868, AEOTEC, RFXTRX 433
CUL_WS  : S300TH              FHT         : FHT80B, FHT80TF
HMS        : HMS100-TF         FBDECT   : DECT!200, FRITZ!Powerline 546E
FS20       : FS20DI10, FS20ST, FS20WS1, FS20DU-2, FS20 FMS

tunguskar

Ich habe einen Kostal PIKO 5.5 und den Wechselrichter soweit in FHEM integriert. Danke schonmal an die Macher des Moduls. Problem aktuell ist, dass er keine Daten von selbigen bekommt. Log schaut so aus: (*** wäre mein Passwort)

2018.01.11 21:18:05 4: KOSTALPIKO Kostal: StatusHtmlAcquire.507 http://pvserver:***@192.168.1.15/index.fhtml
2018.01.11 21:18:05 4: KOSTALPIKO Kostal: SensorHtmlAcquire.449 http://pvserver:***@192.168.1.15/Info.fhtml
2018.01.11 21:18:05 3: KOSTALPIKO Kostal: StatusRun.638 --- done ---
2018.01.11 21:18:05 3: KOSTALPIKO Kostal: StatusDone.657 --- started --- with numStrings:0
2018.01.11 21:18:05 5: KOSTALPIKO Kostal: StatusDone.660 values:
2018.01.11 21:18:05 4: KOSTALPIKO Kostal: StatusDone.815 ModeNum: 9 upd:0
2018.01.11 21:18:05 4: KOSTALPIKO Kostal: StatusDone.815 state: W:  -  upd:0
2018.01.11 21:18:05 3: KOSTALPIKO Kostal: StatusDone.828 --- done ---

Es werden keine Daten heruntergeladen. Wenn ich den Link im Browser eingebe Kommt folgende Meldung:

Sorry, the requested file does not exist on this server.

Der Webserver ist aber erreichbar. Also ich komme auf diesen und kann mir alles anschauen. Kann es sein, dass Kostal die UI verändert hat? Ich habe Version 6.32. Wenn ich die IP vom Wechselrichter eingebe ist die default URL: http://192.168.1.15/#/home

elfelgo

#159
Diese Modul ist nur für die Wechselrichter mit alter SW-Version (altes Web-Layout) nicht für die neue mit neuem WEB-Layout oder? bin am überlegen ob ich meinen WR downgrade zur alten Version hat das schon jemand gemacht?

Obilarius

Gibt es schon eine Möglichkeit die Wechselrichter mit neuer Oberfläche einzubinden?
Habe einen Piko 6.0 BA aber in Fhem kommen nur "ModeNum" und "state" als Readings an...

Internals:
   CFGFN
   DEF        192.168.1.50 pvserver pvwr
   NAME       Kostal
   NR         2331
   STATE      W:  -
   TYPE       KOSTALPIKO
   VERSION    2.08
   Readings:
     2018-06-10 11:43:25   EnergyExpected  0
     2018-06-10 11:22:25   ModeNum         9
     2018-06-10 11:22:25   state           W:  -
   Helper:
     GRHour     25
     Host       192.168.1.50
     Pass       pvwr
     TimerGR    Kostal.GR
     TimerGRInterval 3600
     TimerInterval 60
     TimerStatus Kostal.STATUS
     User       pvserver
     delayCounter 0
Attributes:
   GR.Interval 3600
   GR.Link    https://www.proplanta.de/Wetter/Wackersdorf-Wetter-Heute.html
   delay      60
   userReadings EnergyExpected { return ReadingsVal("Kostal","Global.Radiation",0)*32*0.10;}
   verbose    5


wmr72

Also wenn ich das richtig verstanden habe, dann können die Kostal-WR mit Firmware > 6 ihre Daten alle auch als JSON zurückliefern, damit sollte man das auch alles sehr einfach mit HTTPMOD abfragen können. Mein eigener Kostal wird hoffentlich diese Woche noch in Betrieb gehen, dann werde ich das mal ausprobieren und mich hier zurückmelden.

wmr72

Zitat von: wmr72 am 18 Juni 2018, 12:25:04
Also wenn ich das richtig verstanden habe, dann können die Kostal-WR mit Firmware > 6 ihre Daten alle auch als JSON zurückliefern, damit sollte man das auch alles sehr einfach mit HTTPMOD abfragen können. Mein eigener Kostal wird hoffentlich diese Woche noch in Betrieb gehen, dann werde ich das mal ausprobieren und mich hier zurückmelden.

Nun, es hat etwas länger gedauert als gehofft, aber mittlerweile läuft hier alles. Wie erwartet lässt sich der WR per JSON abfragen, hier meine HTTPMOD-Definition als Beispiel:

define KOSTAL HTTPMOD http://kostal.at.home/api/dxs.json?dxsEntries=16780032&dxsEntries=33556736&dxsEntries=33555201&dxsEntries=33555202&dxsEntries=33555203&dxsEntries=33555457&dxsEntries=33555458&dxsEntries=33555459&dxsEntries=33555713&dxsEntries=33555714&dxsEntries=33555715&dxsEntries=67109120&dxsEntries=251658754&dxsEntries=251658753&dxsEntries=251658496&dxsEntries=251658496&dxsEntries=83887872 60
attr KOSTAL userattr get01Regex get10Regex reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex reading09Name reading09Regex reading10Name reading10Regex reading11Name reading11Regex reading12Name reading12Regex reading13Name reading13Regex reading14Name reading14Regex reading15Name reading15Regex
attr KOSTAL reading01Name dc1_a
attr KOSTAL reading01Regex :33555201,"value":([\d\.]+)
attr KOSTAL reading02Name dc1_v
attr KOSTAL reading02Regex :33555202,"value":([\d\.]+)
attr KOSTAL reading03Name dc1_w
attr KOSTAL reading03Regex :33555203,"value":([\d\.]+)
attr KOSTAL reading04Name dc2_a
attr KOSTAL reading04Regex :33555457,"value":([\d\.]+)
attr KOSTAL reading05Name dc2_v
attr KOSTAL reading05Regex :33555458,"value":([\d\.]+)
attr KOSTAL reading06Name dc2_w
attr KOSTAL reading06Regex :33555459,"value":([\d\.]+)
attr KOSTAL reading07Name dc3_a
attr KOSTAL reading07Regex :33555713,"value":([\d\.]+)
attr KOSTAL reading08Name dc3_v
attr KOSTAL reading08Regex :33555714,"value":([\d\.]+)
attr KOSTAL reading09Name dc3_w
attr KOSTAL reading09Regex :33555715,"value":([\d\.]+)
attr KOSTAL reading10Name operation_status
attr KOSTAL reading10Regex :16780032,"value":([\d\.]+)
attr KOSTAL reading11Name ac_generator_w
attr KOSTAL reading11Regex :67109120,"value":([\d\.]+)
attr KOSTAL reading12Name yield_total_kwh
attr KOSTAL reading12Regex :251658753,"value":([\d\.]+)
attr KOSTAL reading13Name yield_day_wh
attr KOSTAL reading13Regex :251658754,"value":([\d\.]+)
attr KOSTAL reading14Name feed_in_time
attr KOSTAL reading14Regex :251658496,"value":([\d\.]+)
attr KOSTAL reading15Name ac_home_w
attr KOSTAL reading15Regex :83887872,"value":([-\d\.]+)


Die seltsamen Zahlenwerte für die dxsEntries in den Request-Parametern und deren Bedeutung muss man sich aus der Webseite des WR rausholen oder aus der Doku zum WR (gibt's nur gegen Pseudo-NDA).

zyi64567

#163
Hallo!

Klappt es bei dir mit dem Kostal Piko? Kannst du vielleicht ein wenig genau beschreiben was du getan hat? Und wie man z.B. an die ID's kommt?

zyi64567

Sorry, war mein Fehler. Hatte ein Syntax-Fehler.

Hier gibt es weiter ID's: https://www.photovoltaikforum.com/kostal-piko-neue-generation-auslesen-t115856.html#p1464129

Allerdings klappt es bei mir nicht, dass ich in einem rutsch alle IDs abfrage. Der Wechselrichter lässt irgendwann einfach welche weg. Kennt jemand das Problem? Wie habt ihr das gelöst?