NEWS
Hilfe bei - Vis Zeitsteuerung ( JS o. Blocky )
-
Frage wie kann ich es bewerkstelligen das ich ein Menü habe wo ich über das VIS Timer setze von wann bis wann Schlater ein/aus ist Automatisch.
Und es einfach zu erklären ich würde gerne eine Art TV Aufnahme Zeitsteuerung haben. Habe auch einen Enigma Receiver VU+ falls man das vielleicht Koppeln kann. Sprich er soll einfach 5 min vor der Aufnahme Schalter ein und 10 min nach der Aufnahme nach dem Shutdown Aus.
Ist sowas mit Vis ( Blocky ) möglich.
Habe im Forum nach so etwas gesucht aber leider nichts gefunden.
Falls es nur manuell geht muss es später so einfach sein das auch meine Frau damit umgehen kann ;). *Sieh hast die Technik jetzt schon.
Ich danke im voraus für Ideen / Antworten / oder verlinken was ich nicht gefunden habe. Danke
-
Schau mal hier ( topic ist wirklich nicht eingängig, hat sich aber glsube ich zu dem entwickelt, was du suchst):
http://forum.iobroker.net/viewtopic.php … 4&start=20
Da gibts eine Zeitschaltung von pix und eine von mir.
Hier eins der Skripte
! ````
// ##########
// Skript für Ace-K zum Schalten einer Steckdose zwischen zu zwei definierten Zeitpunkten. Steuerbar über Vis
// Dank an paul53 für das Schedule Skript
// v 0.2, stable, tempestas, 28.11.2017
! var force = true; // erzwingt bei Neustart des Skript Anlegen der States mti den nachfolgend definierten Werten
! // States anlegen
! createState('Zeitschaltung.Steckdose1.Aktiv', false);
! createState('Zeitschaltung.Steckdose1.Start.Stunde',12, force, {
name: 'Startstunde ',
type: 'number',
min: '0',
max: '23',
});
! createState('Zeitschaltung.Steckdose1.Start.Minute',0, force, {
name: 'Startminute ',
type: 'number',
min: '0',
max: '59',
});
! createState('Zeitschaltung.Steckdose1.Start.MinuteString',"00", force, { // String für Anzeige in VIS; wird via function an numerischen Wert angeglichen
name: 'Startminute ',
type: 'string',
! });
! createState('Zeitschaltung.Steckdose1.Start.Zeit',"12:00", force, { // String der Startzeit
name: 'Startzeit ',
type: 'string',
! });
! createState('Zeitschaltung.Steckdose1.Ende.Stunde',13, force, {
name: 'Endstunde ',
type: 'number',
min: '0',
max: '23',
});
! createState('Zeitschaltung.Steckdose1.Ende.Minute',0, force, {
name: 'Endminute ',
type: 'number',
min: '00',
max: '59',
});
! createState('Zeitschaltung.Steckdose1.Ende.MinuteString','00', force, { // String für Anzeige in VIS; wird via function an numerischen Wert angeglichen
name: 'Endminute ',
type: 'string',
min: '00',
max: '59',
});
! createState('Zeitschaltung.Steckdose1.Ende.Zeit',"13:00", force, { // String der Endzeit
name: 'Endzeit ',
type: 'string',
! });
! // ##############################################################################################################
// ### Functions zur Anpassung der Minuten Strings an die numerischen Werte sowie Anpassung Gesamtzeit Strings ##
// ##############################################################################################################
! var idAktiv = 'javascript.1.Zeitschaltung.Steckdose1.Aktiv';
! var idMinStart = 'javascript.1.Zeitschaltung.Steckdose1.Start.Minute' ;
var idStdStart = 'javascript.1.Zeitschaltung.Steckdose1.Start.Stunde' ;
var idMinStartString = 'javascript.1.Zeitschaltung.Steckdose1.Start.MinuteString';
var idStartzeit = 'javascript.1.Zeitschaltung.Steckdose1.Start.Zeit';
! var idMinEnd = 'javascript.1.Zeitschaltung.Steckdose1.Ende.Minute';
var idStdEnd = 'javascript.1.Zeitschaltung.Steckdose1.Ende.Stunde';
var idMinEndString = 'javascript.1.Zeitschaltung.Steckdose1.Ende.MinuteString';
var idEndzeit = 'javascript.1.Zeitschaltung.Steckdose1.Ende.Zeit';
! // Bei Änderung Minuten Startzeit
on(idMinStart, function() {
var minuten = getState(idMinStart).val;
var minutenString = "";
if(minuten < 10) {
minutenString = '0' +minuten;
}
else minutenString = minuten.toString();
! setState(idMinStartString, minutenString); // Anpassen der Minutenvar stunde = getState(idStdStart).val; // Auslesen Stunde setState(idStartzeit, stunde + ':' + minutenString); // Einsetzen Stunde und Minute in Startzeit-String
! });
! // Bei Änderung Minuten Endzeit
on(idMinEnd, function() {
var minuten = getState(idMinEnd).val;
var minutenString = "";
if(minuten < 10) {
minutenString = '0' +minuten;
}
else minutenString = minuten.toString();setState(idMinEndString, minutenString);
! var stunde = getState(idStdEnd).val; // Auslesen Stunde
setState(idEndzeit, stunde + ':' + minutenString); // Einsetzen Stunde und Minute in Endzeit-String
!
});
! // Bei Änderung Stunde Startzeit
on(idStdStart, function() {var minutenString = getState(idMinStartString).val; var stunde = getState(idStdStart).val; setState(idStartzeit, stunde + ':' + minutenString);
! });
! // Bei Änderung Stunde Endzeit
on(idStdEnd, function() {var minutenString = getState(idMinEndString).val; var stunde = getState(idStdEnd).val; // Auslesen Stunde setState(idEndzeit, stunde + ':' + minutenString); // Einsetzen Stunde und Minute in Endzeit-String
! });
! // ##################################################################################################
// VARIABLEN UND IDS DEFINIEREN
// ##################################################################################################
! // STARTZEIT TRIGGER (SCHEDULE)
! var einschalten = getState(idStartzeit).val.split(':'); // erstmaliges einlesen der Startzeit, aufteilen in Stunden und Minuten
! var timerEinschalten = schedule(einschalten[1] + ' ' + einschalten[0] + ' * * 0-6', fEinschalten); // initiales Festlegen des Start-Zeitpunkts
! on(idStartzeit, function(dp) { // Triggern bei Änderung des Startzeit-Strings
einschalten= dp.state.val.split(':');
clearSchedule(timerEinschalten); // altes Schedule löschen
timerEinschalten = schedule(einschalten[1] + ' ' + einschalten[0] + ' * * 0-6', fEinschalten);
});
! // ENDZEIT TRIGGER ( SCHEDULE)
! var ausschalten= getState(idEndzeit).val.split(':'); // erstmaliges einlesen der Endzeit, aufteilen in Stunden und Minuten
! var timerAusschalten= schedule(ausschalten[1] + ' ' + ausschalten[0] + ' * * 0-6', fAusschalten); // initiales Festlegen des Endzeitpunkts
! on(idEndzeit, function(dp) { // Triggern bei Änderung des Endzeit-Strings
ausschalten= dp.state.val.split(':');
clearSchedule(timerAusschalten); // altes Schedule löschen
timerAusschalten = schedule(ausschalten[1] + ' ' + ausschalten[0] + ' * * 0-6', fAusschalten);
log(ausschalten[1] + " " + ausschalten[0]);
! });
! // Functions
! function fAusschalten(){
// setState("hm-rpc.1.00021569960FFB.3.STATE"/Kamera_Wohnzimmer_Steckdose:3.STATE/, false); // nur, wenn die Automatik eingeschaltet ist wird die Steckdose geschaltet
log("Steckdose wurde ausgeschaltet");}
function fEinschalten(){
// setState( "hm-rpc.1.00021569960FFB.3.STATE"/Kamera_Wohnzimmer_Steckdose:3.STATE/, true); // nur, wenn die Automatik eingeschaltet ist wird die Steckdose geschaltet
log("Steckdose wurde eingeschaltet");}
! ````