Autor Thema: Neue Weboberfläche von KOSTALPIKO, das Modul liefert keine Werte mehr  (Gelesen 3048 mal)

Offline wolfdell

  • New Member
  • *
  • Beiträge: 6
Ich habe das Kostal Piko Modul installiert. Bisher funktionierte das wunderbar. Am Freirag habe ich den Wechselrichter mit der neuen Firmware und der aktuellen UI versehen. Mit der neuen UI Version ist eine komplett überarbeitete Weboberfläche installiert worden. Seitdem erhalte ich, verständlicherweise, keine Werte mehr über das Modul.
Wird das Modul dementsprechend angepasst?

Gruß wolfdell

Offline John

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1384
  • LOGO, PID20, HourCounter, KostalPiko, MaxScanner
Antw:Neue Weboberfläche von KOSTALPIKO, das Modul liefert keine Werte mehr
« Antwort #1 am: 02 November 2015, 10:03:41 »
Hallo wolfdell,

das vorliegende Modul ist im Prinzip ein HTML-Parser, d.h. die HTML-Seite nach bestimmten Signaturen untersucht, an denen die
interessierenden Zahlenwerte erwartet werden.

Damit ist klar, daß jede Änderung der Seite durch den Hersteller auch eine Änderung von diesem Modul bedeuten würde.

Mein Wechselrichter kann bezüglich Firmware nicht aktualisiert werden, so daß sich  jemand finden muß der die neue Aufgabe übernimmt.

Eine offene Schnittstelle des Herstellers zur Datenübetragung an externe Systeme wäre eine wesentliche Verbesserung, da diese
unabhängig von der Gestaltung der Oberfläche wäre.

Ich rate dazu diesbezüglich Kontakt mit der Hersteller aufzunehmen, ob dieser seine Daten-Schnittstelle offenlegen würde.
(die Kostal-Software kommuniziert ja auch mit dem Wechselrichter).

Du kannst aber vorab den HTML-Abzug deiner der neuen Seiten hier reinstellen, vielleich sind die Änderungen ja nicht so gravierend.

John
CubieTruck/ CULV3
MAX Thermostat, MAX Thermostat+, MAX Fensterkontakt, MAX ECO-Taster
HMS100-TF, Sonos, PID20, HourCounter, MaxScanner, LOGO

Offline wolfdell

  • New Member
  • *
  • Beiträge: 6
Antw:Neue Weboberfläche von KOSTALPIKO, das Modul liefert keine Werte mehr
« Antwort #2 am: 03 November 2015, 15:04:12 »
Hallo,
ein kleines Zwischenergebnis. Ich habe Kostal angeschrieben mit der Bitte über die Schnittstelleninformation. Diese würde mir auch nach der Unterzeichnung einer Geheimhaltungsverpflichtung zugesandt. Das geht natürlich nicht, da Fhem Open Source ist. Aktuell habe ich bei Kostal noch einmal nachgefragt ob es eine andere Möglichkeit gibt. Die Antwort ist noch offen, ich informiere hier wenn ich weitere Informationen habe.

Des Weiteren habe ich mal drei Bildschrimabzüge hier an gehangen. Vielleicht kann John ja etwas damit anfangen. Sonst können alle interessierten einen Eindruck von der neuen Oberfläche bekommen. Wie schon eingangs beschrieben ist die Weboberfläche komplett überarbeitet worden. Sie ist dem Portal von Kostal sehr ähnlich.

Gruß wolfdell

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 8196
  • fhem.cfg befreite Zone!
Antw:Neue Weboberfläche von KOSTALPIKO, das Modul liefert keine Werte mehr
« Antwort #3 am: 03 November 2015, 15:27:56 »
Hallo,

Erstmal vielen Dank für Deine Mühe und tatkräftige Unterstützung. Leider ist es aber so das ein Entwickler mit den Bildern nichts anfangen kann. Was wir brauchen ist die Seite als HTML Code.

Also Seite aufrufen wo die Daten enthalten sind und dann, bei Firefox zum Beispiel, rechte Maustaste Seitenquelltext anzeigen. Und genau das dann in Code Tags hier bitte posten oder als Anhang hier rein.



Grüße
Leon
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier

Offline wolfdell

  • New Member
  • *
  • Beiträge: 6
Antw:Neue Weboberfläche von KOSTALPIKO, das Modul liefert keine Werte mehr
« Antwort #4 am: 03 November 2015, 18:03:35 »
...habe den Quellcode in der txt Datei angehangen. Bei der Erstellung bin ich auf mehrer menüpunkte gegangen und habe die codes in die Datei eingetragen. Aus meiner Sicht sehen die alle gleich aus. Wenn ich unterstützen kann, dann bitte melden, ich versuche mit meinem wenigen Wissen so gut zu unterstützen wie es geht.  ;D

