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");}
! ````
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden