Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: VDR Portal. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Sonntag, 2. Oktober 2016, 00:06

VDR startet nicht Raspbian E-Tobi

Moin!

Aktuelles Raspbian mit Tobis VDR-Paketen.
Der DVB-S Stick wird erkannt, aber VDR startet nicht. Ich habe schon diverse Möglichkeiten ausprobiert und nun weiß ich nicht, wo ich sonst noch suchen soll.
Die Fehlermeldung sagt mir gar nichts.

Quellcode

1
2
sudo systemctl start vdr
Job for vdr.service failed. See 'systemctl status vdr.service' and 'journalctl -xn' for details.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
sudo journalctl -xn

-- Logs begin at Sa 2016-10-01 23:23:00 CEST, end at Sa 2016-10-01 23:25:42 CEST. --
Okt 01 23:24:19 adler systemd[1]: Failed to start Video Disk Recorder.
-- Subject: Unit vdr.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit vdr.service has failed.
-- 
-- The result is failed.
Okt 01 23:24:19 adler systemd[1]: Unit vdr.service entered failed state.
Okt 01 23:24:38 adler sudo[901]: pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/systemctl status vdr.service
Okt 01 23:24:38 adler sudo[901]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
Okt 01 23:24:38 adler sudo[901]: pam_unix(sudo:session): session closed for user root
Okt 01 23:25:18 adler sudo[909]: pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/systemctl -l status vdr.service
Okt 01 23:25:18 adler sudo[909]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
Okt 01 23:25:18 adler sudo[909]: pam_unix(sudo:session): session closed for user root
Okt 01 23:25:42 adler sudo[917]: pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/journalctl -xn
Okt 01 23:25:42 adler sudo[917]: pam_unix(sudo:session): session opened for user root by pi(uid=0)

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sudo systemctl -l status vdr.service
● vdr.service - Video Disk Recorder
   Loaded: loaded (/lib/systemd/system/vdr.service; enabled)
   Active: failed (Result: start-limit) since Sa 2016-10-01 23:24:19 CEST; 4min 25s ago
  Process: 899 ExecStart=/usr/bin/vdr (code=killed, signal=ILL)
  Process: 887 ExecStartPre=/bin/sh /usr/lib/vdr/merge-commands.sh reccmds (code=exited, status=0/SUCCESS)
  Process: 875 ExecStartPre=/bin/sh /usr/lib/vdr/merge-commands.sh commands (code=exited, status=0/SUCCESS)
 Main PID: 899 (code=killed, signal=ILL)

Okt 01 23:24:19 adler systemd[1]: Unit vdr.service entered failed state.
Okt 01 23:24:19 adler systemd[1]: vdr.service holdoff time over, scheduling restart.
Okt 01 23:24:19 adler systemd[1]: Stopping Video Disk Recorder...
Okt 01 23:24:19 adler systemd[1]: Starting Video Disk Recorder...
Okt 01 23:24:19 adler systemd[1]: vdr.service start request repeated too quickly, refusing to start.
Okt 01 23:24:19 adler systemd[1]: Failed to start Video Disk Recorder.
Okt 01 23:24:19 adler systemd[1]: Unit vdr.service entered failed state.

2

Sonntag, 2. Oktober 2016, 09:47

Schau mal, was der VDR seit dem letzten Boot ins Log geschrieben hat:

Quellcode

1
journalctl -u vdr -bl
yaVDR-Doku

Meine VDRs

VDR 1: Point of View Ion-330-1 (Intel Atom 330@1,6 GHz). 2GB, 4TB HDD, KNC One DVB-C, Sundtek MediaTV Pro (DVB-C), Atric IR-Einschalter Rev.5, yaVDR 0.6 testing
VDR 2: Acer Revo 3610, 4GB Ram, 1x HDD 320 GB, Pinnacle PCTV SAT 452e, Medion X10, YaVDR 0.5 testing
VDR 3: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce 210 512 MB, 500 GB, DD Duo-flex CT, Arch LInux, VDR 2.2.0, CIR-Empfänger
Client 1: Raspberry Pi Model B, Arch Linux ARM, VDR 2.2.0
Client 2: Raspberry Pi 2, Arch Linux ARM, VDR 2.3.1
vdr-epg-daemon + MariaDB auf Cubietruck mit 32 GB SSD, Arch Linux ARM, optional Sundtek MediaTV Pro III + VDR 2.2.0
Ceterum censeo enchiridia esse lectitanda.