Offline wolfdell

  • New Member
  • *
  • Beiträge: 6
Antw:Neue Weboberfläche von KOSTALPIKO, das Modul liefert keine Werte mehr
« Antwort #5 am: 04 November 2015, 09:05:19 »
Hallo, auf meiner Suche nach einer Lösung bin ich auf ein Python Script gestoßen. Dieses habe ich auf meinem Raspberry kopiert und getestet. Es liefert die Werte wie in der Beschreibung angegeben. Das script mit der Beschreibung befindet sich im Anhang. Vielleicht hilft das.

wolfdell

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 8196
  • fhem.cfg befreite Zone!
Antw:Neue Weboberfläche von KOSTALPIKO, das Modul liefert keine Werte mehr
« Antwort #6 am: 04 November 2015, 10:06:43 »
Guten Morgen,

Das ist sehr gut. Gib John etwas Zeit um das ganze um zu setzen. Er ist der Modulentwickler. Leider bin ich zur Zeit etwas eingespannt sonst hatte ich ihm ein Patch einreichen können. Also bitte etwas Geduld.



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier

Offline wolfdell

  • New Member
  • *
  • Beiträge: 6
Antw:Neue Weboberfläche von KOSTALPIKO, das Modul liefert keine Werte mehr
« Antwort #7 am: 04 November 2015, 10:28:57 »
...na klar, kein Thema. Wenn ich testen soll, dann meldet euch bitte.
Neue Installationen, bei denen der neue UI und die neue Firmware standardmäßig installiert sind, werden ja erst nach dem Winter beginnen. Es bleibt also ein wenig Zeit.  :)

nuru

  • Gast
hallo,

1. post als neuling und fhem /kostal noob hoffe es hilft :)

kostal webserver => ui 06.11

anfrage:
http://xxxxxx.de/api/dxs.json?dxsEntries=33555202&dxsEntries=33555201&dxsEntries=33555203&dxsEntries=33555458&dxsEntries=33555457&dxsEntries=33555459&sessionId=xxxxx

raw antwort
{"dxsEntries":[{"dxsId":33555202,"value":744.586548},{"dxsId":33555201,"value":0.140991},{"dxsId":33555203,"value":105.541122},{"dxsId":33555458,"value":745.179932},{"dxsId":33555457,"value":0.000000},{"dxsId":33555459,"value":0.000000}],"session":{"sessionId":xxxxxx,"roleId":2},"status":{"code":0}}

z.B.
dxsID: 33555202 = Spannung DC1
           33555201 = Strom DC1
           67109120 = Ausgangsleistung

usw.

und jetzt meine frage hat schon jemand das ganze im modul umgesetzt?

Nachtrag:
man könnte  natürlich auch mittels 98_HTTPDMOD.pm alle werte des webservers ui 06.11 per GET/PUT ->json auslesen. eine pw bzw. session wird dafür nicht benötigt. (anfrage dazu an hersteller steht noch aus)
z.B. http://xxxxxx/api/dxs.json?dxsEntries=33555202&dxsEntries=33555201

die gültigen ids und die umrechnung sind im webserver (javascript) z.B. http://ip-adresse-des-wr/assets/kbApp-1.0.6.js zu finden. bei bedarf kann ich sie auch posten ist ja kein geheimniss :)

für alle die ein portforwarding ins i-net zum wr machen, rate ich kein portforarding ins i-net da jeder der die ip und port kennt die werte auslesen kann und evtl. auch noch mehr :(
« Letzte Änderung: 09 April 2016, 10:06:27 von nuru »

Offline wolfdell

  • New Member
  • *
  • Beiträge: 6
..ich melde mich mal wieder zu dem Thema, gibt es schon eine angepasste Version?

MfG
wolfdell

nuru

  • Gast
glaube nicht,
aber man kann es ganz einfach per httpmod umsetzen

z.B.
 def: http://kostal.ip/api/dxs.json?dxsEntries=33555202&dxsEntries=33555201&dxsEntries=33555203&dxsEntries=33555458&dxsEntries=33555457&dxsEntries=33555459&dxsEntries=67109120&dxsEntries=83888128&&dxsEntries=83886848&dxsEntries=83886336&dxsEntries=83887106&dxsEntries=83887362&dxsEntries=83887618&dxsEntries=251658754&dxsEntries=251658753 60

gibt folgende werte alle 60 sec aus:
Spannung P1
Strom P1
Leistung P1
Spannung P2
Strom P2
Leistung P2
Ausgangsleistung
Eigenverbrauch
aktl. Verbrauch Netz
akt.Verbrauch PV
Hausverbrauch P1
Hausverbrauch P2
Hausverbrauch P3
Erzeugung Tag
Erzeugung gesamt

andere werte sind natürlich auch möglich aber mir reicht das :)

