Jump to content

photron

Administrators
  • Gesamte Inhalte

    3.039
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    39

Alle erstellten Inhalte von photron

  1. Danke für den Hinweis. Ich habe die Dokumentation aktualisiert.
  2. Ich habe deine Änderungen mit in Delphi Bindings 2.1.34 aufgenommen.
  3. Dafür müssen wir das Problem aber nachstellen können. Welches Debian-Derivat nutzt du, auf dem dieses Problem auftritt?
  4. Bindings: C# 2.1.33, Delphi/Lazarus 2.1.34, LabVIEW 2.1.32, Mathematica 2.1.32, Visual Basic .NET 2.1.32 Handle forced socket read timeout for System.AppDomain.Unload timeout fix correctly when using Microsoft .NET runtime on Linux [C#, LabVIEW, Mathematica, VB.NET] Use macOS specific code for all non-Windows platforms [Delphi] Download: C#, Delphi/Lazarus, LabVIEW, Mathematica, Visual Basic .NET
  5. Bindings: C# 2.1.33, Delphi/Lazarus 2.1.34, LabVIEW 2.1.32, Mathematica 2.1.32, Visual Basic .NET 2.1.32 Erzwungener Socket-Lese-Timeout, um das System.AppDomain.Unload-Timeout-Problem zu lösen, wird jetzt auch bei der Verwendung der Microsoft .NET Runtime unter Linux richtig behandelt [C#, LabVIEW, Mathematica, VB.NET] macOS spezifischer Code wird für alle nicht-Windows Platformen verwendet [Delphi] Download: C#, Delphi/Lazarus, LabVIEW, Mathematica, Visual Basic .NET
  6. Das brickv Debian Package hängt ab von: python3 (>= 3.5), python3-pyqt5 (>= 5.5), python3-pyqt5.qtopengl, python3-serial (>= 3.0), python3-tz, python3-tzlocal, python3-pkg-resources Da ist alles dabei was dein Script auch installiert. Da fehlt also erstmal nichts. Der Unterschied ist aber, dass du mit pip die aktuellsten Versionen von PyPI installierst im Gegensatz zu deinem Debian Derivat, dass vermutlich ältere Versionen ausliefern wird. Wir importieren PyQt5.sip nicht direkt. SIP ist ein Implementierungsdetail von PyQt5. Ich vermute das ist ein Bug in der speziellen PyQt5 Version, die dir apt installiert hat, oder in der Art und Weise wie Debian PyQt5 paketiert hat. Vielleicht können wir da einen Workaround für einbauen.
  7. Ich habe die JavaScript Binding im Browser getestet und kann dein Problem leider nicht nachstellen. Die Bindings funktionieren bei mir. Ich habe dieses Beispiel einfach direkt im Browser ausgeführt, ohne es vorher runterzuladen. Ich habe nur die UID meines Outdoor Weather Bricklets eingetragen: https://www.tinkerforge.com/de/doc/Software/Examples/JavaScript/OutdoorWeather_Bricklet_JavaScript_ExampleCallback.html Ich verwenden die aktuellen Softwareversionen: brickd 2.4.5 und Outdoor Weather Bricklet Firmware 2.0.4.
  8. Das Thema ist nicht neu: https://github.com/Tinkerforge/esp32-firmware/issues/210 Das wollen wir uns anschauen, was da realisierbar ist.
  9. Jetzt auch wirklich, sorry 🤦‍♂️
  10. Sorry, ich hatte vergessen die tinkerforge.asc mit hochzuladen. Die Anleitung funktioniert jetzt wie sie soll. Es ist nicht notwenig euch die .asc Datei selbst zu erstellen.
  11. Brick Logger 2.1.10 Support für Industrial Dual AC In Bricklet hinzugefügt Downloads: Windows, Linux, macOS, RED Brick
  12. Brick Logger 2.1.10 Add support for Industrial Dual AC In Bricklet Downloads: Windows, Linux, macOS, RED Brick
  13. Brick Viewer 2.4.26 Add support for Industrial Dual AC In Bricklet Add Data Logger support for Industrial Dual AC In Bricklet Only use Python dev-mode if available Fix health monitor metric errors for ESP32 (Ethernet) Brick Add "@ host:port" to window title if connected Avoid crash when closing Brick Viewer Add function code to Modbus master function selection in RS485 Bricklet plugin Downloads: Windows, Linux, macOS
  14. Brick Viewer 2.4.26 Support für Industrial Dual AC In Bricklet hinzugefügt Data Logger Support für Industrial Dual AC In Bricklet hinzugefügt Python dev-mode wird nur aktiviert, wenn verfügbar Health-Monitor Metric-Fehler für ESP32 (Ethernet) Brick korrigiert Verbindingsdetail "@ host:port" im Fenstertitle anzeigen Crash beim Schließen von Brick Viewer vermieden Modbus-Funktionscodes werden im Master-Modus im RS485 Bricklet Plugin angezeigt Downloads: Windows, Linux, macOS
  15. Ich habe Trixie und tinkerforge.asc hinzugefügt und die Anleitung aktualisiert. Danke für den Hinweis!
  16. Bindings: C/C++ 2.1.34, C/C++ for Microcontrollers 2.0.4, C# 2.1.32, Delphi/Lazarus 2.1.33, Go 2.0.15, Java 2.1.33, JavaScript 2.1.35, LabVIEW 2.1.31, Mathematica 2.1.31, MATLAB/Octave 2.0.33, MQTT 2.0.17, Perl 2.1.32, PHP 2.1.31, Python 2.1.31, Ruby 2.1.31, Rust 2.0.21, Saleae 2.0.8, Shell 2.1.33, Visual Basic .NET 2.1.31 Add support for Industrial Dual AC In Bricklet [All] Add FFC shutter mode and normalization to Thermal Imaging Bricklet API [All] Fix System.AppDomain.Unload timeout, avoid crash [LabVIEW] Fix System.AppDomain.Unload timeout [C#, Mathematica, VB.NET] Fix error response check [Go] Fix single chunk streams [Go] Handle empty payload in streamed function calls [MQTT] Remove wrong stream error handling [JavaScript] Add IPv6 support, raises PHP requirement to 7.2.0 [P,HP] Don't leak socket on connect error [Python] Add IPv6 support [Python] Show dropped bytes [Saleae] Fix get-identity call [Shell] Fix --execute with modern Python versions [Shell] Support authentication secret, listen address and port for Arduino ESP32 [µC] Don't count callbacks as unexpected packets [µC] Fix byte offset when splitting packet to be sent [µC] Correctly mark packet as processed if received in setter [µC] Correctly stop waiting for packet when timeout is elapsed [µC] Use correct sequence number when resending proxy packets [µC] Validate header length of received packets [µC] Report local function calls as unsupported instead of timing out [µC] Fix IP address handling with current Arduino ESP32 [µC] Download: C/C++, C/C++ for Microcontrollers, C#, Delphi/Lazarus, Go, Java, JavaScript, LabVIEW, Mathematica, MATLAB/Octave, MQTT, Perl, PHP, Python, Ruby, Rust, Saleae, Shell,
  17. Bindings: C/C++ 2.1.34, C/C++ for Microcontrollers 2.0.4, C# 2.1.32, Delphi/Lazarus 2.1.33, Go 2.0.15, Java 2.1.33, JavaScript 2.1.35, LabVIEW 2.1.31, Mathematica 2.1.31, MATLAB/Octave 2.0.33, MQTT 2.0.17, Perl 2.1.32, PHP 2.1.31, Python 2.1.31, Ruby 2.1.31, Rust 2.0.21, Saleae 2.0.8, Shell 2.1.33, Visual Basic .NET 2.1.31 Support für Industrial Dual AC In Bricklet hinzugefügt [Alle] FFC Shutter Mode und Normalization zur Thermal Imaging Bricklet API hinzugefügt [Alle] System.AppDomain.Unload Timeout behoben und dadurch LabVIEW-Abstruz vermieden [LabVIEW] System.AppDomain.Unload Timeout behoben [C#, Mathematica, VB.NET] Überprüfung der Antwort im Fehlerfall korrigiert [Go] Single-Chunk-Streams repariert [Go] Leerer Payload in gestreamtem Funktionsaufruf wird korrekt behandelt [MQTT] Falsche Stream-Fehlerbehandlung entfernt [JavaScript] IPv6-Support hinzugefügt, benötigt PHP 7.2.0 [P,HP] Socket-Resource-Leck durch Verbindungsfehler korrigiert [Python] IPv6-Support hinzugefügt [Python] Ignorierte Bytes werden angezeigt [Saleae] get-identity Aufruf repariert [Shell] --execute mit modernen Python-Versionen korrigiert [Shell] Support für Authentication-Secret, Listen-Adresse und -Port für Arduino ESP32 hinzugefügt [µC] Callbacks werden nicht mehr fälschlicherweise als unerwartete Pakete gezählt [µC] Byte-Offset beim Aufteilen zu sendender Pakete korrigiert [µC] Packet wird korrekt als verarbeitet markiert, falls es in einem Setter empfangen wurde [µC] Warten auf Pakete beim Ablauf des Timeouts wird korrekt abgebrochen [µC] Verwendung der korrekten Sequenznummer beim Weiterleiten von Proxy-Paketen [µC] Header-Länge empfangener Pakete wird überprüft [µC] Lokale Funktionsaufrufe werden direkt als nicht-unterstüzt abgebrochen anstatt in einen Timeout zu laufen [µC] IP-Adress-Behandlung bei Verwendung der aktuellen Arduino ESP32 Bibliothek korrigiert [µC] Download: C/C++, C/C++ for Microcontrollers, C#, Delphi/Lazarus, Go, Java, JavaScript, LabVIEW, Mathematica, MATLAB/Octave, MQTT, Perl, PHP, Python, Ruby, Rust, Saleae, Shell, Visual Basic .NET
  18. The power supply looks okay. For now I don't expect it to the an issue. Does the USB cable ferrit cores near the connectors? Could you try a different USB cable and/or a different USB port on the Raspberry Pi?
  19. @fridolin11 Your problem seem to have a different cause. There was no fix in Brick Viewer, but a change in Brick Daemon to handle the message burst created by the enumeration of the whole system. There is no need to test any old version that might have been mentioned in this thread. Please only test the latest versions of Brick Daemon and Brick Viewer. I assume that is what you already have installed. From the brickd.log I can see that you get a lot stalled USB read transfers making the communication with the Bricks and Bricklets unreliable. As long as you continue to see this kind of message in brickd.log the problem persists. You can open brickd.log in a console/terminal like this to get a live view: tail -f /var/log/brickd.log Then try plugging and unplugging the Bricks from USB and see what messages you get. Do the stall messages only appear when you connect two Bricks to USB? Is one Brick alone okay? In the Raspberry Pi 2 era many problems where caused by insufficiant power supplies. How do you power the Raspberry Pi 4? Could you try a "stronger" power supply? Du you directly connect the Bricks to the Raspberry Pi, or is there another USB hub in between? Does it make a difference if you remove any USB hub? You can also try to add a powered USB hub.
  20. @andyknownasabu Firmware 2.0.2 wurde soeben veröffentlicht. Diese merkt sich jetzt die letzte Phasenanforderung über Neustarts des ESP32 Ethernet Bricks hinweg. Der Crash im SunSpec Scan ist behoben. Und noch einige Dinge mehr, die hier aber gerade nicht relevant sind. Sorry, für das leichte Chaos!
  21. Der Neustart wird durch einen Crash im SunSpec Scan ausgelöst. Dabei geht es um den Scan beim Start des WEM, nicht um den Scan, der über das Webinterface ausgeführt werden kann. @andyknownasabu Aus deinen Logs kann ich sehen, dass dein Wechselrichter schlecht erreichbar ist. In unserem Scan Code war ein Bug, der zu einem Crash führte, wenn das SunSpec Gerät beim Scan mitten drin für eine gewisse Zeit nicht mehr geantwortet hat. Du muss genau diese Stelle zeitlich getroffen haben. Den Fix dafür habe ich gerade committet und der wird in der nächsten Firmware-Version drin sein, die vermultich noch heute veröffentlicht wird. https://github.com/Tinkerforge/esp32-firmware/commit/fa5d6e1da5a920653c5fa2fffd3f9a3855a74044 Der Fehler war schon immer im Code, sorry. Warum der Crash bei dir erst jetzt auftritt ist mir unklar. Teste bitte die nächste Fimrware-Version. Ich gehe sehr stark davon aus, dass das Problem damit behoben ist.
  22. Ich habe die verstreuten und teils etwas veralteten brickd Installationsanweisung in der Dokumentation jetzt zusammengefasst und aktualisiert. Unser APT Repo beinhaltet jetzt auch brickd für Raspberry Pi OS in 64-bit. Das Package war schon vorhanden, aber nicht im APT Repo für Raspberry Pi OS hinterlegt.
  23. Teste mal bitte die angehängte Firmware. Diese behebt in unseren Tests beide Probleme. Die Ursache lag in der Art und Weise, wie dein Smart Meter reagiert, wenn eine Modbus Deviceaddrese angefragt wird, die das Smart Meter nicht kennt. Damit ging die Firmware nicht richtig um und dann blieb der Scan hängen und konnte auch nicht mehr abgebrochen werden. warp_firmware_2_2_1_65c63107_merged.bin
  24. @Smoki Kurze Einführung in SunSpec. Die Daten werden als eine Kette von Blöcken dargestellt. Die Kette beginnt mit zwei Registern die die 32bit SunSpec ID 0x53756E53 enthalten. Daran erkennen wir, dass SunSpec unterstüzt wird. Wir laufen alle Modbus-Geräteadressen (1 - 247) durch und versuchen die SunSpec ID zu finden. Wenn die ID vorhanden ist, dann lesen wird die Kette der Blöck aus. Jeder Block beginnt mit der Model ID (ein Register) und der Blocklänge (ein Register). Dadurch können wir uns an der Kette der Blöcke dranlang hangeln ohne alle Blöck verstehen zu müssen. Sondern wir können die Model ID und die Blocklänge lesen, sehen ob das ein Model ist das uns interesiert und dann um die Blocklänge weitergehen, um dann das nächste Model zu lesen. Die Kette der Blöcke endet mit einem Model mit ID 0 und Blocklänge 0. Unser Scan geht alle Blöcke durch und zeigt dir dann die an die zählerartige Daten beinhalten. In deinem Fall Model 103 und 122. Dabei lesen wir die Daten des 122 Models gerade noch nicht aus, dass ist das was das "Nicht unterstützt" besagt. Das Problem in das du jetzt läufst betrifft Model ID 160. Das ist ein Model, das wiederholte Unterblöcke beinhaltent. Dessen Blocklänge hängt also von der Konfiguration deines Wechselrichters ab. Wir lesen jetzt hier im Scanvorgang 160 als Model ID und 48 als Blocklänge aus, was 8+2x20 entspricht, wie MatzeTF das oben erläutert. Danach überspringen wir dann die 48 Register, um die nächste Model ID zu lesen und bekommen einen ILLEGAL_ADDRESS Modbusfehler von deinem Wechselrichter. MatzeTF hatte sich das bei dir genauer angesehen und festgestellt, dass wir da wegen der falschen Blocklänge mitten in den Block des 160er Models lesen, was nicht erlaubt ist. Von den Daten her sieht es so aus, als wenn dein Wechelrichter 6 Module angeschlossen hat und daher einen 160er Block mit 6 wiederholten Unterblöcken melden sollte. Er liefert auch 6 wiederholte Unterblöcke, aber die Blocklänge passt nicht dazu. Gemeldet wird eine Blocklänge von 48 (8+2x20), richtig wäre aber wohl eine Blocklänge von 128 (8+6*20). Wenn MatzeTF händsich das 160er Model mit einer Blocklänge von 128 ausliest, dann funktioniert es und nach dem 160er Model folgt das 0er End Model in der Blockkette. Sprich dein Wechselrichter meldet nach unserem Verständnis nach das 160er Model mit falscher Blocklänge. Im 160er Model steht unter dem N Wert die Anzahl der wiederholten Unterblöcke. Aber auch hier steht in deinem Fall 2, was zur Blocklänge 48 passt, aber nicht zu den wiederholten Unterblöcken die dann wirklich vorhanden sind. Die Daten des 160er Models sind hier inkonsistent in einer Weise, die wir nicht retten können. Das sieht für uns nach einem Fehler im Wechslrichter aus denn nur SMA selbst beheben kann. Das 64870er Model ist ein Vender Specific Model von SMA. Wir melden dann verwirrenderweise "Unknown" für. Ich ändere das auf "Vender Specific" für die nächste Version.
×
×
  • Neu erstellen...