Ich habe jetzt auch den Adapter getestet und funktioniert soweit einwandfrei.
Ich hoffe ich habe es hier nicht überlesen. Besteht die Möglichkeit, dass man die Beweung- bzw. Personenerkennung ein-/ausschalten über den Adapter?
Grüße
Ich habe jetzt auch den Adapter getestet und funktioniert soweit einwandfrei.
Ich hoffe ich habe es hier nicht überlesen. Besteht die Möglichkeit, dass man die Beweung- bzw. Personenerkennung ein-/ausschalten über den Adapter?
Grüße
@Jan1 Genau das Blocklyscript war das Problem. Vielen Dank für die Hilfe
@Yetiberg Geodaten habe ich eingetragen (wird auch in der Anzeige korrekt angezeigt). Das Skript habe ich jetzt gestoppt und mein Blockly nochmals geändert wie @Jan1 angemerkt hat. Ich schau mal ob es damit heute Abend funktioniert.
Hallo zusammen,
ich habe folgendes Script aus dem Forum hier:
cconst sec = false; // Sekunden darstellen oder nicht
const fC = false; // forceCreation ein/aus
const pfad = "Astro"; // Pfad zum Objekt - Objektbaum-Hauptverzeichnis
// *****************************************************************************
// TAGESZEITEN - T E I L
// Tageszeiten nach eigenem Gusto (Shifts siehe schedules weiter unten)
const tageszeiten = ["Nacht",
"Morgendämmerung",
"Sonnenaufgang",
"Morgen",
"Vormittag",
"Mittag",
"Nachmittag",
"Abend",
"Sonnenuntergang",
"Abenddämmerung"
];
const idTageszeit = "javascript." + instance + "." + pfad + ".Tageszeit.current" /*Tageszeit*/,
idTageszeitNext = "javascript." + instance + "." + pfad + ".Tageszeit.next";
createState(idTageszeit, "nächsten Wechsel abwarten", fC, {
name: "Tageszeit",
desc: "Name der Tageszeit",
type: "string"
});
createState(idTageszeitNext, "nächsten Wechsel abwarten", fC, {
name: "nächste Tageszeit",
desc: "Name der nächsten Tageszeit",
type: "string"
});
function neue_tageszeit(abschnitt) {
var akt = tageszeiten[parseInt(abschnitt, 10)],
// wenn aktuelles Element ist letztes, dann nächstes ist erstes :-D
nxt = (abschnitt + 1 === tageszeiten.length) ? tageszeiten[0] : tageszeiten[parseInt(abschnitt + 1, 10)];
setState(idTageszeit, akt);
setState(idTageszeitNext, nxt);
log("neue Tagezeit: " + akt);
log("nächste kommende Tagezeit: " + nxt);
}
// Nacht
schedule({
astro: "nauticalDusk",
shift: 45
}, function () {
neue_tageszeit(0);
});
// Morgengdämmerung
schedule({
astro: "nauticalDawn",
shift: -45
}, function () {
neue_tageszeit(1);
});
// Sonnenaufgang
schedule({
astro: "sunrise"
}, function() {
neue_tageszeit(2);
});
// Morgen
schedule({
astro: "sunriseEnd"
}, function () {
neue_tageszeit(3);
});
// Vormittag
schedule({
astro: "goldenHourEnd",
shift: 60
}, function () {
neue_tageszeit(4);
});
// Mittag
schedule({
astro: "solarNoon",
shift: -30
}, function () {
neue_tageszeit(5);
});
// Nachmittag
schedule({
astro: "solarNoon",
shift: 30
}, function () {
neue_tageszeit(6);
});
// Abend
schedule({
astro: "goldenHour",
shift: -60
}, function () {
neue_tageszeit(7);
});
// Sonnenuntergang
schedule({
astro: "sunsetStart",
}, function () {
neue_tageszeit(8);
});
// Abenddämmerung (nach Sonnenuntergang)
schedule({
astro: "sunset"
}, function () {
neue_tageszeit(9);
});
// *****************************************************************************
// A S T O - T E I L
/* Objekt Astrotag
Astrotag liegt zwischen Sonnauf- und untergang,
Astronacht liegt zwischen Sonnenunter- und aufgang */
const idAstrotag = "javascript." + instance + "." + pfad + ".Astrotag";
// Objekt für Uhrzeiten der Astrozeiten
const astrotime = {
"elements" : [
// Astrotag beginnt
{
"fname" : "sunrise", // function name
"de" : {
"name" : "Sonnenaufgang",
"nxt" : "nächster",
"desc" : ""
},
"en" : {
"name" : "Sunrise",
"desc" : "top edge of the sun appears on the horizon"
},
"astroday" : true //during astroday
},
{
"fname" : "sunriseEnd", // function name
"de" : {
"name" : "Ende Sonnenaufgang",
"nxt" : "nächstes",
"desc" : ""
},
"en" : {
"name" : "End of sunrise",
"desc" : "bottom edge of the sun touches the horizon"
},
"astroday" : true //during astroday
},
{
"fname" : "goldenHourEnd", // function name
"de" : {
"name" : "Ende der goldenen Stunde am Morgen",
"nxt" : "nächstes",
"desc" : ""
},
"en" : {
"name" : "End of golden hour",
"desc" : "morning golden hour (soft light, best time for photography) ends"
},
"astroday" : true //during astroday
},
{
"fname" : "solarNoon", // function name
"de" : {
"name" : "Sonnenhöchststand",
"nxt" : "nächster",
"desc" : ""
},
"en" : {
"name" : "Solar noon",
"desc" : "sun is in the highest position"
},
"astroday" : true //during astroday
},
{
"fname" : "goldenHour", // function name
"de" : {
"name" : "Goldene Stunde (am Abend)",
"nxt" : "nächste",
"desc" : ""
},
"en" : {
"name" : "Golden hour",
"desc" : "evening golden hour starts"
},
"astroday" : true //during astroday
},
{
"fname" : "sunsetStart", // function name
"de" : {
"name" : "Beginn Sonnenuntergang",
"nxt" : "nächster",
"desc" : ""
},
"en" : {
"name" : "Sunset starts",
"desc" : "bottom edge of the sun touches the horizon"
},
"astroday" : true //during astroday
},
// Astronacht beginnt
{
"fname" : "sunset", // function name
"de" : {
"name" : "Sonnenuntergang",
"nxt" : "nächster",
"desc" : ""
},
"en" : {
"name" : "Sunset",
"desc" : "sun disappears below the horizon, evening civil twilight starts"
},
"astroday" : false //during astronight
},
{
"fname" : "dusk",
"de" : {
"name" : "Abenddämmerung",
"nxt" : "nächste",
"desc" : ""
},
"en" : {
"name" : "Dusk",
"desc" : "evening nautical twilight starts"
},
"astroday" : false //during astronight
},
{
"fname" : "nauticalDusk",
"de" : {
"name" : "nautische Abenddämmerung",
"nxt" : "nächste",
"desc" : ""
},
"en" : {
"name" : "Nautical dusk",
"desc" : "evening astronomical twilight starts"
},
"astroday" : false //during astronight
},
{
"fname" : "nadir",
"de" : {
"name" : "Nadir",
"nxt" : "nächster",
"desc" : "Fußpunkt gegenüber dem Zenit"
},
"en" : {
"name" : "Nadir",
"desc" : "darkest moment of the night, sun is in the lowest position"
},
"astroday" : false //during astronight
},
{
"fname" : "nauticalDawn",
"de" : {
"name" : "nautische Morgendämmerung",
"nxt" : "nächste",
"desc" : ""
},
"en" : {
"name" : "Nautical dawn",
"desc" : "morning nautical twilight starts"
},
"astroday" : false //during astronight
},
{
"fname" : "dawn",
"de" : {
"name" : "Morgendämmerung",
"nxt" : "nächste",
"desc" : ""
},
"en" : {
"name" : "dawn",
"desc" : "morning nautical twilight ends, morning civil twilight starts"
},
"astroday" : false //during astronight
}
]
};
function writeAstroTimes(i) {
// führende Nummer zur Sortierung in Admin/Objekte
var nr = (i+1 < 10) ? "0" + (i+1) : (i+1);
// Erstelle Objekt, falls nicht bereits vorhanden
var idAstroObject = "javascript." + instance + "." + pfad + ".Zeiten." + nr + " - " + astrotime.elements[i].fname;
createState(idAstroObject, " ", fC, {
name: astrotime.elements[i].de.nxt + " " + astrotime.elements[i].de.name + " Uhrzeit",
desc: astrotime.elements[i].en.desc,
type: "string"
});
setTimeout(function() { // kurz warten, damit Objekte ggf. erst angelgt werden können
var astrotag = getState(idAstrotag).val,
temp;
var today = new Date();
var tomorrow = new Date(today.setDate(today.getDate()+1));
var next_event;
if (astrotag) {
// Wenn Tag (Aufgang vorbei (erst wieder morgen, Untergang kommt noch heute)
next_event = (astrotime.elements[i].astroday) ? tomorrow : today; // prüfen
} else {
// nach Nacht (Untergang vorbei (erst wieder morgen, Aufgang kommt heute oder morgen)
next_event = (astrotime.elements[i].astroday) ? today : tomorrow; // prüfen
}
var fname = astrotime.elements[i].fname;
temp = getAstroDate(fname, next_event);
setState(idAstroObject, checkSec(temp.toLocaleTimeString('de-DE', { hour12: false })) );
}, 3 * 1000);
}
// Zeit mit oder ohne Sekunden anzeigen
function checkSec (zeit) {
if (!sec) {
var newString_arr = zeit.split(":");
var newString = newString_arr[0] + ":" + newString_arr[1];
return (newString);
} else return (zeit);
}
function getAstroday() {
// Astrotag bestimmen (boolean)
createState(idAstrotag, false, fC, {
type: "boolean",
name: "Astrologischer Tag",
desc: "Liegt die aktuelle Zeit zwischen Sonnenauf- und untergang"
});
setState(idAstrotag, isAstroDay());
}
function iterateAstrotimes() {
// Zeiten für jede Astrozeit schreiben
for (var i = 0; i < astrotime.elements.length; i++) {
writeAstroTimes(i);
}
}
// Astrotag checken
schedule("*/1 * * * *", function () { // jede Minute
getAstroday();
iterateAstrotimes();
});
iterateAstrotimes();
getAstroday();
Dieses habe ich normal gestartet (grünes Pausensymbol wird angezeigt).
Dazu habe ich mir folgendes Blockly erstellt:
Allerdings passiert leider nichts. Die zugeordneten Zeiten für Dämmerung etc. stimmen z.B. auch nicht mit denen überein, welche ich über Google bekomme.
Was mache ich falsch?
Danke und Gruß
@Homoran
Ich habe gerade die Geräte beim HM-RPC Adapter neu eingelesen, jetzt scheint das Problem behoben zu sein. Es fahren jetzt alle runter bzw. hoch. Vielen Dank auf jeden Fall für die Unterstützung.
@Homoran anbei ohne aus-xen
hm-rpc.0 2019-12-13 08:50:30.130 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.QEQ0853652.1.LEVEL!
hm-rpc.0 2019-12-13 08:50:29.141 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.QEQ0853629.1.LEVEL!
hm-rpc.0 2019-12-13 08:50:28.127 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.QEQ0853526.1.LEVEL!
hm-rpc.0 2019-12-13 08:50:26.126 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.QEQ0852698.1.LEVEL!
hm-rpc.0 2019-12-13 08:50:25.125 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.QEQ0852671.1.LEVEL!
hm-rpc.0 2019-12-13 08:50:24.125 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.QEQ0852646.1.LEVEL!
hm-rpc.0 2019-12-13 08:49:51.528 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.QEQ0853652.1.LEVEL!
hm-rpc.0 2019-12-13 08:49:50.527 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.QEQ0853629.1.LEVEL!
hm-rpc.0 2019-12-13 08:49:49.526 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.QEQ0853526.1.LEVEL!
hm-rpc.0 2019-12-13 08:49:47.524 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.QEQ0852698.1.LEVEL!
hm-rpc.0 2019-12-13 08:49:46.523 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.QEQ0852671.1.LEVEL!
hm-rpc.0 2019-12-13 08:49:45.521 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.QEQ0852646.1.LEVEL!
MOD-Edit: Code erneut in Code-Tags gesetzt!
Im Log kommen die folgenden Fehler:
hm-rpc.0 2019-12-13 08:50:30.130 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.xxx.1.LEVEL!
hm-rpc.0 2019-12-13 08:50:29.141 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.xxx.1.LEVEL!
hm-rpc.0 2019-12-13 08:50:28.127 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.xxx.1.LEVEL!
hm-rpc.0 2019-12-13 08:50:26.126 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.xxx.1.LEVEL!
hm-rpc.0 2019-12-13 08:50:25.125 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.xxx.1.LEVEL!
hm-rpc.0 2019-12-13 08:50:24.125 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.xxx.1.LEVEL!
hm-rpc.0 2019-12-13 08:49:51.528 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.xxx.1.LEVEL!
hm-rpc.0 2019-12-13 08:49:50.527 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.xxx.1.LEVEL!
hm-rpc.0 2019-12-13 08:49:49.526 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.xxx.1.LEVEL!
hm-rpc.0 2019-12-13 08:49:47.524 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.xxx.1.LEVEL!
hm-rpc.0 2019-12-13 08:49:46.523 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.xxx.1.LEVEL!
hm-rpc.0 2019-12-13 08:49:45.521 error (3210) xmlrpc -> setValue: no dpType for hm-rpc.0.xxx.1.LEVEL!
Allerdings sind alle Rolläden meiner Meinung nach gleich angelegt.
MOD-Edit: Code in Code Tags gesetzt
@Homoran vielen Dank für die Hilfe. Hat leider nichts gebracht. Ich habe als erstes in den Einstellungen der Szene 1000ms bei Intervall zwischen den Befehlen eingestellt. Wieder nur einen Teil angesteuert:
Danach habe ich bei jedem Rolladen eine Verzögerung von 1000(ms?) eingetragen:
Leider wieder nur ein Teil angesteuert. Wie man in dem Bild sieht, stehen bei Wahr auch nicht überall der Wert 100 drin. Wenn ich die übrigen Rolladen dann separat einzeln hochfahre, steht bei Wahr eine 1 drin.
Hallo zusammen,
ich bin komplett neu und unerfahren in Sachen ioBroker und derzeit am Verzweifeln . Ich habe mir folgende Szene erstellt:
Mit der Szene möchte ich alle Rolläden hoch bzw. runter fahren. Führe ich die Szene aus, werden nur ein Teil (aktuell sind es glaube ich 4 Stück) herunter gefahren. Nachdem die Rolläden fertig gefahren sind wird allerdings bei allen Rolläden der Zustand 0 bzw. 100 angezeigt, obwohl der Großteil nicht gefahren wurde. In der Vis dazu werden ebenfalls alle mit 0 bzw. 100 angezeigt.
Jemand eine Ahnung warum die Szene nicht alle Rolläden ansteuert?
Danke und Grüße
Markus