Jump to content

Plugin o.ä. für Computerstart aus Kaltzustand


briter54

Recommended Posts

Hallo,

 

gibt es eine Möglichkeit, beispielsweise über IFTTT, vor einer bevorstehenden Timer-Aufnahme automatisch eine Steckdose zu schalten, so dass der PC dann rechtzeitig hochfährt? Ich bin sowohl bei SmartHome, wie auch bei DVBViewer in den Anfängen, deshalb entschuldigt bitte mein Unwissen...

Das mit dem Hochfahren klappt jedenfalls, wenn man im BIOS einstellt, dass der PC nach Stromausfall standardmäßig wieder hochfahren soll.

 

Gruß

 

    Boris

 

 

Link to comment

Im Prinzip müsste der DVBViewer bzw. Media Server dafür entsprechende Einträge in einem Cloud-Kalender vornehmen, dann müsste das über IFTTT zu machen sein.

Link to comment

Unterstützung für Smarthome System xy ist wenn dann eine Community Aufgabe. Die entsprechenden Schnittstellen im DVBViewer / Media Server wären vorhanden.

Direkt kann eine Windows Software meines Wissens nicht so ohne Weiteres Bios-Timer setzen um den Kaltstart auszulösen.

Link to comment
vor 29 Minuten schrieb nuts:

Direkt kann eine Windows Software meines Wissens nicht so ohne Weiteres Bios-Timer setzen um den Kaltstart auszulösen.

Würde auch nichts bringen wenn, wie im ersten Post beschrieben, vor dem PC eine schaltbare Steckdosenleiste ist die aus ist. Die kann sich das BIOS selber nicht einschalten.

 

