EyeTV3 RecordingDone Script zum ausschalten

doch, im terminal kannst du sehr einfach ändern:
sudo pmset -a hibernatemode 3

aber ansonsten kannst du halt, wenn du das deep sleep widget eh installiert hast einfach statt dem "tell finder to shutdown/sleep" ein
do shell script "~/Library/Widgets/Deep\ Sleep.wdgt/deepsleep dump"
oder statt dump hard machen, je nach wunsch....
 
Danke. Wäre klasse, wenn du für einen Apple Script Volllaien kurz genau den Wortlaut schreiben kannst, mit dem man "tell application "Finder"
shut down
end tell" ersetzen muss.
 
hab ich doch schon geschrieben.
einfach diesen teil
Code:
				tell application "Finder"
					shut down
				end tell

durch

Code:
do shell script "~/Library/Widgets/Deep\ Sleep.wdgt/deepsleep dump"

ich habe es allerdings nicht getestet, k.a. ob das widget den mode nur umstellt oder auch direkt schlafen schickt.
die änderung ist in der annahme, dass es direkt schlafen schickt...
 
klappt so leider nicht:

Es wurde „„"““ erwartet, aber ein „Unbekanntes Token“ wurde gefunden.
 
beim direkten kopieren aus dem browser schleichen sich komische zeichen ein, kopier es vorher mal reinen text in textedit...
 
Hallo,

ich hätte gern die Möglichkeit die automatische Anmeldung auszuschalten, dem Programm eyetv helper aber die erforderlichen Anmeldedaten zur Verfügung zu stellen, so dass eyetv den Rechner hochfahren kann. Gäbe es dafür auch ein script ?
 
ich würde gerne das etvcomskip bei recording done laufen lassen und den rechner dann erst in den ruhezustand schicken.

wie kann ich das in das oben genannte skript einpflegen?

so, mit 3.0.3 kann man es nun.
einfach folgende zeile nach dem "on RecordingDone" einfügen:
Code:
do shell script "/Library/Application\\ Support/ETVComskip/MarkCommercials.app/Contents/MacOS/MarkCommercials " & recordingID

den pfad zu MarkCommercials muss man ggf. anpassen...

es gibt aber auch einen neuen trigger in eyetv auf nachfrage des etv-comskip autors.
damit ist es dann möglich, schon während der aufnahme nach werbung zu suchen, wenn der etv-comskip mal entsprechende updatet...
 
Zuletzt bearbeitet:
Hmmm, ich habe das gleich gleich mal ausprobiert und bekam leider nur folgende Fehlermeldung (aus der Konsole):
Code:
04.08.08 21:18:57 MarkCommercials[3204] MarkCommercials Error
An unexpected error has occurred during execution of the main script

CommandError: CommandError -1708: Application could not handle this command.
 Failed command: app(u'/Applications/EyeTV.app').recordings.ID(238615800).unique_ID.get()

Beim zweiten Versuch kam die gleiche Meldung (mit anderer recordings.ID).
 
dann findet eyetv die recordingid nicht, die müsste aber stimmen...
hast du die aufnahme direkt gelöscht?
 
dann findet eyetv die recordingid nicht, die müsste aber stimmen...
hast du die aufnahme direkt gelöscht?

Nach der Fehlermeldung.
Ich habe jetzt auch mal deine Version ausprobiert. Allerdings fehlt dort ja "--log" und ich habe keine Fehlermeldung zum Auswerten. Markiert wird nichts und der Rest des Scriptes wird auch nicht abgearbeitet. :confused:
Mein RecordingDone Script:
Code:
on RecordingDone(recordingID)
	do shell script "/Library/Application Support/ETVComskip/MarkCommercials.app/Contents/MacOS/MarkCommercials " & recordingID
	tell application "EyeTV"
		set limit to 30 * minutes
		set ausmachen to true
		set vorlauf to (prepad time + 2) * minutes
		set jetzt to current date
		repeat with aufnahme in start time of programs
			set diff to aufnahme - jetzt
			if diff ≥ vorlauf then set diff to diff - vorlauf
			if diff ≥ 0 and diff ≤ limit then set ausmachen to false
		end repeat
		if is_recording = false and ausmachen = true then
			activate
			set antwort to display dialog "Soll der Rechner in den Ruhezustand gehen?" buttons {"Nein", "Ja"} default button "ja" giving up after 60
			if button returned of antwort = "Ja" or button returned of antwort = "" then
				tell application "Finder"
					sleep
				end tell
			end if
		end if
	end tell
end RecordingDone
 
könnte an dem leerzeichen im pfad liegen...
mach mal ein Application\ Support statt Application Support.
hab es oben mal korrigiert.
bei mir liegt es in einem pfad ohne leerzeichen...
 
