Jump to content

photron

Administrators
  • Content Count

    2779
  • Joined

  • Last visited

  • Days Won

    13

photron last won the day on May 12

photron had the most liked content!

Community Reputation

15 Good

About photron

  • Rank
    Tinkerforge Staff

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Interessant ist das widersprüchliche Timeout verhalten. Ruf am Anfang mal set_response_expected_all(True) auf das OLED Bricklet Objekt auf. Das ändert nichts am Bricklet selbst, sondern gibt dem Bindings Objekt vor für alle Aufrufe auch eine Antwort anzufragen, da sonst nicht alle Funktionen eine Antwort auf Protokollebene erhalten, wenn keine notwendig ist. Seit kurzem hat der Brick Viewer einen Health Viewer, der die Fehlerzähler aller angeschlossenen Bricks und Bricklets anzeigt. Normalerweise sollte Zähler alle 0 sein. Du könntest mal beobachten wie sich die bei dir verhalten, im
  2. https://www.tinkerforge.com/de/doc/Downloads.html Erwarten würde ich ein Problem im OLED Bricklet selbst. Es gibt in den letzten Firmware Versionen aber keine offensichtlich relevanten Änderungen. Die Frage nach aktueller Firmware zielt darauf ab zu vermeiden einen alten, bereits behobenen Bug, zu suchen. Ist die Firmware auf dem OLED Bricklet aktuell? Das Timeout-Verhalten ist unerwartet. Dass nach dem Auftreten des Problems das OLED Bricklet nicht mehr in Brick Viewer auftaucht deute darauf hin, dass das Bricklet die Kommunikation eingestellt hat. Das hier würde ich genauer be
  3. Was heißt Neustart hier? Per Software Reboot des RED Brick, oder Reset des Master Bricks, oder Power Cycle durch Unterbrechung der Stromversorgung des ganzen Aufbaus? Sind alle Firmwares auf den Bricks und Bricklets aktuell? Die Vermutung ist, dass das OLED Bricklet abstürzt. Dass es auch nicht mehr im Brick Viewer auftaucht, heißt, dass es nicht mehr auf Anfragen antwortet. Da das Programm weiter läuft und keine Fehler auftreten gehe ich davon aus, dass Timeout-Fehler behandelt werden. Das Programm also damit umgehen kann, wenn das Bricklet nicht mehr antwortet.
  4. Die 4 Anschlüsse auf dem Streifen selbst sind mit +12V, G(reen), R(ed) und B(lue) gekennzeichnet. Das ist also ein "dummer" Streifen. Dort können nur alle LEDs gleichzeitig in der gleichen Farbe leuchten. Das LED Strip Bricklet ist für "smarte" Streifen, bei denen jede LED einzeln gesteuert werden kann. Sprich, der Streifen ist nicht kompatible mit dem LED Strip Bricklet.
  5. Es ist kein FI-Schalter im WARP Charger verbaut. Der WARP Charger ist mit einer DC-Fehlerstromerkennung ausgestattet. Dadurch kann der WARP Charger an einem normalen 30mA Typ A FI-Schalter betrieben werden. Das ein Typ B FI-Schalter in der Betriebsanleitung als Ersatzteil aufgeführt ist, ist ein Fehler auf unserer Seite. In Betriebsanleitung Version 1.2.5 ist dieser korrigiert und der Typ B FI-Schalter aus der Ersatzteilliste entfernt. Danke für den Hinweis. Hintergrund dazu: In der frühen Phase der Entwicklung war vorgesehen in der Wallbox einen Typ B FI-Schalter zu verbauen. Das wu
  6. Im Prinzip richtig, aber im WARP Charger ist kein FI-Schalter (weder Typ A noch Typ B) verbaut, sondern eine DC-Fehlerstromerkennung. Durch die Kombination DC-Fehlerstromerkennung im WARP Charger und Typ A FI-Schalter im Sicherungskasten entsteht in Summe die Funktionalität eines Typ B FI-Schalters. Der WARP Charger kann also normal angeschlossen werden, ohne das es zu Problemen mit einer Reihenschaltung von FI-Schaltern kommt.
  7. Das RS485 Bricklet arbeitet auf Arrays von 1-Zeichen Strings. Du kannst die \x Escapesequenz oder die chr Funktion verwenden, um beliebig Bytes zu übergeben. Die Hex-Folge F1 00 05 29 1E kannst du mit \x Escapesequenz so schicken: $rs485->write(array("\xF1", "\x00", "\x05", "\x29", "\x1E")); Oder mit chr Funktion so: $rs485->write(array(chr(0xF1), chr(0x00), chr(0x05), chr(0x29), chr(0x1E))); Die Antwort im Callback kommt auch als Array von 1-Zeichen Strings. Diesen kannst du dann mit der ord Funktion so in Bytes umwandeln: foreach ($message as $char) { $byte = ord(
  8. Beides. Ein Typ 2 Kabel hat in jedem Stecker lokal einen PP Widerstand verbaut. Auf der Autoseite einen für das Auto und auf der Wallbox-Seite einen für die Wallbox. Es gibt also keine PP Leitung im Kabel selbst, es gibt nur die CP Leitung. Im Falle eines fest angeschlossenen Kabels, wie beim WARP Charger, ist der PP Widerstand für die Wallbox-Seite in der Wallbox verbaut. Der hat aber nichts mit dem PP Widerstand auf der Autoseite zu tun. Daher kann die Wallbox PP nicht trennen, denn sie hat keinen Zugriff auf die Autoseite. 1P/3P Umschaltung scheint kein einfaches Thema zu sein. OpenWB
  9. Wenn du das im ExecStop des brickd Services machst, dann hat das denn Nachteil, dass das auch gemacht wird wenn brickd aus anderen Gründen (z.B. Update) gestoppt/neugestartet wird. Bei Requires= scheint das Problem zu sein, dass das keine Reihenfolge definiert. Teste mal mit After=brickd.service in deiner ursprünglichen Service Datei. Laut systemd Doku wird dadurch dein Service nach brickd gestartet und vor brickd beenden: https://www.freedesktop.org/software/systemd/man/systemd.unit.html
  10. Du kannst beides machen, die Hardware direkt reagieren lassen, oder dir einen Callback schicken lassen, damit deine Software reagieren kann. Schau dir mal die set_gpio_action Funktion des Bricklets an.
  11. Das hat nichts mit dem Linken zu tun. Du kannst pro IPConnection Objekt ein funktionales LEDStripV2 Object haben, da die IPConnection intern eine Tabelle hat die eine UID eindeutig auf ein Device Objekt abbildet. Wenn du ein weiteres Device Objekt für eine UID anlegst mit einer IPConnection bei der für diese UID schon ein Device hinterlegt ist, so wird das alte Device durch das neue verdrängt und nur noch das neue Device Objekt kann mit dem Brick/Bricklet kommunizieren. Du kannst aber ohne Probleme in einem Programm parallel mehrere IPConnections mit jeweils einem Device Objekt haben die
  12. Zu dem Zeitpunkt an dem dein Serivce ausgeführt läuft Brick Daemon schon nicht mehr. Du musst das also so bauen, dass dein Service ausgeführt wird bevor der brickd Service beendet wird. Du kannst mal versuchen im [Unit] Abschnitt ein Requires=brickd.service anzugeben, wobei mir nicht klar ist ob sich das wie gewünscht auswirkt, da für Wants=, Requires= und Requisite= nur die Auswirkung auf das Startverhalten dokumentiert ist.
  13. Wenn du soweit bist, dass du auf Bewegung hin den motion_detected Callback bekommst, dann machst du alles richtig. Der motion_detected Callback hat keine Parameter. Das Bricklet kann dir nur sagen ob gerade Bewegung erkannt wurde oder nicht. Falls gerade Bewegung erkannt wurde schickt es den motion_detected Callback raus. Mir ist unklar was du mit "Registrierte Bewegung anzeigen" meinst. Denkst du da an die Richtung oder die Stärke der Bewegung? Diese Informationen kann der Sensor auf dem Bricklet nicht erfassen. Der Sensor gibt nur aus "Bewegung: ja/nein".
  14. Brick Logger 2.1.7 Add support for DC 2.0, Industrial PTC and Silent Stepper Bricklet 2.0 Downloads: Windows, Linux, macOS, RED Brick
×
×
  • Create New...