Schlagwörter: linux Kommentarverlauf ein-/ausschalten | Tastaturkürzel

  • mc 16:30 am 23. December 2023 permalink | Antwort
    Tags: homeassistant, , , , linux, zigbee   

    Silvercrest Türklingel klingelt nicht 

    Ich hab vor einiger Zeit einen Lidl SilverCrest Zigbee Smarthome Hub gehackt (Anleitung hier) und in mein HomeAssistant eingebunden. Die Heizungsthermostate ließen sich mit einem „CustomQuirk“ zum laufen bringen und auch der Bewegungsmelder funktioniert problemlos.

    Nicht so recht funktionieren wollte die „Kabellose Türklingel STKZ 1 A1“, welche zwar als Entität in HA auftaucht, die Events für „Single Press“, „Double Press“ und „Hold“ aber irgendwie versandeten.

    Nun, am Ende war es wieder ganz einfach 😉 Die Automatisierung muss auf einen zha_event warten und dann noch filtern, ob er vom richtigen Gerät kommt:

    Oder als YAML:

    platform: event
    event_type: zha_event
    event_data:
      command: single
      device_ieee: 84:2e:14:ff:fe:f6:d1:1b

    Die benötigte device_ieee findet man in den Entwickler-Tools -> Events, wenn man die zha_events überwacht und Knopf drückt.

    Nun kann Heike den vollautomatisierten Weihnachtsbaum auch per Button ein und ausschalten 😉

     
  • mc 10:27 am 7. September 2023 permalink | Antwort
    Tags: , , linux,   

    tailscale kaputt 

    failed to connect to local tailscaled (which appears to be running as tailscaled, pid 1234). Got error: 503 Service Unavailable: no backend

    …haut mir mein Root-Server bei Strato um die Ohren, wenn ich diesen durchboote und anschließend versuche, tailscale zu starten. Google half weiter: tailscale benötigt ein tun network device, welches beim Reboot verloren geht:

    Tailscale client on Linux needs access to /dev/net/tun to be able to create a tun network device. What Linux distro are you using? If you are running in a container, you might need to explicitly pass /dev/net/tun to the container, or use userspace networking mode.

    https://github.com/tailscale/tailscale/issues/6941#issuecomment-1380384849

    Ich hab dann mal das folgende Shell-Script gefriemelt – klappt!:

    #!/bin/bash
    
    sudo mkdir /dev/net
    sudo mknod /dev/net/tun c 10 200
    sudo systemctl restart tailscaled
    sudo tailscale up
    
     
  • mc 8:54 am 25. April 2023 permalink | Antwort
    Tags: , , linux   

    Amazon Fire TV Stick – ADB ist weg! 

    Für ein aktuelles Projekt (Digital Signage mit Xibo für die http://www.rursee-schifffahrt.de) brauchte ich einen Amazon Fire TV Stick mit aktiviertem ADB und SideLoading. Allerdings sind die benötigten Menüpunkte (Einstellungen -> Mein Fire TV -> Entwickleriptionen) mit irgendeinem der neueren Firmwareupdates ausgeblendet oder versteckt worden. Nun, sie lassen sich wieder einblenden…

    • Einstellungen -> Mein Fire TV -> Info
    • den ersten Punkt (Fire TV Stick xyz) so oft anklicken bis
    • „Du bist jetzt Entwickler“ erscheint

    Jetzt stehen die bekannten Entwickleroptionen wieder zur Verfügung!

     
  • mc 15:21 am 7. November 2022 permalink | Antwort
    Tags: , , linux,   

    M8IN.DE v2.0 ist online! Genau wie bei OHNEMOTOR.DE machten technische Unwägbarkeiten und die Google-Fonts Abmahnwelle einen Umzug notwendig. M8IN.DE ist nun auch ein Docker-Container in meinem Homelab…

     
  • mc 18:02 am 6. January 2016 permalink | Antwort
    Tags: , , , , , linux,   

    Raspberry Pi – /dev/ttyUSB0 ist weg 

    Zu Weihnachten habe ich von meinen Schwiegereltern einen „Raspberry Pi 2 Model B“ geschenkt bekommen. Dieser sollte meinen Raspberry Pi (1) Model B ablösen – und hat das inzwischen auch getan 😉 Boah, ist der neue Pi schnell!! Zwischen den beiden Generationen liegen Welten!

    Der Umzug an sich war relativ unspektakulär: SD-Karte (boot) umgesteckt, USB Stick umgesteckt (root), alle Kabel umgesteckt, gebootet – fertig! Alles gut!

    Oder doch nicht alles. Ich stellte relativ schnell fest, dass meine Temperatursensoren nicht mehr erkannt wurden. /dev/ttyUSB0 war plötzlich nicht mehr vorhanden!??! „Na klar, muss am Umzug auf den neune Pi liegen!“ dachte ich so bei mir und hab dann mal schnell ne Stunde Zeit verbraten, um den Port wieder herbeizuzaubern. Erfolglos. Leider. Dann rief mich das Bett…

    Heute Morgen ließ ich mir das Ganze nochmal durch den Kopf gehen und besann mich dann auf einen Ausspruch meines Schwagers Hilmar – seines Zeichens Mediziner: Koinzidenz bedingt keine Kausalität!

    Diesem Leitsatz folgend habe ich das Problem dann nochmal neu beleuchtet und festgestellt, dass die Sensoren schon seit ein paar Tagen außer Gefecht waren! Die Ursache war nach dieser Erkenntnis schnell behoben: ich hatte nach dem letzten apt-get update && apt-get upgrade vergessen mit rpi-update (ggf. mit sudo apt-get install rpi-update installieren) den Kernel zu aktualisieren! Kernel, Treiber und Module passten also nicht mehr zusammen. Aber warum war mir das nicht vorher aufgefallen? Naja, auch das ist leicht zu erklären: ich habe auf meinem Mailserver bei Strato zum Ende des letzten Jahres den Mailversand ausschließlich auf SSL umgestellt – und vergessen, die Konfiguration am Pi anzupassen. Er konnte mir also noch nicht mal per Mail mitteilen, dass er nicht mehr Mailen konnte…

    cum hoc ergo propter hoc!

     
    • Lutz 13:01 am 28. Februar 2021 permalink | Antwort

      Danke, hat mir eben bei genau dem Problem geholfen

  • mc 10:12 am 24. September 2014 permalink | Antwort
    Tags: , cloud, , flickr, , , linux, , ,   

    Flickr Album herunterladen? Downloadair! 

    Manchmal sind es die einfachen, cleveren Tools, die das Leben mit dem Computer so schön machen. Als Beispiel sei sed angeführt. Oder aber Downloadair!
    Ich mag Flickr (und die kostenlosen 1TB Speicherplatz) und ich mag auch die Cloud. Vertrauen werde ich der Cloud wohl müssen. Aber verlassen will ich mich nicht auf sie. Was so auch gut ist – wie wir gerade im Film Sextape gelernt haben: „Niemand versteht die Cloud – sie ist ein verdammtes Mysterium.“ 😉

    So stand ich gestern Abend vor der Aufgabe, ein komplettes, von einem anderen Flickr-User freigegebenes, Flickr-Album auf meinen Rechner herunterzuladen. Nur um die Fotos (für den Fall, dass bei Flickr mal der Blitz einschlägt) auch noch auf meinem Rechner abzulegen. Flickr bietet zwar die Möglichkeit an, einzelne Fotos in beliebiger Auflösung herunterzuladen, aber eben keine Möglichkeit, das auch für Alben zu tun.

    Und nun kommt Downlodair ins Spiel: dieses simple clevere Tool tut genau das! Album auswählen, Download klicken, warten. Funktioniert problemlos mit eigenen und fremden Alben. Es ist sogar möglich, den kompletten eigenen Account zu sichern!

    downloadair
    Downloadair benötigt als Laufzeitumgebung Adobe Air, welches hier heruntergeladen werden kann. Schade ist, dass Adobe den Support für Linux eingestellt hat, aber unter Windows und MacOS klappt perfekt!

    Und hier findet Ihr das Programm im Flickr App Garden.

     
  • mc 16:20 am 7. March 2014 permalink | Antwort
    Tags: , , linux, raspberry pi   

    Raspberry Pi: SMS2Email Gateway mit AldiStick 

    Es ist mal wieder soweit. Ich habe einen neuen Handyvertrag und auch eine neue Handynummer. Dies nehme ich zum Anlass, meine „damalige“ Anleitung zum Bau eines SMS2Email Gateways für die Synology Diskstation DS211j zu überarbeiten und für den Raspberry Pi auf Stand zu bringen. Die Tatsache, dass mein AldiStick bereits mit „Lösung 1″…

    Schön, unser Stick wird als USB-Datenträger erkannt. “Moderne” Linuxe erkennen diese Situation dank uDev und schalten den Stick automatisch in den Modem Modus – wir müssen das aber leider von Hand machen. Dazu gibt es zwei Möglichkeiten:

    • wir schalten den Stick auf einem Linux Rechner dauerhaft in den Modem Modus. Da hilft Google weiter. Oder dieser Link. Oder dieses PDF.
    • wir benutzen das Paket usb_modeswitch

    * Update: inzwischen hat es mich ziemlich genervt, dass ich den USB-Modus des Sticks nach jedem Reboot wieder manuell umschalten musste – zumal das per Init-Script irgendwie nicht funktionierte. Also hab ich dann doch mal „Lösung 1“ Ausprobiert und des Datenträger komplett deaktiviert:

    1. picocom /dev/ttyUSB1

    picocom v1.6
    port is : /dev/ttyUSB1
    flowcontrol : none
    baudrate is : 9600
    parity is : none
    databits are : 8
    escape is : C-a
    local echo is : no
    noinit is : no
    noreset is : no
    nolock is : no
    send_cmd is : sz -vv
    receive_cmd is : rz -vv
    imap is :
    omap is :
    emap is : crcrlf,delbs,
    Terminal ready
    ATZ
    OK
    ATI
    Manufacturer: huawei
    Model: E1550
    Revision: 11.608.13.01.52
    IMEI: 353443045652026
    +GCAP: +CGSM,+DS,+ES
    OK
    AT^U2DIAG=0
    OK

    Das wars. Beim nächsten Neustart ist und bleibt der Stick ein Modem…

    …dauerhaft in den Modem-Modus geschaltet ist, scheint mir das Leben dabei sehr leicht zu machen. (Aber vielleicht kaufe ich mir nachher im REWE auch einen „gesimlockten“ Stick für 10€ und probiers damit auch mal.) Ebenfalls spielt mir das auf dem Raspberry Pi installierte Raspbian in die Karten – Debian in klein halt. Und so zeigte auch das Einstecken des AldiSticks das zu erwartende, aber dennoch überaus erfreuliche Ergebnis:

    [ 4.683102] usb 1-1.3: Product: HUAWEI Mobile
    [ 4.688842] usb 1-1.3: Manufacturer: HUAWEI Technology
    [ 4.699791] usb-storage 1-1.3:1.0: USB Mass Storage device detected
    [ 4.710090] usb-storage 1-1.3:1.1: USB Mass Storage device detected
    [ 4.752041] usb-storage 1-1.3:1.2: USB Mass Storage device detected
    [ 22.615306] usbserial: USB Serial support registered for generic
    [ 23.466525] usbserial: USB Serial support registered for GSM modem (1-port)
    [ 23.741833] option 1-1.3:1.0: GSM modem (1-port) converter detected
    [ 23.946533] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB0
    [ 24.167174] option 1-1.3:1.1: GSM modem (1-port) converter detected
    [ 24.357518] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB1
    [ 24.540019] option 1-1.3:1.2: GSM modem (1-port) converter detected
    [ 24.687946] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB2

    Das Modem wird erkannt. Und auch hier zeigt ein einfaches cat /dev/ttyUSB3, dass der Zugriff funktioniert:

    ^BOOT:45652026,0,0,0,87
    ^RSSI:8
    ^RSSI:8
    ^RSSI:0
    ^RSSI:7
    ^RSSI:7

    Die Installation der smstools ist auf dem Raspberry Pi ebenfalls erheblich unaufgeregter zu erledigen als auf der Diskstation. Denn im Gegensatz zu dieser gibt es für den Raspberry Pi entsprechende Pakete 🙂 Bäm!

    pi@raspberrypi ~ $ sudo apt-get install smstools
    Paketlisten werden gelesen... Fertig
    Abhängigkeitsbaum wird aufgebaut.
    Statusinformationen werden eingelesen.... Fertig
    Die folgenden NEUEN Pakete werden installiert:
    smstools
    0 aktualisiert, 1 neu installiert, 0 zu entfernen und 3 nicht aktualisiert.
    Es müssen noch 0 B von 143 kB an Archiven heruntergeladen werden.
    Nach dieser Operation werden 414 kB Plattenplatz zusätzlich benutzt.
    Vorkonfiguration der Pakete ...
    Vormals nicht ausgewähltes Paket smstools wird gewählt.
    (Lese Datenbank ... 71276 Dateien und Verzeichnisse sind derzeit installiert.)
    Entpacken von smstools (aus .../smstools_3.1.14-1.2_armhf.deb) ...
    Trigger für man-db werden verarbeitet ...
    smstools (3.1.14-1.2) wird eingerichtet ...
    Starting SMS Daemon: smsd.
    pi@raspberrypi ~ $

    Das war’s auch schon fast! Nun muss man sich nur noch die Konfiguration zurechtstricken und – wenn man möchte – einen Eventhandler einrichten, der auf empfangene SMS reagiert. Die Konfiguration ist standardmäßig recht leicht verständlich, so dass ich hier nur die von mir angepassten Einträge der Datei /etc/smsd.conf aufzeigen möchte:

    devices = GSM1
    eventhandler = /usr/bin/smsevent
    [GSM1]
    device = /dev/ttyUSB0
    incoming = yes
    signal_quality_ber_ignore = yes
    init = AT+CPMS="ME"
    #Congstar
    smsc = 491710760000

    Die Werte für signal_quality_ber_ignore, init und smsc müssen jeweils für das verwendete GSM-Modem und die SIM-Karten bzw. den Provider angepasst werden. Da hilft Google weiter…

    Nun muss man sich nur noch einen Eventhandler (z.B. /usr/bin/smsevent) basteln und fertig ist die Laube!

    #!/bin/bash
    
    ###################################################
    # RECEIVED = SMS empfangen
    ###################################################
    if [ "$1" == "RECEIVED" ]; then
    
      #Nummer aus der From Zeile ermitteln. Beginnt an Position 7
      number=$( grep -ih 'FROM:' $2 | cut -b 7- )
    
      #Mal schauen, ob ich den Absender kenne
      case $number in
        491771234567)
          name=Heike
          ;;
        4917376544321)
          # ;)
          name=Mama
          ;;
        *)
          name=Unbekannt
          ;;
      esac
    
      #SMS einfach auf dem Pi Display ausgeben
      clear > /dev/tty0
      echo $1 von $name > /dev/tty0 
      cat $2 > /dev/tty0
    fi
    
     
  • mc 11:28 am 6. March 2014 permalink | Antwort
    Tags: , linux   

    SED – i love it! 

    Gut dass ich mir das damals mal aufgeschrieben habe! Mit sed lassen sich nicht nur einzelnen Zeilen, sondern auch ganze Dateien verarbeiten. Dieses Multiline-Pattern-Matching hab ich hier erklärt. Und heute konnte ich es nochmal selber brauchen.
    Die Aufgabe war, in Hunderten FTP-Server-Konfigurationsdateien den letzten Konfigurationsblock zu kopieren, darin ein paar Werte zu ändern und als neuen Block ans Ende der bestehenden Datei anzufügen. Und das ging dann so:

    for file in *.conf ; do sed -n -e '1h; 1!H; ${ g; s/\(.*\)\( Directory \/srv\/ftp\/ftp2\/.*\/xml .*\)$/\2/gi ; s/xml/html/gi ; s/_X_/_H_/gpi }' $file >> $file ; done

    Geil, oder?

     
  • mc 19:31 am 9. January 2014 permalink | Antwort
    Tags: , linux, ,   

    Mails per bash herunterladen und als Datei speichern 

    Heute stand ich vor dem Problem, dass ich die Autoresponder-Mails eines Newsletter-Postfachs auslesen und auswerten wollte. Das Ganze natürlich per cronjob angetriggert und vollautomatisch. Es scheiterte zuerst an der grundsätzlichen Möglichkeit, Mails über POP3 abzurufen und als Textdatei zu speichern. Müsste doch gehen – ist doch Linux. Geht auch: fetchmail heißt das (quasi Standard-) Zauberwort. Fetchmail war mir aber zu aufgeblasen und wie man’s konfiguriert weiß ich auch nicht. Als Alternative fiel mir irgendwann getmail in die Hände – und schon war’s einfach…

    Zuerst mal getmail installieren und das Konfigurationsverzeichnis anlegen:
    $ sudo apt-get install getmail4
    $ sudo mkdir ~/.getmail

    Dann braucht man noch dort eine (simple) Konfigurationsdateim (~/.getmail/getmailrc):
    [retriever]
    type = SimplePOP3Retriever
    server = pop3.dein-server.de
    username = username@dein-server.de
    password = dEiNPassWOrt!

    [destination]
    type = Maildir
    path = ~/path/to/maildir

    [options]
    delete = true

    Der unter destination/path festgelegte Ordner muss über eine gültige maildir Struktur verfügen und die Unterordner cur, new und tmp enthalten. Mit
    $ getmail
    kann man nun an der Konsole Mails abrufen. Fertig ist die Laube…

     
  • mc 10:57 am 25. July 2013 permalink | Antwort
    Tags: , linux, mysql,   

    MySQL Datenverzeichnis verschieben. Leicht gesagt. 

    Auf meinem neuen Linux Webserver wollte ich – um mir das Datensicherungsgehähe zu vereinfachen – den Datenbankpfad für MySQL verschieben. Eigentlich ganz einfach, da nur der Eintrag datadir = /var/lib/mysql in der Datei /etc/mysql/my.cnf anzupassen ist. Blöderweise ließ sich nach dieser Anpassung der Dämon (mit Error 13 – Zugriff verweigert) nicht mehr starten. Schuld ist AppArmor, welches das neue Datenverzeichnis noch nicht kennt und den Zugriff dort hin blockiert.

    Zum Glück ist die Lösung einfach und hier gut dokumentiert. Man muss die AppArmor Konfiguration in der Datei /etc/apparmor.d/usr.sbin.mysqld um den neuen Datenpfad ergänzen. Dazu werden die folgenden Zeilen angefügt:

    /srv/mysql/ r,
    /srv/mysql/** rwk,

    Nach einem Neustart von AppArmor mit sudo service apparmor restart lässt sich dann auch myssql wieder starten: sudo service mysql restart

    Nochmals Danke an Matthias!

     
c
Neuen Beitrag erstellen
j
nächster Beitrag/nächster Kommentar
k
vorheriger Beitrag/vorheriger Kommentar
r
Antwort
e
Bearbeiten
o
zeige/verstecke Kommentare
t
Zum Anfang gehen
l
zum Login
h
Zeige/Verberge Hilfe
Shift + Esc
Abbrechen