@Boris Riter die übliche und tatsächlich aktuell funktionierende Methode ist, als Aktion nach Timeraufnahme im DMS den "Ruhemodus" zu wählen (Tray-Symbol - Server konfigurieren - Aufnahmen - Aufnahme-Timer - Abschließende Aktion. Der PC geht dann nach Aufnahme in den Ruhezustand, schaltet sich praktisch komplett ab (sofern nicht eine weitere Aufnahme läuft oder in Kürze startet). Rechtzeitig vor der nächsten Aufnahme schaltet er sich wieder ein ("Windows wird fortgesetzt ..."), ohne externen Kalender o.ä. weil der DMS den nächsten Einschaltzeitpunkt mitgibt. Der PC muß dazu aber permanent am Stromnetz sein, Steckdose davor abschalten verhindert das.

 

In der oben genannten "Abschließenden Aktion" gibt es auch "Herunterfahren", danach kann der PC aber nicht mehr selber neu starten für die nächste Aufgabe, das ist was nuts mit "Kaltstart" meinte. Und "Energie sparen" schaltet nicht alle Komponenten des PCs ab, da läuft also noch einiges weiter.

Link to comment

Vielen Dank für eure Antworten.

 

Über den Ruhezustand will ich das nicht machen, da der PC dann auch ganz schön Strom saugt. Bei mir ca. 40 Watt.

 

Ich habe gerade noch mal überlegt. Das lässt sich doch viel einfacher realisieren als ich dachte.

 

Vorausgesetzt, dass ich die Startzeit für die nächste Aufnahme aus DVBViewer / DMS extrahieren kann.

 

Dann bräuchte ich nur noch über den Windows Taskplaner "on shutdown" zu veranlassen, dass ein Befehl für IFTTT zum Einschalten der Steckdose zum nächsten Aufnahmezeitpunkt an mein SmartHome generiert und gesendet wird.

 

Das müsste funktionieren. Bräuchte aber Hilfe mit der API. Ich habe das letzte mal vor 32 (!) Jahren in C programmiert ?

 

EDIT:

 

Also, ich würde das sowieso nur scripten, über Batch oder AHK. Was ich bräuchte, ist eine Textdatei mit der Aufnahmezeit.

Edited by Boris Riter
Link to comment

@yard2

 

Vielen Dank für den Tipp. Aber das mit der Steckdose funktioniert auch super. Eine Taste auf dem Handy drücken und der PC fährt hoch... sogar aus G3 (mechanical off)

Link to comment

Hallo,

 

ich habe es tatsächlich zum Laufen bekommen, mit meinen bescheidenen Kenntnissen.
Also, falls jemand Interesse hat, einfach melden.

 

Gruß

 

    Boris

Link to comment

Da mein kleines Script auch Grundlage für andere Ideen in Zusammenhang mit DVBV sein könnte, stelle ich das hier mal zur allgemeinen Verfügung. Bitte nicht zu sehr lästern, ich bin nun mal nur Amateur ?

Spoiler



#SingleInstance Force
SetBatchLines, -1
SendMode, Input

;##################Vorbereitung########################
;Bios so einstellen, dass es nach Stromausfall wieder automatisch startet
;Autohotkey installieren
;In IFTTT drei Trigger erstellen:
;IF= Event im Google Kalender gefunden mit Betreff "DMS_Aufnahme" 
;THEN= Steckdose einschalten über das SmartHome System
;Entsprechend die Steckdose über "DMS_Shutdown" wieder ausschalten lassen
;Noch einen Trigger erstellen "Email to Google Calendar Event"
;DMS Opionen auf Shutdown nach Aufnahme einstellen 
;Dieses Script immer beim Shutdown ausführen (Windows Taskplaner)

;#####################Email Setup#######################
;am Besten eine Zweitadresse, da das PW unverschlüsselt gesendet wird (glaube ich)
fromaddress 	= "@gmail.com" 
toaddress 	= "trigger@applet.ifttt.com" 
bccaddress 	= "" 
CCaddress 	= "" 
Subject 	= "#cal" 
body 		= %bodyt%
attachment 	= "" 
smtpserver 	= "smtp.gmail.com" 
credentials 	= "@gmail.com", "Passwort"
;##############################################################




DownloadToString(url, encoding="utf-8")
{
  static a := "AutoHotkey/" A_AhkVersion
  if (!DllCall("LoadLibrary", "str", "wininet") || !(h := DllCall("wininet\InternetOpen", "str", a, "uint", 1, "ptr", 0, "ptr", 0, "uint", 0, "ptr")))
    return 0
  c := s := 0, o := ""
  if (f := DllCall("wininet\InternetOpenUrl", "ptr", h, "str", url, "ptr", 0, "uint", 0, "uint", 0x80000000, "ptr", 0, "ptr"))
  {
    while (DllCall("wininet\InternetQueryDataAvailable", "ptr", f, "uint*", s, "uint", 0, "ptr", 0) && s>0)
    {
      VarSetCapacity(b, s, 0)
      DllCall("wininet\InternetReadFile", "ptr", f, "ptr", &b, "uint", s, "uint*", r)
      o .= StrGet(&b, r>>(encoding="utf-16"||encoding="cp1200"), encoding)
    }
    DllCall("wininet\InternetCloseHandle", "ptr", f)
  }
  DllCall("wininet\InternetCloseHandle", "ptr", h)
  return o
}

;############ Timer auslesen #############
DMSAPI:=DownloadToString("http://localhost:8089//api/status2.html")
Pos1:=InStr(DMSAPI, "<nexttimer>")
Pos2:=Instr(DMSAPI, "/nexttimer>")
Pos1:=Pos1+11
Len:=Pos2-Pos1-1
NextTimer:=SubStr(DMSAPI, Pos1 , Len)

;############# Zeitpunkt für Einschalten der Steckdose errechnen ##########
NewTime := A_Now
EnvAdd, NewTime, +NextTimer, seconds
FormatTime,NewTime2,%NewTime%, 'Time:' hh:mm, 'Date:' yy/MM/dd
bodyt = % """" . NewTime2 . " DMS_Aufnahme"""


;############## Email an IFTTT Trigger schicken ################
;Der Trigger erstellt einen Eintrag "DMS_Aufnahme" im Google Kalender

FileDelete, email.ps1 
FileAppend, $message = new-object System.Net.Mail.MailMessage`n, email.ps1
FileAppend, $message.From = %fromaddress%`n, email.ps1
FileAppend, $message.To.Add(%toaddress%)`n, email.ps1 
FileAppend, $message.CC.Add(%CCaddress%)`n, email.ps1 
FileAppend, $message.Bcc.Add(%bccaddress%)`n, email.ps1 
FileAppend, $message.IsBodyHtml = $False`n, email.ps1 
FileAppend, $message.Subject = %Subject%`n, email.ps1 
FileAppend, $attach = new-object Net.Mail.Attachment(%attachment%)`n, email.ps1 
FileAppend, $message.Attachments.Add($attach)`n, email.ps1 
FileAppend, $message.body = %body%`n, email.ps1 
FileAppend, $smtp = new-object Net.Mail.SmtpClient(%smtpserver%`, 587)`n, email.ps1 
FileAppend, $smtp.EnableSsl = $True`n, email.ps1
FileAppend, $smtp.credentials = New-Object System.Net.NetworkCredential(%credentials%)`n, email.ps1
FileAppend, $smtp.Send($message)`n, email.ps1 

run, powershell.exe -ExecutionPolicy Bypass -File email.ps1
Sleep, 1000
FileDelete, email.ps1 

;############# Steckdose in 5 min. ausschalten ##################

NewTime := A_Now
EnvAdd, NewTime, 300, seconds ;Verzögerung eventuell anpassen
FormatTime,NewTime2,%NewTime%, 'Time:' hh:mm, 'Date:' yy/MM/dd
bodyt = % """" . NewTime2 . " DMS_Shutdown"""

;############## Email an IFTTT Trigger schicken ################
;Der Trigger erstellt einen Eintrag "DMS_Shutdown" im Google Kalender

;##################### Neuer Body Text für Email #######################
body 		= %bodyt%
;#######################################################################

FileAppend, $message = new-object System.Net.Mail.MailMessage`n, email.ps1
FileAppend, $message.From = %fromaddress%`n, email.ps1
FileAppend, $message.To.Add(%toaddress%)`n, email.ps1 
FileAppend, $message.CC.Add(%CCaddress%)`n, email.ps1 
FileAppend, $message.Bcc.Add(%bccaddress%)`n, email.ps1 
FileAppend, $message.IsBodyHtml = $False`n, email.ps1 
FileAppend, $message.Subject = %Subject%`n, email.ps1 
FileAppend, $attach = new-object Net.Mail.Attachment(%attachment%)`n, email.ps1 
FileAppend, $message.Attachments.Add($attach)`n, email.ps1 
FileAppend, $message.body = %body%`n, email.ps1 
FileAppend, $smtp = new-object Net.Mail.SmtpClient(%smtpserver%`, 587)`n, email.ps1 
FileAppend, $smtp.EnableSsl = $True`n, email.ps1
FileAppend, $smtp.credentials = New-Object System.Net.NetworkCredential(%credentials%)`n, email.ps1
FileAppend, $smtp.Send($message)`n, email.ps1 

run, powershell.exe -ExecutionPolicy Bypass -File email.ps1
Sleep, 1000
FileDelete, email.ps1 


 

 

Edited by Griga
Spoiler Tags ergänzt
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...