Offline Vize

  • Full Member
  • ***
  • Beiträge: 402
Hallo zusammen,

seit heute ist ein Piko 8.5 Dauergast in meinem Haus...  8)

Nun möchte ich mir dort gern die Ausgangsleistung per HTTPMOD abholen.

Dazu also folgendes definiert:
http://ip.des.piko.wr/api/dxs.json?dxsEntries=67109120 60
list des entsprechenden httpmods:
Internals:
   BUSY       0
   CFGFN
   CHANGED
   DEF        http://xxx.xxx.xxx.xxx/api/dxs.json?dxsEntries=67109120 60
   GetSeq     0
   HTTPHEADER
   Interval   60
   LASTSEND   1461001433.93469
   MainURL    http://xxx.xxx.xxx.xxx/api/dxs.json?dxsEntries=67109120
   NAME       httpmod_piko
   NR         902
   STATE      ???
   TRIGGERTIME 1461001493.93401
   TRIGGERTIME_FMT 2016-04-18 19:44:53
   TYPE       HTTPMOD
   addr       http://xxx.xxx.xxx.xxx:80
   buf        HTTP/1.0 200 OK
 
Content-Type: text/plain
 
Expires: Sun, 02 Jan 2000 11:11:11 GMT
 

 
{"dxsEntries":[{"dxsId":67109120,"value":46.909782}],"session":{"sessionId":0,"roleId":0},"status":{"code":0}}
   code       200
   conn
   data
   displayurl http://xxx.xxx.xxx.xxx/api/dxs.json?dxsEntries=67109120
   header
   host       XXX.XXX.XXX.XXX
   httpheader HTTP/1.0 200 OK
 
Content-Type: text/plain
 
Expires: Sun, 02 Jan 2000 11:11:11 GMT
   hu_blocking 0
   hu_filecount 2
   ignoreredirects 0
   loglevel   4
   path       /api/dxs.json?dxsEntries=67109120
   protocol   http
   redirects  0
   timeout    2
   url        http://xxx.xxx.xxx.xxx/api/dxs.json?dxsEntries=67109120
   QUEUE:
   Readings:
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       Update
     url        http://xxx.xxx.xxx.xxx/api/dxs.json?dxsEntries=67109120
   Sslargs:
Attributes:

