Beiträge von Kelvin

    Wie funktioniert diese Typenprüfung (in Python)?

    Ich würde anfangs gleich self.duration = 0 setzen, anstatt noch den None Type ins Spiel zu bringen. Damit du nicht durch 0 teilst, dann vor return 60 / self.duration eine if-Abfrage, ob self.duration > 0. Im Fehlerfall könnte man 0 zurückgeben, damit speed() nicht mit leeren Händen dort steht und dann immerhin "0 km/h" anzeigen kann. Im Normalfall sollte dieses Problem auch nur ganz zu Beginn ein einziges Mal passieren, weshalb ich da jetzt nicht mit Kanonen auf Spatzen schießen würde und jeden möglichen Fehler abfange, umwandle oder groß eine Fehlermeldung präsentiere.

    Das ist doch eingentlich ein großes Problem, vor allem wenn zb. Kinder und Jugendliche das WLAN Passwort ihrer Eltern herausfinden möchten. Was meint ihr dazu?

    Deine Sorge ist also, dass Kinder an den Computer ihrer Eltern gehen, den Raspberry Pi Imager öffnen, dort in die Einstellungen gehen und dann das WLAN-Passwort auslesen? Na das ist ja wohl die absolute Höhe und kommt bestimmt seeeeehr häufig vor! Das muss aber schleunigst was gemacht werden!!!

    ...wie zum Beispiel den Computer mit einem Passwort sichern?


    Über "Eigenschaften für Drahtlosnetzwerk <SSID>" geht es übrigens auch ohne Raspberry Pi Imager:

    Docspell kannte ich noch gar nicht, sieht aber vielversprechend aus. Anfangs habe ich mit Papermerge (https://github.com/ciur/papermerge) experimentiert, weil paperless-ng genau zu der Zeit auf dem absteigenden Ast war und nicht weiterentwickelt wurde. Als paperless-ngx dann geboren war und gleich mit einer relativ großen Community gestartet ist, habe ich diesem neuen Ableger wieder mehr Aufmerksamkeit geschenkt. Von den Funktionen sind diese beiden ähnlich, wobei paperless-ngx weiter ausgereift ist und es mehr Unterstützung in der Entwicklung gibt, während Papermerge quasi ein ein-Mann-Projekt ist.

    Was mir bei paperless-ngx jedoch fehlt ist das, was Docspell mit "Multi-user per Account" bewirbt. Bei paperless-ngx kann man keine gemeinsamen Dokumente haben, die man sich z.B. in der Familie teilt (ist zumindest mein aktueller Stand). Aber sonst sieht Docspell fast schon aus wie ein Fork von paperless-ngx, weil der Aufbau und die Funktionen wirklich sehr ähnlich sind. Mich würde nur interessieren, wie Docspell die Dateien ablegt, denn da fand ich paperless-ngx schon mal deutlich besser als Papermerge. Dort kann man mit einfachen Regeln festlegen, dass z.B. ein Dokument von User xyz im Pfad <User xyz>/<aktuelles Jahr>/<Kategorie>/<Name Absender>_<Datum>.pdf (Beispiel: userXYZ/2022/Finanzen/DeutscheBank_2022-08-19.pdf) gespeichert wird. Diese ganze Ordnerstruktur aller Benutzer kann man so leicht in einen Cloud-Dienst einbinden, sodass die Dateien dort genau so schön sortiert vorliegen und gesichert sind.

    Reicht ein Pi mit 4GB aus?

    Laut Dokumentation von Docspell reichen 4GB aus, 8GB werden aber empfohlen (https://github.com/docspell/rpi-scripts#hardware). Paperless-ngx habe ich mal auf einer alten Mühle mit 2GB RAM getestet und das funktioniere zwar auch, war aber etwas langsam im Umgang mit OCR und es konnte immer nur eine Sache zur Zeit gemacht werden. Also Datei 1 -> OCR -> Tags extrahieren -> Datei einsortieren -> Datei 2 -> OCR -> ...

    Schneller ist natürlich besser, aber wenn man die Dateien nicht sofort braucht und nicht immer hunderte Dateien gleichzeitig hochlädt, kommt man mit etwas Geduld auch voran. Ich würde beim nächsten Mal aber auch mindestens 4GB RAM nehmen und sogar mind. 8GB wenn ich bei Docker noch andere Sachen laufen lassen möchte (Smart Home, AdGuard, Bitwarden, ...).

    Spricht etwas gegen gegen Raspberry Pi 400?

    Also mein Fall ist der Pi 400 jetzt nicht wirklich. Wenn du den Pi für dein DMS als Server einsetzt, wird der sowieso nur in der Nähe vom Router liegen und wenig Beachtung geschenkt. Da ist ein normaler Pi wesentlich kompakter, als eine Tastatur, die da nur herumliegt. Ist ja ganz praktisch, dass da gleich eine Tastatur integriert ist, aber einen Monitor wirst du dann immer noch brauchen. Am elegantesten ist es über z.B. Bitvise SSH Client (finde ich besser als Putty: https://www.bitvise.com/ssh-client-download) auf den Pi zuzugreifen, die elementaren Dinge in der Konsole zu machen und der Rest geht dann auch wieder über Web-Oberflächen. Gerade bei Docker empfiehlt es sich Portainer (https://www.portainer.io/) zu installieren und dann darüber alles Docker-relevante zu managen.

    Das packt auch keine 5 Meter (ggf. aber mit Mehrfacheinspeisung? Nicht ganz sicher.....)

    Mit Mehrfacheinspeisung muss es funktionieren. Am besten machst du das alle 2m, was hinter einem Fernseher einfach zu handhaben ist. Ich würde es sogar an jeder Ecke einspeisen, weil man da sowieso die Eckverbindungen lötet und dann auch gleich neu einspeisen kann.

    Das war dann zuviel des guten und ein paar LED's haben geschmort/gebruzelt 8o

    Das war auch dumm. Zuvor hast du zwei 5V Netzteile genommen und dann ein 24V Netzteil. 5V ≠ 24V, aber was mit zu viel Spannung passiert weißt du ja jetzt.

    Ich gehe mal davon aus, dass du einen Standard WS2801 Streifen mit 32 LEDs pro Meter hast. Der erste Artikel bei Amazon hat in der Beschreibung stehen, dass dieser Streifen bei 5m Länge 48W Leistung hat und ein paar Zeilen drunter steht sogar, dass ein 5V 10A Netzteil empfohlen wird. Dieses Netzteil hast du bereits.

    Zusammenfassung: Benutze das 5V 10A 50W Netzteil und speise an jeder Ecke hinter dem Fernseher neu ein.

    EDIT: Und wenn du die LEDs ersetzt, achte darauf die richtigen zu nehmen -> exakt die LEDs, die auf dem Streifen sind. Keine 12V LEDs. Keine 24V LEDs. Keine einfarbigen LEDs. Keine einfachen RGB LEDs von einem 5€ Streifen von Aldi.

    Guten Morgen zusammen,

    kennt jemand schon ein Projekt in dem Kennzeichendaten gesammelt werden und ggfs. in eine DB geschrieben werden?

    Kennzeichenerkennung für Schranken und Co. glaube ich gibt es schon?

    Danke

    Philly17
    9. Oktober 2021 um 23:49

    Kannst du mir noch verraten was du für Sensoren benutzt?

    Ich habe diese Wetterstation (https://www.amazon.de/dp/B085WJZTD6?tag=psblog-21 [Anzeige]) und lese diesen mitgelieferten Temperatur- und Feuchtigkeitssensor aus. Das gute an dem Sensor ist (was mir auch erst später aufgefallen ist), dass es das Nexus Protokoll nutzt, wofür es schon ein komplett fertiges Programm mit MQTT-Anbindung gibt: https://github.com/aquaticus/nexus433

    Sollte ich in Zukunft andere 433MHz Sensoren hinzufügen (Licht, Regen, ...) sollen, nehme ich wieder rtl_433, weil das Programm nämlich so einiges decodieren kann. Mit einer guten Antenne kannst du auch die ganzen Sensoren deiner Nachbarschaft empfangen und auswerten ?

    a)

    UbiBot bietet wohl "Channel Data Forwarding" an (https://www.ubibot.com/platform-api/c…ata-forwarding/). In der UbiBot Konsole musst du eine URL angeben, an die die Daten weitergeleitet werden sollen. Das macht die Sache etwas umständlicher, weil du jetzt einen DynDNS-Dienst brauchst, damit UbiBot etwas an deinen Pi senden kann. Weil du sowieso schon InfluxDB benutzt, kannst du zusätzlich noch Telegraf einsetzen, was die Datenerhebung vereinfacht. Für Telegraf gibt es dieses Plugin (https://www.influxdata.com/integration/http-listener-v2/), das auf HTTP Anfragen reagiert und die empfangenen Daten in InfluxDB speichert.


    Sieht dann ungefähr so aus:

    UbiBot misst Wetterdaten -> werden an die UbiBot Plattform gesendet -> Plattform macht eine Weiterleitung und sendet Daten an deine Domain/IP -> Telegraf ist der Empfänger (Port Forwarding auf deinen Pi und Port von Telegraf) -> Telegraf kann die Daten noch etwas umschreiben -> Telegraf speichert Daten in InfluxDB

    b)

    Ich benutze bei mir einen normalen Außensensor einer Wetterstation, der auf 433MHz funkt. Am Pi habe ich einen passenden Empfänger und schreibe dann die Daten in InfluxDB. Wichtig ist nur, dass die Sensoren nicht allzu "gut" sind und z.B. mit Verschlüsselungen arbeiten. Mit dem Programm rtl_433 (https://github.com/merbanan/rtl_433) lassen sich sehr viele einfache Funk-Sensoren empfangen und die Werte anzeigen. Am besten vor dem Kauf gucken, ob ein gewisser Sensor schon unterstützt wird.

    Für Gas- und Wasserzähler gibt es dieses Projekt hier: https://github.com/jomjol/AI-on-the-edge-device

    Wenn du weiterhin ein Smart Home ausbauen möchtest, solltest du dir schon zu Beginn eine Zentrale mit z.B. ioBroker oder Home Assistant aufsetzen. Das wird dann dein zentraler Sammelpunkt für alle Daten. Für den Stromzähler wird es mit einem Pi Zero W und dem Lesekopf am einfachsten sein und für die anderen beiden nimmst du das oben genannte Projekt. Die senden dann in einem Intervall ihre Daten an einen "größeren" Pi - deiner Zentrale - und dort kannst du dann auch alles schön visualisieren und anderweitig mit den Daten arbeiten.

    Man könnte auch einen einzigen Pi einsetzen und dort einen Lesekopf und zwei Webcams anschließen. Dann liegt es nur noch an deinen Programmierkenntnissen.

    Wie raspbastler schon sagte, sind die Teile leider verdammt teuer, weshalb man überwiegend nur diese kleinen Displays findet. Andererseits hat eine sehr einfache Google-Suche mit "eink 30 inches" gereicht, um schon mal Displays in der Größe zu finden... https://shopkits.eink.com

    E-Ink mit Touchscreen in der Größenordnung ist aktuell Zukunftsmusik, würde sich aber mit einem sogenannten "Infrarot-Touchscreen-Rahmen" leicht nachrüsten lassen.

    [...] Jedoch der Preis ist nicht ohne!

    Sobald Wärmebildkameras ins Spiel kommen, ist das aber immer so. Für eine anständige Drohne mit Wärmebildkamera wird man im dreistelligen Preissegment nichts finden. Das Rundum-Sorglos-Paket von DJI wäre wohl die Mavic 2 Enterprise Advanced Drohne (https://store.dji.com/de/product/mav…d-dji-care-plus) für 6.300€. Dort ist dann aber auch alles dabei was man braucht und DJI baut einfach wirklich klasse Drohnen.

    Leider ist der Anbieter der Wetterdaten nicht der zuverlässigste und die Server glänzen immer öfter mit Ausfällen was dann dazu führt das die ganze Wetterstation unbrauchbar ist bis wieder Daten kommen was so im schnitt 2 tage dauert.

    Als erstes musst du dir einen Anbieter suchen, der einen guten Eindruck auf dich macht und mit dem du zufrieden bist. Danach kann man gucken, ob dieser Anbieter eventuell eine schöne mobile Seite hat, die du dann nur noch auf dem Pi anzeigen lassen musst (Stichwort: Chromium Kiosk Modus). Sollte es keine mobile Seite geben, muss man selbst Hand anlegen und sich die reinen Daten ziehen. Entweder über eine API, wie hier schon genannt wurde, oder direkt von der Seite (falls das möglich ist). Hat man die reinen Daten, kann man seiner Kreativität freien Lauf lassen und ein eigenes Design basteln.

    Wenn man dann schon so weit gekommen ist, kann man über Schnickschnack wie automatisches Ein-/Ausschalten des Display reden (oder lässt es eben 24/7 laufen).

    Verstehe ich das richtig, das O-Netzteil liefert 600mA und alles war wunderbar, aber jetzt "zieht" der Verbraucher den doppelten Ladestrom!???

    Kann es sein, das Du durch das Löten im Sauger etwas zerstört hast, das den Ladestrom so hoch werden läßt? :conf:

    Gruss

    Das war (zum Glück) auch schon vorher der Fall, bevor ich den Lötkolben in die Nähe gelassen habe ? Mein Labornetzteil war zu Beginn des ganzen Projektes auf 5,5V 1A eingestellt, weil ich bloß nicht die 5,5V vom O-Netzteil überschreiten wollte und die Geräte ja eigentlich nur so viel Ampere ziehen, wie sie haben wollen. Das Laden hat gut funktioniert, doch als ich dann die 600mA auf dem O-Netzteil gelesen habe und der Sauger gerade die vollen 1A gezogen hat, habe ich dann auf 600mA limitiert. Zu dem Zeitpunkt bin ich auch nie in diese Fehlermeldung (schnelles Blinken) gekommen, weil das Labornetzteil nie höher als 1A eingestellt war und der Kärcher ja erst bei 1,2A den Fehler auslöst.

    Ob ich gleich beim ersten Mal mit dem Labornetzteil etwas gegrillt habe, kann ich nicht sagen. Das O-Netzteil hat einen proprietären Anschluss für Kärcher-Geräte und deshalb können die Geräte auch immer so viel Ampere ziehen, wie vorhanden sind, weil es eben nur dieses eine Netzteil mit 600mA gibt. Da ist der limitierende Faktor das Netzteil und nicht das Gerät selbst. Jetzt gerade kann ich auch über ein anderes Netzteil mit 850mA den Strom limitieren und auch laden, allerdings würde ich es lieber direkt am Gerät begrenzen, damit ich jedes USB-Netzteil benutzen kann.

    Habe jetzt nochmal weiter herumprobiert und es sieht nach einem Überstromschutz aus. Anstatt nur so viel Ampere zu ziehen, wie gebraucht werden, geht der Kärcher auf mind. 1,2A hoch und löst dann den Fehler aus. Das originale Netzteil hatte einen Ladestrom von 600mA, während das USB-C Modul bis zu 3A liefern kann. Ich habe sogar gerade ein altes Netzteil mit 5V 850mA gefunden und es funktioniert auch alles wie gewünscht, aber so richtig habe ich damit nichts gekonnt, weil ich so immer vom Ladestrom des Netzteils abhängig bin. Was bringt mir der USB-C Anschluss, wenn ich weiterhin nur ein bestimmtes Netzteil benutzen kann, das ich eventuell auch noch verlieren kann? ?

    Um eine allgemein gültige Lösung zu finden, wollte ich es nun mit Widerständen versuchen. Wenn ich das Labornetzteil auf 600mA limitiere, liegt die Spannung bei 4,5V während der Kärcher lädt. Am USB-Modul liegen 5V an. Ich habe keinen Background in Elektrotechnik, aber in der Theorie bräuchte ich einen Widerstand mit (5V - 4,5V) / 0,6A = 0,83 Ohm?

    Moin,

    für den Akku-Fenstersauger (Kärcher WV2 [1]) habe ich das Netzteil verbummelt und weil ein Ersatz-Netzteil für ca. 10€ langweilig und zu einfach wäre, habe ich mir USB-C Module [2] gekauft und eins davon an die Kontakte gelötet. Zuvor hatte ich Jumperkabel auf die Kontakte gesteckt und den Sauger dann mit meinem Labornetzteil geladen - funktioniert super, ist aber nicht benutzerfreundlich^^. Ich beschreibe mal, wie ich vorgegangen bin und was mein aktuelles Problem ist. Vor dem Löten habe ich die Jumperkabel an das USB-C Modul gehalten und das Gerät konnte laden (grüne LED blinkt langsam). Nach diesem Versuchsaufbau habe ich dickere Kabel genommen und alles miteinander verlötet. Wenn ich dann aber ein USB-Kabel angeschlossen habe, konnte nicht geladen werden und die LED blinkt nun schnell -> Laut Anleitung "Hersteller kontaktieren". Also alles nochmal abgelötet und jetzt die Jumperkabel angelötet, weil die ja vorher im Versuchsaufbau funktioniert haben. Auch das funktioniert jetzt nicht mehr und die LED blinkt schnell. Das lustige ist nun aber, dass ich die Jumperkabel jetzt auch nochmal abgelötet habe und wenn ich die nur lieblos wieder an die Kontakte halte, funktioniert der Ladevorgang wieder. Scheinbar muss die Verbindung schlecht sein, damit es funktioniert?? Gibt es eine Sache, die ich übersehen habe? Muss/kann ich irgendwo einen Widerstand setzen?

    Die Spannung stimmt zwar nicht ganz mit dem originalen Netzteil (5,5 V DC) überein, aber mit dem Labornetzteil konnte ich auch bis auf 4V runter und es wurde immer noch geladen.


    [1] https://www.kaercher.com/ch/nicht_im_ak…s-16333010.html

    [2] https://www.amazon.de/gp/product/B09YLVSPQX?tag=psblog-21 [Anzeige]

    habe ich alle Ports verändert. Port 80 auf z.B.81, 53 auf 54

    Ahhhh!!! Nicht einfach so die Ports ändern! Vor allem nicht den Port 53 ändern, denn genau dieser Port 53 ist für DNS reserviert. Das könnte hier sogar das Problem sein. In den meisten Fällen musst du nur die Ports 80, 433 und 8080 ändern, weil diese für Web-Oberflächen genutzt werden und die Programme sich sonst in die Haare kriegen.

    Falls man Ports ändert, sollte man am besten bei 50000 anfangen und dann hochgehen (genau genommen bei 49152, aber 50000 ist einfacher zu merken). Ab dort sind die Ports dann nicht mehr reserviert oder haben sich für bestimmte Anwendungen etabliert.

    Nur so ein Gedanke... Hattest Du den default Port des Lighthttp mal z.B. von 80 auf 88 geändert? Lighthttp ist der Webserver, der unter Pi-hole für den Adminbereich läuft. Wenn dieser Port nicht geändert wird, dann startet auch kein anderer Webserver (wie der nginx), der auch auf Port 80 lauscht.

    Auch ein guter Punkt. Wobei Portainer eigentlich schon eine Fehlermeldung anzeigt und das Deployment abbricht, wenn versucht wird einen bereits vergebenen Port zu benutzen.

    Moin, das Problem hatte ich auch letztens noch, als ich ähnliche Container eingerichtet habe. Die genaue Lösung kenne ich leider nicht mehr, weil ich aus Verzweiflung dann immer wieder alles geändert habe, bis es lief ?

    [Zwischen-EDIT: Vor dem Absenden habe ich nochmal meinen Verlauf durchsucht und paar Dinge gefunden. Wenn der Text nicht ganz rund erscheint, liegt das daran, dass ich neue Erkenntnisse nur hinzugefügt und nicht alles neu geschrieben habe]

    Wenn ich meine Konfigurationen so ansehe, kann ich ein paar Dinge zurückverfolgen:

    • In Portainer habe ich ein weiteres Network "web". Die Container für Portainer und AdGuard Home (Alternative zum PiHole) haben neben "bridge" auch noch dieses neue Netzwerk "web". Dieses Netzwerk hatte ich mal neu erstellt und benutzt "driver = bridge". (Kann auch sein, dass es ohne "web" läuft, aber ich will mir gerade nicht meine Konfiguration zerschießen)
      EDIT: Laut einer Antwort bei superuser ist "bridge" veraltet und blockiert den Zugriff auf's Internet: https://superuser.com/a/1582710/895560
      Wie von mir beschrieben, musst du dir nur eine Kopie von bridge anlegen, die ich in meinem Fall "web" genannt habe.
    • In meinem Reverse Proxy (Traefik) habe ich in docker-compose/Stack einen externen DNS-Server angegeben, weil es mit AdGuard irgendwie nicht funktioniert hat und ich den Proxy nicht abhängig von AdGuard machen möchte.
      EDIT: Ich habe bei mir zwei neue Netzwerke: "web" und "traefik_web". "web" nutze ich für die Container, die ins Internet wollen, aber die ich nicht über meinen Reverse Proxy zur Verfügung stellen will. "traefik_web" ist wie "web", nur dass die Container hier über's Internet erreichbar sind.

    Das hier habe ich in meinem Traefik Stack:

    Und das hier in jedem Container, der über Traefik erreichbar sein soll:

    Code
        networks:
          - traefik_web
    networks:
      traefik_web:
        external: true

    In den anderen "lokalen" Containern, die aber Internet brauchen, steht dann das hier:

    Code
        networks:
          - web

    Und wenn ein Container kein Internet braucht, benutzt man kein "networks" und es wird standardmäßig "bridge" zugewiesen.

    Wie hast du ioBroker installiert? Ganz "normal" oder läuft das in einem Docker Container?

    Aber was sind das für Einstellungen und für braucht man die?

    Tatsächlich habe ich die noch gar nicht bei mir, weil meine Version wohl schon etwas älter ist. Soweit ich weiß, greift der Javascript-Adapter auf diese Werte zu, wenn du die Astro-Funktionen benutzt (also wenn du etwas abhängig vom Sonnenstand schalten möchtest).