3

Sonntag, 2. Oktober 2016, 20:24

Hallo Seahawk,

sudo journalctl -u vdr -b1

(Dein "l" sollte wohl eine "1" sein, oder?)

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Logs begin at So 2016-10-02 00:11:48 CEST, end at So 2016-10-02 20:20:14 CEST. --                                                                                                                                                                                       	
Okt 02 00:11:59 adler systemd[1]: Starting Video Disk Recorder...                                                                                                                                                                                                          	
Okt 02 00:12:03 adler systemd[1]: vdr.service: main process exited, code=killed, status=4/ILL                                                                                                                                                                              	
Okt 02 00:12:04 adler systemd[1]: Failed to start Video Disk Recorder.                                                                                                                                                                                                     	
Okt 02 00:12:04 adler systemd[1]: Unit vdr.service entered failed state.                                                                                                                                                                                                   	
Okt 02 00:12:04 adler systemd[1]: vdr.service holdoff time over, scheduling restart.                                                                                                                                                                                       	
Okt 02 00:12:04 adler systemd[1]: Stopping Video Disk Recorder...                                                                                                                                                                                                          	
Okt 02 00:12:04 adler systemd[1]: Starting Video Disk Recorder...                                                                                                                                                                                                          	
Okt 02 00:12:05 adler systemd[1]: vdr.service: main process exited, code=killed, status=4/ILL                                                                                                                                                                              	
Okt 02 00:12:06 adler systemd[1]: Failed to start Video Disk Recorder.                                                                                                                                                                                                     	
Okt 02 00:12:06 adler systemd[1]: Unit vdr.service entered failed state.                                                                                                                                                                                                   	
Okt 02 00:12:06 adler systemd[1]: vdr.service holdoff time over, scheduling restart.                                                                                                                                                                                       	
Okt 02 00:12:06 adler systemd[1]: Stopping Video Disk Recorder...                                                                                                                                                                                                          	
Okt 02 00:12:06 adler systemd[1]: Starting Video Disk Recorder...                                                                                                                                                                                                          	
Okt 02 00:12:07 adler systemd[1]: vdr.service: main process exited, code=killed, status=4/ILL                                                                                                                                                                              	
Okt 02 00:12:07 adler systemd[1]: Failed to start Video Disk Recorder.                                                                                                                                                                                                     	
Okt 02 00:12:07 adler systemd[1]: Unit vdr.service entered failed state.                                                                                                                                                                                                   	
Okt 02 00:12:07 adler systemd[1]: vdr.service holdoff time over, scheduling restart.                                                                                                                                                                                       	
Okt 02 00:12:07 adler systemd[1]: Stopping Video Disk Recorder...                                                                                                                                                                                                          	
Okt 02 00:12:07 adler systemd[1]: Starting Video Disk Recorder...                                                                                                                                                                                                          	
Okt 02 00:12:08 adler systemd[1]: vdr.service: main process exited, code=killed, status=4/ILL                                                                                                                                                                              	
Okt 02 00:12:08 adler systemd[1]: Failed to start Video Disk Recorder.                                                                                                                                                                                                     	
Okt 02 00:12:08 adler systemd[1]: Unit vdr.service entered failed state.                                                                                                                                                                                                   	
Okt 02 00:12:08 adler systemd[1]: vdr.service holdoff time over, scheduling restart.                                                                                                                                                                                       	
Okt 02 00:12:08 adler systemd[1]: Stopping Video Disk Recorder...                                                                                                                                                                                                          	
Okt 02 00:12:08 adler systemd[1]: Starting Video Disk Recorder...                                                                                                                                                                                                          	
Okt 02 20:19:21 adler systemd[1]: vdr.service: main process exited, code=killed, status=4/ILL                                                                                                                                                                              	
Okt 02 20:19:21 adler systemd[1]: Failed to start Video Disk Recorder.                                                                                                                                                                                                     	
Okt 02 20:19:21 adler systemd[1]: Unit vdr.service entered failed state.                                                                                                                                                                                                   	
Okt 02 20:19:21 adler systemd[1]: vdr.service holdoff time over, scheduling restart.                                                                                                                                                                                       	
Okt 02 20:19:21 adler systemd[1]: Stopping Video Disk Recorder...                                                                                                                                                                                                          	
Okt 02 20:19:21 adler systemd[1]: Starting Video Disk Recorder...                                                                                                                                                                                                          	
Okt 02 20:19:21 adler systemd[1]: vdr.service start request repeated too quickly, refusing to start.                                                                                                                                                                       	
Okt 02 20:19:21 adler systemd[1]: Failed to start Video Disk Recorder.                                                                                                                                                                                                     	
Okt 02 20:19:21 adler systemd[1]: Unit vdr.service entered failed state.  	

