NEWS
[Adapter] cloudfreie Auslesung von Deye-Invertern
-
@rene55 sagte in [Adapter] cloudfreie Auslesung von Deye-Invertern:
@chrisbgl Danke dafür, dass du Versuchskaninchen spielen möchtest. So wie ich das sehe, stellt mich das vor große Herausforderungen, die ich beim Ansatz zu diesem Adapter so nicht vorhatte.
Selbst mit einem kompetenten Tester würde so eine Implementierung, die ich selbst nicht testen kann Wochen dauern. Als ersten Ansatz könntest du ja mal mit dem Modbus-Adapter - der ja auch in deinem zitierten Thread oft vorkommt - dein Vorhaben mal testen. Wenn du da Erfolg hast, würde ich mal ein POC für dich machen.@Rene55 Ich plane eine Installation mit 2 Bezügern hinter separaten Zählern (gleicher Besitzer). Die grössere Anlage ist auf Scheunendächern ohne Batterie, die kleinere Anlage mit Batterie im Wohnhaus - die Distanz zwischen den 2 ist 200m.
- Das Wohnhaus soll NUR im Falle von Solarüberschuss Strom von den Scheunendächern beziehen.
- Desweiteren soll darf die Gesamteinspeisung ins Netz 30kW nicht überschreiten.
DAZU AUCH DAS BILD..
Angedachte Lösung:
- Der GEN Port des Hybrid Wechselrichters wird nur dazugeschaltet, wenn Solarüberschuss vorhanden ist (entweder über einen gesteuerten Schalter, oder über Abschaltung des GEN Ports in der WR Konfiguration - hier müsste man auch schreiben können). Der Zähler wird ja ausgelesen so dass bekannt ist, wann dies der Fall ist.
- Die Einspeisebegrenzung des Hybrid Wechselrichters (Solar Sell Wert - auch hier müsste man schreiben können) soll dazu geregelt werden mittels Berechnung aus den momentanen Einspeiseleistungen welche aus den beiden Zählern ausgelesen werden.
Ueber den Modbus Adapter im ioBroker sollte das gehen, aber die Lösung über den Solarman Logger fände ich eleganter.
Bin gespannt auf eure Feedback - Herzlichen Dank im Voraus.
-
Huhu, hat jemand nen Anstoß wie ich meinen Deye 800w WR mit dem mqtt client vom iobroer auslesen kann? Der Deye adapter lässt sich bei mir nicht installieren und endet mit Code 25.
-
@amnesia106 Welche Version von nodeJS, Admin und jsController?
-
iobroker add deyeidc auto --host DietPi --debug Installing iobroker.deyeidc@0.0.14... (System call) npm ERR! path /opt/iobroker/node_modules/bufferutil npm ERR! command failednpm ERR! command sh -c node-gyp-buildnpm ERR! gyp info it worked if it ends with oknpm ERR! gyp info using node-gyp@7.1.2npm ERR! gyp info using node@18.19.0 | linux | arm64npm ERR! gyp info find Python using Python version 3.11.2 found at "/usr/bin/python3"npm ERR! (node:7702) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only. npm ERR! (Use `node --trace-deprecation ...` to show where the warning was created)npm ERR! gyp info spawn /usr/bin/python3npm ERR! gyp info spawn args [npm ERR! gyp info spawn args '/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py',npm ERR! gyp info spawn args 'binding.gyp',npm ERR! gyp info spawn args '-f', npm ERR! gyp info spawn args 'make',npm ERR! gyp info spawn args '-I',npm ERR! gyp info spawn args '/opt/iobroker/node_modules/bufferutil/build/config.gypi',npm ERR! gyp info spawn args '-I',npm ERR! gyp info spawn args '/opt/iobroker/node_modules/node-gyp/addon.gypi',npm ERR! gyp info spawn args '-I',npm ERR! gyp info spawn args '/home/iobroker/.cache/node-gyp/18.19.0/include/node/common.gypi',npm ERR! gyp info spawn args '-Dlibrary=shared_library',npm ERR! gyp info spawn args '-Dvisibility=default',npm ERR! gyp info spawn args '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/18.19.0', npm ERR! A complete log of this run can be found in: /home/iobroker/.npm/_logs/2024-02-15T12_23_14_202Z-debug-0.log host.DietPi Cannot install iobroker.deyeidc@0.0.14: 1 ERROR: Process exited with code 25
Plattform: linux
RAM: 3.7 GB
Node.js: v18.19.0
NPM: 10.2.3 -
@amnesia106 Such mal
iobroker error process exited with code 25
. Da ist sicher eine Vorgehensweise beschrieben, die dir helfen könnte. -
@rene55 ich hab den fehler auch nur bei dem Deye Adapter feststellen können, andere installieren ohne probleme
-
€: node-gyp neu installiert und bufferutil nachgeschoben hat den Fehler behoben... sry
Hab mal nen issue aufgemacht. Das komische: andere Adapter aus der repo laufen ohne Probleme durch. https://github.com/raschy/ioBroker.deyeidc/issues/81
irgendwas mit bufferutil schlägt da anfangs fehl, jedoch finde ich da nichts konkretes.
root@DietPi:~# npm ls bufferutil root@ /root ├── bufferutil@4.0.8 └─┬ iobroker.deyeidc@0.0.14 └─┬ websocket@1.0.34 └── bufferutil@4.0.8 deduped
root@DietPi:/opt/iobroker/node_modules# npm i bufferutil@4.0.8 npm ERR! code 1 npm ERR! path /opt/iobroker/node_modules/bufferutil npm ERR! command failed npm ERR! command sh -c node-gyp-build npm ERR! gyp info it worked if it ends with ok npm ERR! gyp info using node-gyp@7.1.2 npm ERR! gyp info using node@18.19.1 | linux | arm64 npm ERR! gyp info find Python using Python version 3.11.2 found at "/usr/bin/python3" npm ERR! (node:3962) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only. npm ERR! (Use `node --trace-deprecation ...` to show where the warning was created) npm ERR! gyp info spawn /usr/bin/python3 npm ERR! gyp info spawn args [ npm ERR! gyp info spawn args '/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py', npm ERR! gyp info spawn args 'binding.gyp', npm ERR! gyp info spawn args '-f', npm ERR! gyp info spawn args 'make', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/opt/iobroker/node_modules/bufferutil/build/config.gypi', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/opt/iobroker/node_modules/node-gyp/addon.gypi', npm ERR! gyp info spawn args '-I', npm ERR! gyp info spawn args '/home/iobroker/.cache/node-gyp/18.19.1/include/node/common.gypi', npm ERR! gyp info spawn args '-Dlibrary=shared_library', npm ERR! gyp info spawn args '-Dvisibility=default', npm ERR! gyp info spawn args '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/18.19.1', npm ERR! gyp info spawn args '-Dnode_gyp_dir=/opt/iobroker/node_modules/node-gyp', npm ERR! gyp info spawn args '-Dnode_lib_file=/home/iobroker/.cache/node-gyp/18.19.1/<(target_arch)/node.lib', npm ERR! gyp info spawn args '-Dmodule_root_dir=/opt/iobroker/node_modules/bufferutil', npm ERR! gyp info spawn args '-Dnode_engine=v8', npm ERR! gyp info spawn args '--depth=.', npm ERR! gyp info spawn args '--no-parallel', npm ERR! gyp info spawn args '--generator-output', npm ERR! gyp info spawn args 'build', npm ERR! gyp info spawn args '-Goutput_dir=.' npm ERR! gyp info spawn args ] npm ERR! Traceback (most recent call last): npm ERR! File "/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py", line 51, in <module> npm ERR! sys.exit(gyp.script_main()) npm ERR! ^^^^^^^^^^^^^^^^^ npm ERR! File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 670, in script_main npm ERR! return main(sys.argv[1:]) npm ERR! ^^^^^^^^^^^^^^^^^^ npm ERR! File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 662, in main npm ERR! return gyp_main(args) npm ERR! ^^^^^^^^^^^^^^ npm ERR! File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 629, in gyp_main npm ERR! [generator, flat_list, targets, data] = Load( npm ERR! ^^^^^ npm ERR! File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 150, in Load npm ERR! result = gyp.input.Load( npm ERR! ^^^^^^^^^^^^^^^ npm ERR! File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 3021, in Load npm ERR! LoadTargetBuildFile( npm ERR! File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 411, in LoadTargetBuildFile npm ERR! build_file_data = LoadOneBuildFile( npm ERR! ^^^^^^^^^^^^^^^^^ npm ERR! File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 239, in LoadOneBuildFile npm ERR! build_file_contents = open(build_file_path, "rU").read() npm ERR! ^^^^^^^^^^^^^^^^^^^^^^^^^^^ npm ERR! ValueError: invalid mode: 'rU' while trying to load binding.gyp npm ERR! gyp ERR! configure error npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1 npm ERR! gyp ERR! stack at ChildProcess.onCpExit (/opt/iobroker/node_modules/node-gyp/lib/configure.js:351:16) npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:517:28) npm ERR! gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:292:12) npm ERR! gyp ERR! System Linux 6.1.21-v8+ npm ERR! gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/.bin/node-gyp" "rebuild" npm ERR! gyp ERR! cwd /opt/iobroker/node_modules/bufferutil npm ERR! gyp ERR! node -v v18.19.1 npm ERR! gyp ERR! node-gyp -v v7.1.2 npm ERR! gyp ERR! not ok
-
@amnesia106
root.... eiderdaus..das Issue kannst du auch gleich wieder zu machen, da du dir mit deinem root-account deine Rechte im System in Node und NPM geschossen hast...
Log dich bitte mal als user ein, den du angelegt haben solltest, geh in /opt/iobroker und mach ein iobroker fix, das biegt hoffentlich die Rechte wieder gerade...
-
@amnesia106 sagte in [Adapter] cloudfreie Auslesung von Deye-Invertern:
node-gyp neu installiert und bufferutil
Ich habe von diesen beiden Utilitys noch nie was gehört, geschweige denn installiert. Trotzdem viel Spaß mit dem Adapter.
-
Hallo ich habe einen Deye 600 Wechselrichter mit externem Relais. Ich nutze den Deydic Adapter zur Integration in IObroker. Ich versuche seit Wochen den Wechselrichter über den Source Analytics Adapter auszuwerten, ich nutze dazu das Register Et_ge0 Production Total. Am Ersten Tag wird noch richtig berechnet. Am darauffolgenden Tag steht schon der Totale Erzeugte Wert im Object Current Day. Es wird also nicht richtig berechnet. Ich habe noch einen Hoymiles Wechselrichter, den ich mit den gleichen einstellungen auswerte und da funktioniert es einwandfrei. Kann es daran liegen weil sich der Deye Abends/Nachts abschaltet und die DTU (ahoy) vom Hoymiles nicht. Hat irgendjemand source Analytics mit dem Deyedic Adapter zum laufen bekommen?
-
@timredlich Wenn ich Deye glauben darf ist in Et_ge0 die Gesamtproduktion enthalten. Die wird wohl -wenn überhaupt - erst mit einem Totalreset wieder auf 0 gehen. Wenn du daraus die Tagesproduktion haben willst, musst du selbst was ausrechnen.
-
.Etdy_ge0 Production Today
Das sollte der DP sein, den Du suchst. Nutzt Du den Adapter von @rene55 ? -
@wcag22 beim Hoymiles habe ich auch den Totalen Datenpunkt. Die Tagesleistung wird dann aus der Diferenz zu gestern berechnet. Das macht der Source Analytics Adapter von ganz allein. Beim Deyedic Datenpunkt klappt es nicht.
-
@timredlich Liegt das am Inhalt des DP? Welche Daten erwartest Du da?
-
@timredlich Der Deye Adapter liefert die richtigen Werte und der gewählte Datenpunkt ist auch der richtige für die Verwendung mit Source Analytics.
Leider hat Source Analytics einige Probleme bei der Auswertung von Daten, die sich selten oder über Nacht nicht ändern bzw. aktualisiert werden. Diese Probleme werden u.a. in den Issues #478, #704 und #905 auf der Github Seite beschrieben. In #478 ist ein Workaround mit einem Blockly Script beschrieben. Mal ausprobieren.
Ich hatte Source Analytics bisher nicht im Einsatz, aber nun mal testweise aufgesetzt. Hat für das Deye BKW korrekt funktioniert. -
@jrudolph Ich habe jetzt manuell einen Datenpunkt angelegt, den ich mit Source Analytics auswerte. Diesen Datenpunkt aktualisiere ich jede Minute mit den Werten vom Deydic Adapter. Leider hatte Source Analytics wieder nicht richtig berechnet. Gestern habe ich die Auswertung gestartet. Somit zeigte heute Morgen der Punkt Previous Day 0,7 kWh an und der Punkt Current Day 427,7 kWh. Normalerweise müsste Current Day bei 0 kWh liegen. Die 427 hatte ich als Aktuellen Zählerstand (Day,Week, Month, Quarter und Year ) eingetragen. Aktiviert war: Verbrauch berechnen und Erkennung der Zurücksetzung des Gerätewerts Aktiviert.
-
@timredlich
Wie aktualisierst du dein manueller DP.
Bei mir funktioniert es.Ich habe es so eingestellt. Der Wert wird nur dann aktualisiert, wenn er Größer als letztes ist.
-
@edis77 ich habe ein Interval von 1 Minute angelegt, so das jede Minute der Datenpunkt Production Total abgefragt wird und in den Datenpunkt PV_Carport geschrieben wird. Ich werde jetzt aber mal deine Variante ausprobiern.
-
@edis77 So habe jetzt mal übers Wochenende getestet. Und mit deiner Variante des Scripts funktioniert es tatsächlich. Die Auswertung passt und ich muss jetzt keinen zusätzlichen Shelly verbauen. Danke für die Hilfe.
-
Hi,
ich habe einen Deye sun-10k-sg04lp3-eu an dem ein ethernet datenlogger steckt. Jetzt wollte ich mittels dieses Adapters die daten des Wechselrichters auslesen.
Ich habe einige der Register aus dieser Config hier ausprobiert: https://github.com/raschy/ioBroker.deyeidc/blob/main/deyeidc.Sun10KP3.json
Es hat aber nichts funktioniert.
Mein log sieht so aus:
Bei fast jedem Versuch gibt es Checksummen Fehler. Datenpunkte wurden von dem Adapter bisher noch keine angelegt.
Habt ihr eine Idee was das Problem sein könnte?