Hauptmenü

Auslesen Solaranlage

Begonnen von hotzi, 29 März 2013, 15:12:21

Vorheriges Thema - Nächstes Thema

danni-k

Hallo JayAhr,

das ist ja verdammt lang her

danni-k

Zitat von: danni-k am 13 Februar 2015, 16:47:18
Hallo JayAhr,

das ist ja verdammt lang her

Ähem, da fehlt der Rest.
Hatte das seinerzeit auf nem Beaglebone black laufen.
Soweit ich weiss ging das nachladen von WWW::mechanize mit cpan.
Syntax musst du mal googlen.

Viel Erfolg

JayAhr

Hallo Danni-K!
Vielen Dank für die schnelle Antwort!
Und das gute Gedächtnis! ;-)
Ich mach mich dann mal auf die Suche! ;-)
JayAhr

fabtie

Hallo Danni-K,
ich nutze seit langem dein Modul AT5000 um meine Sunways WR auszulesen und über das Logfile als Plot anzuzeigen. Funktioniert soweit top, danke dafür. :D
Nur würde ich auch gerne mit dem Wert der aktuellen Leistung rechnen und für meine Hausautomatisierung verwenden. Leider scheitere ich daran den Wert "aktual" aus dem Logfile zu extrahieren. Ich bin leider zu wenig Programmierer (eigentlich gar nicht  :(), als dass ich mit den Tipps aus dem Forum zum Thema "Werte aus Logfile auslesen" oder "get FileLog" etwas anfangen kann.
Ich habe auch versucht anhand des 70_NT5000.pm herauszufinden, wie ich ggf. AT5000 anpassen könnte um Readings zu erhalten. Leider erfolglos  :'(

Habt ihr mir einen Tip, wie ich die aktuellen Werte als Readings in mein AT5000-Device rein bekommen?

Vielen Dank, vorab.
Grüße
Fabian
FHEM auf RPi3|HM-CUL und piVCCU, 20x HM-IP | ZigBee/HUE über conbeeII-Stick, 17x ZigBee

ch.eick

Hallo.
Die aktuellen Werte kannst Du doch direkt aus dem Device nehmen.


Bei DOIF z.B [device:reading] = wert
oder mit readingVal(,,device","Reading","defaultwert im Fehlerfall")


Gruß Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

fabtie

Servus!

Freut mich, dass noch jemand in dem (ur)alten Thread unterwegs ist.  :-)

Das mit den Readings habe ich schon versucht. Mit
{ReadingsVal("myAT3000","aktual","123")}
bekomme ich aber immer nur 123 zurück.

Das Problem ist, dass mein AT5000-Device gar keine Readings hat. Anbei 3 Screenshots von
- AT5000-Device (myAT3000)
- FileLog Device
- ein Ausschnitt der Log-Datei
Ich hoffe das hilft euch weiter.

Mit dem "aktual" Wert würde ich gerne arbeiten.

Danke und Gruß
Fabian
FHEM auf RPi3|HM-CUL und piVCCU, 20x HM-IP | ZigBee/HUE über conbeeII-Stick, 17x ZigBee

ch.eick

#21
Hi,
leider kenn ich das Modul nicht, aber wenn es keine readings erstellt, kann man die auch nicht auslesen.
Dann schau doch mal in das Modul, ob man da etwas im code erkennen kann.

Gibt es noch attribute, die man setzen kann? Was sagt die Dokumentation oder die commandref?

Bei mir ist gar kein at5000 Modul zu finden :-)
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

amenomade

Das Modul sollte aber doch Readings erstellen:
readingsBeginUpdate($hash);
        readingsBulkUpdate($hash,"aktual",$akt);
readingsBulkUpdate($hash,"Tagesertrag",$te);
readingsBulkUpdate($hash,"Monatsertrag",$me);
readingsBulkUpdate($hash,"Jahresertrag",$je);
readingsBulkUpdate($hash,"Gesamtertrag",$ge);
readingsEndUpdate($hash, 1);