4

Donnerstag, 6. Oktober 2016, 20:26

W_Scan tut übrigens auch nichts (trotz "verbose" keine Meldung), d.h. beendet sich gleich wieder.

5

Donnerstag, 6. Oktober 2016, 20:38

Was ist denn zu sehen, wenn du mit installiertem vdr-dbg den vdr (oder w_scan) mit gdb ausführst?

Quellcode

1
2
3
4
5
6
7
sudo apt-get install gdb
sudo gdb vdr
# in der gdb shell:
run
# nach dem Crash:
bt
bt full
yaVDR-Doku

Meine VDRs

VDR 1: Point of View Ion-330-1 (Intel Atom 330@1,6 GHz). 2GB, 4TB HDD, KNC One DVB-C, Sundtek MediaTV Pro (DVB-C), Atric IR-Einschalter Rev.5, yaVDR 0.6 testing
VDR 2: Acer Revo 3610, 4GB Ram, 1x HDD 320 GB, Pinnacle PCTV SAT 452e, Medion X10, YaVDR 0.5 testing
VDR 3: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce 210 512 MB, 500 GB, DD Duo-flex CT, Arch LInux, VDR 2.2.0, CIR-Empfänger
Client 1: Raspberry Pi Model B, Arch Linux ARM, VDR 2.2.0
Client 2: Raspberry Pi 2, Arch Linux ARM, VDR 2.3.1
vdr-epg-daemon + MariaDB auf Cubietruck mit 32 GB SSD, Arch Linux ARM, optional Sundtek MediaTV Pro III + VDR 2.2.0
Ceterum censeo enchiridia esse lectitanda.

6

Samstag, 8. Oktober 2016, 20:23

Oha, da betreten wir jetzt einen Bereich, wo ich komplett nur Bahnhof verstehe:

Quellcode

1
2
3
4
5
6
7
(gdb) run
Starting program: /usr/bin/vdr 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
0x000bd418 in cRecording::Title(char, bool, int) const ()

Quellcode

1
2
3
4
(gdb) bt
#0  0x000bd418 in cRecording::Title(char, bool, int) const ()
#1  0x00000008 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Quellcode

1
2
3
4
5
6
(gdb) bt full
#0  0x000bd418 in cRecording::Title(char, bool, int) const ()
No symbol table info available.
#1  0x00000008 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

7

Donnerstag, 13. Oktober 2016, 21:57

Also mir sagt das eigentlich nicht viel. Scheint sowas wie ein SYS3175 zu sein, aber das hilft auch nicht weiter.
Könnte einer der Koryphäen mir das Ergebnis bitte mal einordnen? Einfach Pech? Habe ich etwas falsch gemacht? Hat Tobi was kaputt gemacht? Liegt's am Wetter? Raspi kaputt?

8

Freitag, 14. Oktober 2016, 18:00

Klingt nach einem Binary-Incompatible Problem:
CPU passt wohl nicht zum Binary oder umgekehrt.

Poste bitte mal folgende Ausgaben:

Quellcode

1
2
3
4
which vdr #um zu prüfen wo das vdr-binary liegt
file /usr/bin/vdr #sollte oben was anderes rausgekommen sein, hier entsprechend anpassen
uname -a  #zeige laufende Kernel version & binary details
file /usr/bin/file

9

Freitag, 14. Oktober 2016, 22:01

Ich antworte mal etwas ausführlicher: Ich habe zwei Raspi 2 B im Einsatz: Einen für die Aufnahme und einen für die Wiedergabe. Der Wiedergabe-Raspi funktioniert, der Aufnahme-Raspi hat das geschilderte Problem.
Gemeinsame Eigenschaften:

installiertes vdr-Paket: 2.2.0-5~etobi1

Quellcode

1
2
file /usr/bin/vdr 
/usr/bin/vdr: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=c6e9409646ea3fa6a297d08ff3ece2b36f1a51c3, stripped

Quellcode

1
2
file /usr/bin/file
/usr/bin/file: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=1c37ed46b1ba748dc1b82d3ebc2c95e49fb16cfe, stripped