Das maskieren mit \ scheint nicht zu funktionieren, da "unerwartetes Token" ...
 
Das maskieren mit \ scheint nicht zu funktionieren, da "unerwartetes Token" ...

man muss es wohl doppel machen als \\ ...

alternativ kannst auch folgendes mal probieren:
Code:
do shell script "'/Library/Application Support/ETVComskip/MarkCommercials.app/Contents/MacOS/MarkCommercials' " & recordingID
 
Funktioniert der Workaround auch mit der 3.0.3 eyeTV ?

EDIT: Habe gerade aus Zufall mitbekommen das die Meldung mit dem Ausschalten auch bei der 3.0.3 kommt.
Nun muss ich doch mal den ganzen Thread dazu lesen ;-))

EDIT 2:

Leider funktioniert es nicht immer......
Heute nach Hause gekommen und der MacPro war an...
 
Zuletzt bearbeitet:
Was ist das:

ETVComskip von MarkCommercials ?

Kann man damit automatisch Werbung entfernen?
 
Zuletzt bearbeitet:
@OneOeight: Erstmal danke für das Script. Funktioniert auch gut, allerdings hat es mich genervt, dass auch bei manuell gestoppten Aufnahmen (ich sitze am Rechner und drücke auf Aufnahme stoppen) der Dialog hochkommt, ob der Rechner schlafen gehen soll.
Ich habe das Script etwas erweitert, so dass es die 'IDLE' Zeit auswertet, und der Sleep-Dialog nur angezeigt wird, wenn der Rechner eine gewisse Zeit Idle war - also niemand manuell auf 'Aufnahme stoppen' gedrückt hat.

Script und idle-Auswerte Programm hänge ich an. Das Idle-time Programm gibt die Zeit in Sekunden zurück, die der Rechner weder Maus noch Tastatureingaben bekommen hat.
Im Prinzip ein ioreg -c IOHIDSystem | grep Idle. Die Zeit ist in NanoSekunden (10^9)

Gruss,
Christian

Script:
Code:
on RecordingDone(recordingID)
    -- Wenn das ganze interaktiv passiert
    -- also der IDLE Timer recht klein ist
    set idletime to do shell script "/Library/Application\\ Support/EyeTV/Scripts/TriggeredScripts/idle-time"
    --    display dialog idletime buttons {"ja", "Nein"}
    if idletime > 10 then
        -- Leg los
        -- Evtl Werbug rausschneiden
        --    do shell script "/Library/Application\\ Support/ETVComskip/MarkCommercials.app/Contents/MacOS/MarkCommercials "  & recordingID
        -- Schlafen legen
        tell application "EyeTV"
            set limit to 15 * minutes
            set ausmachen to true
            set vorlauf to (prepad time + 2) * minutes
            set jetzt to current date
            repeat with aufnahme in start time of programs
                set diff to aufnahme - jetzt
                if diff ≥ vorlauf then set diff to diff - vorlauf
                if diff ≥ 0 and diff ≤ limit then set ausmachen to false
            end repeat
            if is_recording = false and ausmachen = true then
                activate
                set antwort to display dialog "ausschalten?" buttons {"nein", "ja"} default button "nein" with icon note giving up after 60
                if button returned of antwort = "ja" or button returned of antwort = "" then
                    tell application "Finder"
                        sleep
                    end tell
                end if
            end if
        end tell
    end if
end RecordingDone

-- testing code: this will not be called when triggered from EyeTV, but only when the script is run as a stand-alone script
-- on run
--    tell application "EyeTV"
--        set rec to unique ID of item 1 of recordings
        --        display dialog rec
--        delay 3
--        my RecordingDone(rec)
--    end tell
-- end run
 
Zuletzt bearbeitet:
Im Klartext, wie lange muss der MAC nicht angefasst sein/werden damit das Script dann läuft oder nicht? Ich meine was für eine Zeit hast Du voreingestellt?
 
bekomme das Script gar nicht geladen von der Seite und kopiert in den Scripteditor bekomme ich es nicht abgespeichert. :(
 
Script und idle-Auswerte Programm hänge ich an. Das Idle-time Programm gibt die Zeit in Sekunden zurück, die der Rechner weder Maus noch Tastatureingaben bekommen hat.
Im Prinzip ein ioreg -c IOHIDSystem | grep Idle. Die Zeit ist in NanoSekunden (10^9)

ist das ein C programm oder ein script?
aus transparenz gründe sollte man das ganze wohl auch als source zur verfügung stellen oder das ganze per applescript machen statt mit externen script...
 
Zurück
Oben Unten