Dann habe ich versucht, mir den Artikel im Wiki anzueignen, aber da scheitere ich leider...wegen Englisch und wegen Verständnis  :-[

Kann mir vielleicht jemand helfen, wie ich mir daraus ein Reading/State bauen kann, welches mir den aktuellen Wert zeigt?
Interessanter Teil ist ja wohl dieser Abschnitt: "value":46.909782, oder?

Vielen Dank schonmal für jegliche Hilfe!

Gruß
Andreas
« Letzte Änderung: 02 August 2016, 18:05:16 von Vize »

Offline Vize

  • Full Member
  • ***
  • Beiträge: 402
Hallo zusammen,

konnte die Aufgabe nun doch selbst lösen...nachdem ich den thread zu httpmod hier im Forum gefunden habe...  :-[

Also, zunächst hab ich mir alle Sachen von der Seite mit "extractAllJSON" abgeholt und mir dann die für mich interessanten Sachen mit "readingXXJSON" und "readingXXName" zusammengebaut.

Gruß
Andreas

Offline karstenb

  • New Member
  • *
  • Beiträge: 5
Hallo Andreas,
ich habe auch einen Piko (7) und  würde den gerne via FHEM auslesen. Kannst du deine Lösung hier posten?
Danke, Karsten

Offline Vize

  • Full Member
  • ***
  • Beiträge: 402
Hallo Karsten,

die Lösung steht schon fast komplett in den beiden posts darüber.

Lies doch mal im Wiki den Artikel zu Httpmod, dort ist eigentlich alles sehr gut beschrieben, und du kannst dir das dann nach deinen Wünschen zusammenbauen.

Wenn du konkrete Fragen oder Probleme hast, meld dich einfach...

Gruß
Andreas

Offline karstenb

  • New Member
  • *
  • Beiträge: 5
Das mit den extractAllJSON klappt nicht, ich bekomme immer "unbekanntes Attribut".

Habe jetzt eigene Readings definiert, z.B.

   reading01Name Ausgangsleistung
   reading01Regex 67109120,"value":([\d\.]+)

Der PIKO ist als Typ HTTPMOD definiert.

So bekomme ich es auch hin.

Offline Vize

  • Full Member
  • ***
  • Beiträge: 402
Hi Karsten,

extractAllJSON habe ich, wie ich geschrieben habe, nur kurz genutzt, um mir die Bezeichnung der Parameter zeigen zu lassen.
Danach hab ich das wieder rausgenommen und mir die Readings so gebaut:
Beispiel
reading01Format %.0f
reading01JSON dxsEntries_01_value
reading01Name Ausgangsleistung

Warum extractAllJSON bei dir nicht funktioniert, weiß ich nicht...welche Version von HTTPMOD hast du denn? Und wie sieht dein Url-Aufruf aus?

Gruß
Andreas

Offline karstenb

  • New Member
  • *
  • Beiträge: 5
Hallo Andreas,

ich habe das fhem Paket ganz frisch herunter geladen, also 5.7.
Die Url (DEF) ist:
http://###/api/dxs.json?dxsEntries=33555202&dxsEntries=33555201&dxsEntries=33555203&dxsEntries=33555458&dxsEntries=33555457&
dxsEntries=33555459&dxsEntries=67109120&dxsEntries=83888128&&dxsEntries=83886848&dxsEntries=83886336&dxsEntries=83887106&
dxsEntries=83887362&dxsEntries=83887618&dxsEntries=251658754&dxsEntries=251658753&dxsEntries=251659010&dxsEntries=251659265&
dxsEntries=251658496&dxsEntries=251659266 60

Das Ergebnis ist dann
    
HTTP/1.0 200 OK Content-Type: text/plain Expires: Sun, 02 Jan 2000 11:11:11 GMT {"dxsEntries":[{"dxsId":33555202,"value":355.741699},
{"dxsId":33555201,"value":1.437378},{"dxsId":33555203,"value":511.641998},{"dxsId":33555458,"value":351.884644},{"dxsId":33555457,"value":1.534424},
{"dxsId":33555459,"value":540.658936},{"dxsId":67109120,"value":1002.201660},{"dxsId":83888128,"value":178.646225},
{"dxsId":83886848,"value":0.000000},{"dxsId":83886336,"value":178.646225},{"dxsId":83887106,"value":31.990232},{"dxsId":83887362,"value":-10.643232},
{"dxsId":83887618,"value":157.299225},{"dxsId":251658754,"value":8612.517578},{"dxsId":251658753,"value":128.683289},
{"dxsId":251659010,"value":2378.735352},{"dxsId":251659265,"value":1.902259},{"dxsId":251658496,"value":88},
{"dxsId":251659266,"value":1902.258789}],"session":{"sessionId":0,"roleId":0},"status":{"code":0}}

Mit den Regulären Ausdrücken fische ich mir dann die Werte für die Readings raus


Offline Vize

  • Full Member
  • ***
  • Beiträge: 402
Jau, so geht's natürlich auch...  ;)

Wenn HTTPMOD aktuell ist, solltest du extractAllJSON direkt im WebIF als Attribut auswählen und auf 1 oder 0 setzen können...

Gruß
Andreas

Offline karstenb

  • New Member
  • *
  • Beiträge: 5
So, jetzt ist das HTTPMOD aktuell, und schon geht das extractAllJSON auch  ;)

Ich bin mit dem FHEM Konzept noch nicht so vertraut...

Offline ParoX

  • Newbie
  • Beiträge: 1
Antw:Neue Weboberfläche von KOSTALPIKO, das Modul liefert keine Werte mehr
« Antwort #20 am: 16 Oktober 2016, 20:50:02 »
Danke für diesen Thread und an Jeden, der sich eingebracht hat. Habe das Auslesen meines Pikos damit recht gut hinbekommen.

Falls jemand eine Übersicht aller möglichen DXS Entries wünscht, siehe Attachment. Habe auch eine Formel eingebaut, die aus den gewünschten Values gleiche eine URL generiert, einfach nur noch die IP anpassen :-)

Viele Grüße
Marc

Offline karstenb

  • New Member
  • *
  • Beiträge: 5
Antw:Neue Weboberfläche von KOSTALPIKO, das Modul liefert keine Werte mehr
« Antwort #21 am: 20 Dezember 2016, 13:24:18 »
Hallo,
ich möchte gerne aus dem Piko  via JSON die Werte für die aktuellen Ausgangsleistungen pro Phase auswerten.
Laut der Excel Tabelle sind das:
Leistung DC-In 133555203
Leistung DC-In 233555459
Leistung DC-In 333555715
Leider sind die gelesenen Werte nicht plausibel, besonders der Wert Leistung DC-In 3 ist immer null
 bei mir. Verglichen habe ich das mit den Werten aus der Piko Webseite.

Hat jemand von Euch eine aktuelle Liste der dxs Schlüssel?

Danke, Karsten