Quellcode

1
2
3
cat /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
deb http://e-tobi.net/vdr-experimental jessie base vdr-multipatch


Nun zum Unterschied (und das entspricht wohl genau Deiner Vermutung):

papagei (Wiedergabe, läuft)

Quellcode

1
2
uname -a 
Linux papagei 4.4.13-v7+ #894 SMP Mon Jun 13 13:13:27 BST 2016 armv7l GNU/Linux


adler (Aufnahme, kaputt)

Quellcode

1
2
uname -a 
Linux adler 4.4.21+ #911 Thu Sep 15 14:17:52 BST 2016 armv6l GNU/Linux


Warum habe ich auf dem einen Raspi einen anderen Kernel als auf dem anderen? Dazu einmal armv6l und einmal armv7l?

Auf dem kaputten System habe ich eine /etc/apt/preferences, auf dem laufenden System dagegen nicht. Ist das die Ursache?

Quellcode

1
2
3
4
5
6
7
Package: *
Pin: release o=Debian,a=stable
Pin-Priority: 600
 
Package: *
Pin: release o=e-tobi.net
Pin-Priority: 1001

10

Freitag, 14. Oktober 2016, 23:12

armv6l ist ein RPi 1

Gerald

HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
Samsung UE55H6470

11

Freitag, 14. Oktober 2016, 23:20

Danke Gerald, aber wie kommt ein Raspi 1 Kernel auf einen Raspi 2? (Und wie ersetze ich den durch den richtigen?)

12

Samstag, 15. Oktober 2016, 10:04

@RolfGF:
Es schaut so aus, als ob da irgendwo das Problem begraben ist. Aber so ganz eindeutig ist das aus den bisherigen Informationen noch nicht.

Meine erste Vermutung war, dass das VDR binary nicht zum Prozessor passt. Von den "file" Ausgaben her stimmt es soweit zusammen.
Dennoch dürfte der VDR auf eine Prozessorfunktion zugreifen, die auf dem armv6l nicht verfügbar ist.

Um der Sache näher zu kommen brauchen wir nun die Prozessor Details von beiden Geräten. Dazu sind die Ausgaben aus:
"cat /proc/cpuinfo" interessant. Bitte beide posten.

Es könnte schon sein, dass aus irgendeinem Grund auf einem Gerät ein anderer Kernel läuft, und das soweit problemlos. Es könnte auch sein, dass Hardwareunterschiede vorhanden sind, das gilt es abzuklären bevor man zum ruminstallieren/rumprobieren beginnt.

13

Samstag, 15. Oktober 2016, 10:53

Ohje, der eine Raspi ist ein B+, kein 2B. Einen zweiten 2B besitze ich gar nicht. Ich bin gerade "etwas" erschrocken über diesen Aussetzer. Tut mir leid, dass ich Euch unnötig Arbeit gemacht habe. Das muss ich erstmal verdauen. Hatte viel Stress in den letzten Wochen.
Bedeutet das jetzt, dass Tobi keine Pakete für die älteren Raspis hat oder ist bei mir dann nur das falsche Paket installiert?

papagei (Wiedergabe, läuft)

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
cat /proc/cpuinfo
processor   	: 0
model name  	: ARMv7 Processor rev 5 (v7l)
BogoMIPS    	: 38.40
Features    	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer : 0x41
CPU architecture: 7
CPU variant 	: 0x0
CPU part    	: 0xc07
CPU revision	: 5

processor   	: 1
model name  	: ARMv7 Processor rev 5 (v7l)
BogoMIPS    	: 38.40
Features    	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer : 0x41
CPU architecture: 7
CPU variant 	: 0x0
CPU part    	: 0xc07
CPU revision	: 5

processor   	: 2
model name  	: ARMv7 Processor rev 5 (v7l)
BogoMIPS    	: 38.40
Features    	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer : 0x41
CPU architecture: 7
CPU variant 	: 0x0
CPU part    	: 0xc07
CPU revision	: 5

processor   	: 3
model name  	: ARMv7 Processor rev 5 (v7l)
BogoMIPS    	: 38.40
Features    	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm 
CPU implementer : 0x41
CPU architecture: 7
CPU variant 	: 0x0
CPU part    	: 0xc07
CPU revision	: 5

Hardware    	: BCM2709
Revision    	: a01041