(@ch.eick: das Modul ist höher hier im Thread)

Und Du hast ja entspr. Log Einträge. Ohne Events wäre es nicht möglich, wie diese FileLog definiert ist. Es sei denn, Du hast irgendein Skript, das die gleiche Datei befüllt.

Kannst Du das Ergebnis von einem "list myAT3000" posten?
Und auch in der Log schauen (mit verbose >=3)


Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

fabtie

Ein Skript habe ich nicht. Ich habe das Device und Logfile entsprechend dem Post von danni-k (31 Dezember 2013, 13:08:16) angelegt. Quasi copy&paste, mehr nicht.

Vor 2 Wochen habe ich dann sogar nochmal das Device gelöscht, mir hier nochmal das Modul gezogen und das Device neu angelegt. Leider keine immer Readings.  :-(

Hier ein List:
Internals:
   DEF        http://192.168.188.37/data/ajax.txt?CAN=1&HASH=00100403&TYPE=5 customer ******** 60
   FUUID      5c5dd958-f33f-3d64-5a70-789d15b828ad5d88
   Host       http://192.168.188.37/data/ajax.txt?CAN=1&HASH=00100403&TYPE=5
   NAME       myAT3000
   NR         71
   Pass       ********
   STATE      initialized
   TYPE       AT5000
   User       customer
Attributes:
   delay      60
   icon       measure_photovoltaic_inst
   room       Energie,Technikraum
   verbose    5

recht überschaubar.

Im EventMonitor finde ich nichts von meinem AT3000, bis auf die verbose-Umstellung.
Im Logfile ist lediglich folgendes zu sehen:
2020.08.02 17:03:02 3: myAT3000: Beende nun Eltern-Prozess, bin durch
2020.08.02 17:03:03 3: myAT3000 Ich bin das Kind! Debug: Host:[http://192.168.188.37/data/ajax.txt?CAN=1&HASH=00100403&TYPE=5]
2020.08.02 17:03:03 3: myAT3000 Beende das Kind erfolreich...
2020.08.02 17:03:19 3: myAT3000: Beende nun Eltern-Prozess, bin durch
2020.08.02 17:03:19 3: myAT3000 Ich bin das Kind! Debug: Host:[http://192.168.188.37/data/ajax.txt?CAN=1&HASH=00100403&TYPE=5]
2020.08.02 17:03:19 3: myAT3000 Beende das Kind erfolreich...


Attribute gibt es lediglich suppressReadings, aber gerade das will ich ja nicht. CommandRef oder DeviceHelp gibt es leider nicht.
FHEM auf RPi3|HM-CUL und piVCCU, 20x HM-IP | ZigBee/HUE über conbeeII-Stick, 17x ZigBee

amenomade

#24
Versuche mal mit der angehängten Version vom Modul. Die sollte mehr verbose 4 Ausgabe in der Log zeigen.

Ich glaube, es hängt an BlockingCall. Hier wäre mMn ein HttpUtils_NonblockingGet besser. Aber zuerst mal sehen, was deine Log ausgibt (insb. ob er wirklich in die $finishFn kommt)

EDIT: Angehängte Version gelöscht. Es gibt jetzt weiter unten im Thread eine Version mit HttpUtils_NonblockingGet
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

fabtie

Danke amenomade. Jetzt sieht das Logfile wiefolgt aus:
2020.08.02 19:33:03 3: myAT3000: Beende nun Eltern-Prozess, bin durch
2020.08.02 19:33:03 4: response=HTTP::Response=HASH(0x6ced370)
2020.08.02 19:33:03 4: ergebnis=master;0.23 kW;0.25 kVA;0.08 kvar;12.27 kWh;12.27 kVAh;0.01 kvarh;37.21 kWh;37.21 kVAh;0.01 kvarh;4.44 MWh;4.44 MVAh;0.00 Mvarh;49.24 MWh;49.24 MVAh;0.00 Mvarh;
1;AT 3000;0.12 kW;6.09 kWh;24.52 MWh;0055A1400667;268435492;3;00100403;0
2;AT 3000;0.11 kW;6.18 kWh;24.72 MWh;0055A1400671;268435492;3;00100403;0
x
x
0;0
00100403;01;00000005


2020.08.02 19:33:03 4: aktual=0.23 kW, tag=12.27 kWh, monat=37.21 kWh, jahr=4.44 MWh, gesamt=49.24 MWh
2020.08.02 19:33:03 3: myAT3000 Ich bin das Kind! Debug: Host:[http://192.168.188.37/data/ajax.txt?CAN=1&HASH=00100403&TYPE=5]
2020.08.02 19:33:03 3: myAT3000 Beende das Kind erfolreich...


Genau das sind die Werte die ich im Logfile habe, aber nicht als Reading.
FHEM auf RPi3|HM-CUL und piVCCU, 20x HM-IP | ZigBee/HUE über conbeeII-Stick, 17x ZigBee

amenomade

Ja, und da sieht man nur die $blockingFn. Die readingsBulkUpdate, die da gemacht werden, können keine Readings erzeugen. Irgendwie merckt das die FileLog trotzdem (ich vermute, die Events sind doch da), und deswegen hast Du keine Readings, aberdoch FileLog Einträge.

Ein Workaround wäre, ein notify zu erstellen, der auf allen Events des Devices reagiert, und entspr. ein anderes Device (z.B. ein dummy) befüllt.

Ich schaue mal, ob ich das Modul irgendwie überarbeiten kann. Das Problem: ich kann dann nicht testen, da ich keine solche Solaranlage habe...
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

fabtie

Zu Testen würde ich mich natürlich gerne bereitstellen. ;-) Danke schonmal vorab, solltest du dir die Mühe machen.

In der Richtung die Werte in ein Dummy o.ä. zu schreiben, hatte ich auch schon gedacht. Habe das aber mangels (FHEM-)Kenntnisse wieder verworfen, bzw. es hat nicht funktioniert. Evtl. versuche ich es in der Zwischenzeit mal den Weg über ein notify, wie du es schreibst.

FHEM auf RPi3|HM-CUL und piVCCU, 20x HM-IP | ZigBee/HUE über conbeeII-Stick, 17x ZigBee

amenomade

#28
Wenn Du testen willst... siehe anbei ;)

HttpUtils_NonBlockingGet mit digest Auth habe ich noch nie gemacht. Es kann sein, dass es nicht sofort funktioniert. Bitte um Geduld :)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

fabtie

Wunderbar danke. Jetzt habe ich die Readings  ;D:
Internals:
   DEF        http://192.168.188.37/data/ajax.txt?CAN=1&HASH=00100403&TYPE=5 customer ******** 30
   FUUID      5c5dd958-f33f-3d64-5a70-789d15b828ad5d88
   Host       http://192.168.188.37/data/ajax.txt?CAN=1&HASH=00100403&TYPE=5
   NAME       myAT3000
   NR         71
   NextUpdate 2020-08-02 21:22:34
   Pass       ********
   STATE      initialized
   TYPE       AT5000
   User       customer
   READINGS:
     2020-08-02 21:22:04   Gesamtertrag    49.24 MWh
     2020-08-02 21:22:04   Jahresertrag    4.44 MWh
     2020-08-02 21:22:04   Monatsertrag    37.60 kWh
     2020-08-02 21:22:04   Tagesertrag     12.66 kWh
     2020-08-02 21:22:04   aktual          0.00 kW
Attributes:
   delay      30
   icon       measure_photovoltaic_inst
   room       Energie,Technikraum
   verbose    5


Allerdings wollte ich "event-on-change-reading" einstellen, das ging nicht.
FHEM auf RPi3|HM-CUL und piVCCU, 20x HM-IP | ZigBee/HUE über conbeeII-Stick, 17x ZigBee