adler (Aufnahme, kaputt)

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
cat /proc/cpuinfo
processor   	: 0
model name  	: ARMv6-compatible processor rev 7 (v6l)
BogoMIPS    	: 697.95
Features    	: half thumb fastmult vfp edsp java tls 
CPU implementer : 0x41
CPU architecture: 7
CPU variant 	: 0x0
CPU part    	: 0xb76
CPU revision	: 7

Hardware    	: BCM2708
Revision    	: 0010

14

Samstag, 15. Oktober 2016, 11:16

Mach dir nichts draus, das sind genau die Fehler die jedem passieren können und bei denen man manchmal den Baum vor lauter Wald nicht sieht.
Es kommt vor, dass man stundenlange so einfache Dinge übersieht.

Laut dem Blog Eintrag von Tobias sind die Pakete für OSMC, welches auf den offiziellen Debian armhf Paketen aufbaut.
https://e-tobi.net/blog/2015/09/13/vdr-p…fur-raspberrypi

Debian armhf liegt laut der Projektseite nur für armv7 vor:
https://www.debian.org/releases/jessie/armhf/

Laut der Debian Seite läuft auf dem RPI 1 die armel Architektur
https://wiki.debian.org/RaspberryPi

Soviel mal zu den Prozessoren.



Jetzt ein möglicher Lösungsansatz:
Wenn ein Binär-Paket auf deiner Umgebung nicht läuft, das das soweit ja noch nicht gesagt, dass es gar nicht geht.
Um die E-Tobi Pakete zum Laufen zu bekommen kannst du versuchen diese selber für den Raspberry 1 zu kompilieren:

Statt

Quellcode

1
deb http://e-tobi.net/vdr-experimental jessie base vdr-multipatch

Quellcode

1
deb-src http://e-tobi.net/vdr-experimental jessie base vdr-multipatch

in die /etc/apt/sources.list eintragen. Und dann:

Quellcode

1
apt-get update

Am besten vor dem durchführen der Befehle immer die man-pages zum Befehl lesen, damit lernt man viel. :)

Quellcode

1
2
3
cd /usr/src/
apt-get build-dep vdr  #damit installierst du alle Abhängigkeiten die benötigt werden um den VDR auf deinem System zu kompilieren.
apt-get source vdr -b  #sollte den VDR-Source Code von E-Tobi herunterladen, dabei die Addresse prüfen ob das Paket auch vom richtigen Server kommt. Das "-b" weist apt-get an das Paket auch gleich zu kompilieren

Wenn alles glatt läuft, dann solltest du unter /usr/src/ nach einigen Minuten vdr & vdr-dev / vdr-dbg Pakete für armv6 vorfinden. Die kann man dann mit "dpkg -i installieren". Wenn das alles geklappt hat, kann man auch die Plugins auf diese Weise für die eigene Architektur kompilieren.
Immer hilfreich bei solchen Dingen ist es die eigens gebauten Pakete auch mit apt-mark auf hold zu setzten, damit diese bei einem Update nicht überschrieben werden.

Good Luck & ein schönes Wochenende! :]

15

Sonntag, 16. Oktober 2016, 20:44

Danke für die aufmunternden Worte.

Ich habe nun zunächst einmal den einfacheren Weg gewählt: Ich habe Tobis Pakete gepurget und die normalen Raspian-Pakete installiert. Die sind zwar älter aber funktionieren auch.
Deine Anleitung probiere ich ggf. später mal aus. Vielen Dank.

16

Donnerstag, 17. November 2016, 20:53

Danke

Ich schliesse mich dem Fragensteller an, vielen Dank für die Anregung hgutmann. Ich hätte es ohne Deinen Post garnicht erst versucht, aber apt-get source -b läuft einwandfrei auf dem ARM6 raspi mit den etobi sourcen. Der Compile Prozess hat dabei auch erträglich lange gedauert. Gerade läuft der 2. Versuch mit plugins, die im normalen repo nicht verfügbar sind.

Danke!
dzarth

17

Freitag, 18. November 2016, 10:35

Für die Plugins gibt es noch eine gute Anlaufstelle unter:
https://anonscm.debian.org/cgit/pkg-vdr-dvb

Hier sind wesentlich mehr Packages enthalten als direkt in der Distribution, die meisten davon funktionieren auch problemlos.
Die Vorgehensweise zum installieren ist wie folgt:

Ähnliche Themen

Immortal Romance Spielautomat