wie hast du die Temp in °C umgerechnet bei mir zeigt er nur F an und /1.8+32 nimmt er natürlich im Faktor nicht
hmmm
wie hast du die Temp in °C umgerechnet bei mir zeigt er nur F an und /1.8+32 nimmt er natürlich im Faktor nicht
hmmm
@wolfi913
Vielen Dank. Das klappt. Super Start in die Woche. Dir wünsch ich auch viel Spaß und Erfolg. Ciao ciao
Servus zusammen,
kann mir jemand sagen wir man hier die Werte auslesen kann ohne den Timestamp? Ich würde gerne den Tagesnetzbezug berechnen lassen und ausgeben.
var Werte_Zeitraum, Liste, result, i, Netzbezug_Tagesanfang, Objekt, Netzbezug_Tagesende;
Werte_Zeitraum = [];
schedule("*/5 * * * * *", async () => {
getHistory('sql.1', {
id: '0_userdata.0.SmartMeter.Netzbezug' /* Netzbezug */,
start: /* start of day */ (() => { const d = new Date(); d.setHours(0, 0, 0, 0); return d.getTime(); })(),
end: /* end of day */ (() => { const d = new Date(); d.setHours(23, 59, 59, 999); return d.getTime(); })(),
aggregate: 'none',
removeBorderValues: true
}, async (err, result) => {
if (err) {
console.error(err);
} else {
Liste = result;
var i_end = Liste.length;
var i_inc = 1;
if (1 > i_end) {
i_inc = -i_inc;
}
for (i = 1; i_inc >= 0 ? i <= i_end : i >= i_end; i += i_inc) {
Objekt = Liste[(i - 1)];
Werte_Zeitraum.push([getAttr(Objekt, '_time'), getAttr(Objekt, 'val')]);
}
Netzbezug_Tagesanfang = Liste[0];
Netzbezug_Tagesende = Liste.slice(-1)[0];
console.log(Netzbezug_Tagesanfang);
console.log(Netzbezug_Tagesende);
console.log((Netzbezug_Tagesende - Netzbezug_Tagesanfang));
}
});
});
//JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIySGg5YU5YWkNSJTJDTiU1QmlTOCU1REV6JTI0dyUyMiUzRVdlcnRlX1plaXRyYXVtJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyenU3TyhFKG0lNUQlN0J0ZE8oUilUJTVFNFklMjIlM0VMaXN0ZSUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMlB4JTNEb24lNURLTEIlNUJsJTJDUSUyQlc4ZDR1JTNBJTIyJTNFcmVzdWx0JTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyaHpFKnQlM0ZzYUNuJTdDZWIqUHdFUzhjJTIyJTNFaSUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMnIlN0JkJTNETmtSayUzRiUyRmV2JTIzZ2k0XzliJTNCJTIyJTNFTmV0emJlenVnX1RhZ2VzYW5mYW5nJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyMV8oJTdDWjQlM0R6JTI1UyhKbXRDLTdmfmUlMjIlM0VPYmpla3QlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJ0YTQlMkJRX3Ixbl9KJTNCJTI1JTJDNjl1Y0tSJTIyJTNFTmV0emJlenVnX1RhZ2VzZW5kZSUzQyUyRnZhcmlhYmxlJTNFJTNDJTJGdmFyaWFibGVzJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyUSU1QnhfQ1RXY35GJTJDJTYwUiUyNWElM0IlNUIlNUR6VCUyMiUyMHglM0QlMjIxMzglMjIlMjB5JTNEJTIyMTEzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJIaDlhTlhaQ1IlMkNOJTVCaVM4JTVERXolMjR3JTIyJTNFV2VydGVfWmVpdHJhdW0lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybGlzdHNfY3JlYXRlX3dpdGglMjIlMjBpZCUzRCUyMkdoJTQwbDFSbCUyRiU1RWMxblkyLi4lMjMxJTVEdyUyMiUzRSUzQ211dGF0aW9uJTIwaXRlbXMlM0QlMjIwJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnNjaGVkdWxlJTIyJTIwaWQlM0QlMjJJeCU1RSUyNSlLcSU3QnQlNjBXQlN5WiU1RDZ3RlMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTQ0hFRFVMRSUyMiUzRSolMkY1JTIwKiUyMColMjAqJTIwKiUyMColM0MlMkZmaWVsZCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJzZW5kdG9fZ2V0aGlzdG9yeSUyMiUyMGlkJTNEJTIyTSU2MCUzRCU3QmZKLlQyKk4lNURxJTJDbiUyNSU1QjZ3LSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMklOU1RBTkNFJTIyJTNFc3FsLjElM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFHR1JFR0FURSUyMiUzRW5vbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNURVAlMjIlM0UwJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFbXMlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMiUyNCU1RUdaY0g0JTNCJTJGa0FpJTJCKmYlN0IlM0Z0cjIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0UwX3VzZXJkYXRhLjAuU21hcnRNZXRlci5OZXR6YmV6dWclM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyU1RBUlQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGltZV9nZXRfc3BlY2lhbCUyMiUyMGlkJTNEJTIyUXd3ZjVrQzl4JTI1TUFyM2lYUXdYdyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRZUEUlMjIlM0VkYXlTdGFydCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJFTkQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGltZV9nZXRfc3BlY2lhbCUyMiUyMGlkJTNEJTIycjc0JTJDMVVoJTI0QTB2JTNCVDdDTiUyRjZJLiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRZUEUlMjIlM0VkYXlFbmQlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiFoVmYlM0EyQ2JKTmNLSl9QJTNBeHo4NiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyenU3TyhFKG0lNUQlN0J0ZE8oUilUJTVFNFklMjIlM0VMaXN0ZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJabE9YVmlRYSUzQXJQV19PRWZwfjM5JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJQeCUzRG9uJTVES0xCJTVCbCUyQ1ElMkJXOGQ0dSUzQSUyMiUzRXJlc3VsdCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19mb3IlMjIlMjBpZCUzRCUyMjd2MylZckpWQnlnVnJJJTIzJTJCODZZISUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyaHpFKnQlM0ZzYUNuJTdDZWIqUHdFUzhjJTIyJTNFaSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyRlJPTSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyVCU3QyUzRmVyKCo1JTNBZXRxdmJna2dsVHolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRPJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjI0JTdEJTI1JTQwLU1FQ2g5dG1Ma3VwdEhfbiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTEwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsaXN0c19sZW5ndGglMjIlMjBpZCUzRCUyMiUyQ21pMnIxUGczRTcoJTdEdSU3QjhMQjBHJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjI0UjNJJTQwT2FaJTNGblVRUXRFfi4lNUUxTCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyenU3TyhFKG0lNUQlN0J0ZE8oUilUJTVFNFklMjIlM0VMaXN0ZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCWSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIydlclMjNCbSUyNSo0fmElM0IlNUVCViU1RCU1QiUyNGIlM0ZGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8lMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIlNUJ6ZSUyNGZhTlRTIXY4SyU3RFgpJTVEaiU3RGwlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMjFfKCU3Q1o0JTNEeiUyNVMoSm10Qy03Zn5lJTIyJTNFT2JqZWt0JTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxpc3RzX2dldEluZGV4JTIyJTIwaWQlM0QlMjJhU3UwJTYwVVFrVDAtJTVFVkJHYi5QM1UlMjIlM0UlM0NtdXRhdGlvbiUyMHN0YXRlbWVudCUzRCUyMmZhbHNlJTIyJTIwYXQlM0QlMjJ0cnVlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJNT0RFJTIyJTNFR0VUJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSEVSRSUyMiUzRUZST01fU1RBUlQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyOGRTX1p2MiUyNXpjRFRDVmIlM0RiVmF+JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJ6dTdPKEUobSU1RCU3QnRkTyhSKVQlNUU0WSUyMiUzRUxpc3RlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJZYiU3QkUlM0Y1WVNzJTI1LiU3QmUhaylNLlRqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJoekUqdCUzRnNhQ24lN0NlYipQd0VTOGMlMjIlM0VpJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsaXN0c19zZXRJbmRleCUyMiUyMGlkJTNEJTIydm1BX2UlN0JiMTFFQzlCMyU1RSU1QmlPVSU1RCUyMiUzRSUzQ211dGF0aW9uJTIwYXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTU9ERSUyMiUzRUlOU0VSVCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0hFUkUlMjIlM0VMQVNUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJMSVNUJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyeXg4ayU3Q3IlNDAlM0YheiUzRFElMkMqZSUyNVhibmUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMkhoOWFOWFpDUiUyQ04lNUJpUzglNURFeiUyNHclMjIlM0VXZXJ0ZV9aZWl0cmF1bSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRPJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybGlzdHNfY3JlYXRlX3dpdGglMjIlMjBpZCUzRCUyMiU1RTVSJTNEVihpKVUlN0RlNC5sSXhzJTJDJTNBJTNCJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjIlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfYXR0ciUyMiUyMGlkJTNEJTIydVUlMjVodCUyNFZYKUQpRWdzdyUyNUolNUVDVSUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlBBVEglMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyYVdXMyU3QnFGJTVFOTNQMiU3QyUyRnVBTElDMiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VfdGltZSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPQkpFQ1QlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJCWHhUODlqJTVFMGtYTUh5czEtUCUyM08lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMjFfKCU3Q1o0JTNEeiUyNVMoSm10Qy03Zn5lJTIyJTNFT2JqZWt0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfYXR0ciUyMiUyMGlkJTNEJTIyNlElNjAlM0FacjhHVTUlNUUlMjQzVGxiQWlObSUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlBBVEglMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyYlZtJTJGbHAlN0QlM0Z+eUYlM0FGRHdLUSUyMzZRJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPQkpFQ1QlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIwMkg2ZTN5ZkIhenElNjBiVGFFKEtKJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIxXyglN0NaNCUzRHolMjVTKEptdEMtN2Z+ZSUyMiUzRU9iamVrdCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyKHRCJTNCbEtKcGpRSSU3RGxCJTQwaW15JTJGWCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyciU3QmQlM0ROa1JrJTNGJTJGZXYlMjNnaTRfOWIlM0IlMjIlM0VOZXR6YmV6dWdfVGFnZXNhbmZhbmclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybGlzdHNfZ2V0SW5kZXglMjIlMjBpZCUzRCUyMmpNUFMlM0IlMkNWeCU3RC1fLiUyQlNuSTYlMjNORCUyMiUzRSUzQ211dGF0aW9uJTIwc3RhdGVtZW50JTNEJTIyZmFsc2UlMjIlMjBhdCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJNT0RFJTIyJTNFR0VUJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSEVSRSUyMiUzRUZJUlNUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMkdFbFY0fn4lNUJpaGJDQzVRQi1nJTVCJTVCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJ6dTdPKEUobSU1RCU3QnRkTyhSKVQlNUU0WSUyMiUzRUxpc3RlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJEJTYwJTNCJTNCdlklM0YlNDAlNUVOU0RnSV9+RGswQyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIydGE0JTJCUV9yMW5fSiUzQiUyNSUyQzY5dWNLUiUyMiUzRU5ldHpiZXp1Z19UYWdlc2VuZGUlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybGlzdHNfZ2V0SW5kZXglMjIlMjBpZCUzRCUyMmMlMjV0JTVCaDBfdyU3Q3NIUWdOWVglN0RnJTJCeSUyMiUzRSUzQ211dGF0aW9uJTIwc3RhdGVtZW50JTNEJTIyZmFsc2UlMjIlMjBhdCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJNT0RFJTIyJTNFR0VUJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSEVSRSUyMiUzRUxBU1QlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyMWpoXyUzRjEoVSUyNCp+NGZDNTBoajJsJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJ6dTdPKEUobSU1RCU3QnRkTyhSKVQlNUU0WSUyMiUzRUxpc3RlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyOEx+NTBOJTVEJTNEb0IlNUUlNDAlNUJ4MzZDZkJzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0Vsb2clM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTNBLSU1REsqdyUzQmNMSiUyNGl+QyU3Qy5VZGhCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXRlc3QlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMjMlN0NBXzJJJTI0RWVPJTNBLmJIKXFsajB2JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyJTdCZCUzRE5rUmslM0YlMkZldiUyM2dpNF85YiUzQiUyMiUzRU5ldHpiZXp1Z19UYWdlc2FuZmFuZyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyNlMxSFB5bkVLJTdDSG1Ddn5pJTYwTHR1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0Vsb2clM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyaTFJNU8lM0JwJTVFTVZ4JTNEVXklN0MydG4lMjUlM0QlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFdGVzdCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIycSUyRm0lNUJmZUFmdFMlMkNEJTNCLkslMkZ3ciUyQyklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnRhNCUyQlFfcjFuX0olM0IlMjUlMkM2OXVjS1IlMjIlM0VOZXR6YmV6dWdfVGFnZXNlbmRlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjIlMjNyMGlSblo3MykpVCh+JTVCJTNCZEhNWiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFbG9nJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMlM4UGclM0ElMjU1eUhraWdjYVFqc0hrNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0V0ZXN0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2FyaXRobWV0aWMlMjIlMjBpZCUzRCUyMkMlM0QwX3klMjNKWCUyRiUyMyU0MEpXRXFobU8lN0QlM0QlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRU1JTlVTJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJHbkQlM0RZTU9HN21kJTI1eiU3QlklMjVyaCU1Qk0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIqVGhxUzFNTmYwJTI0LSUzQjAlNjBreSUzQSUyQyU0MCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIydGE0JTJCUV9yMW5fSiUzQiUyNSUyQzY5dWNLUiUyMiUzRU5ldHpiZXp1Z19UYWdlc2VuZGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJjLlpXMWUlMjUlN0JnUCU1RVUlMkJGJTQwRyU3Q2tfWSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMlh5Mk5HKm8zbSU1QkNPLSUzQTlRSkdkJTdCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyJTdCZCUzRE5rUmslM0YlMkZldiUyM2dpNF85YiUzQiUyMiUzRU5ldHpiZXp1Z19UYWdlc2FuZmFuZyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U=
Schöne Grüße Shigoru
@foxthefox Das hab ich nicht gecheckt. Aber ja so läuft es schon. Perfekt! 1000 Dank
@foxthefox Ein kurzer Abfragezyklus wär super. Eine Verlängerung des Status ist unnötig. Ich würde über ein Skript schauen ob er einmal den Zustand ändert. Das würde schon genügen. Dann könnte ich einen zweiten Sensor einbauen ob die Frau die Post auch aus der versperrten Tür rausgeholt hat. Achja FW vom Kontakt ist aktuell auf 3.56 und Adapter auf 2.5.9. Wär super wenn du da was machen könntest. Danke Ciao Shigoru
@foxthefox Hallo, erstmal danke für den Adapter nutze ich für die Waschmaschine und den Trockner mit den DECT 200. Heute habe ich einen DECT 350 in Betrieb genommen. Der Device Name zeigt den eigentlichen Product Name an das nur nebenbei. Den DECT 350 habe ich nun im Postkasten verbaut um damit eine Meldung zu generieren wenn es neue Post gibt. Hatte dort bis jetzt einen Bewegungsmelder von HUE aber das funktioniert nicht einwandfrei. Die kurze Öffnungszeit wenn man einen Brief einwirft zeigt im Adapter auch Probleme (2-3sec) kann man da noch etwas machen? Oder ist das nur bei mir ein Problem? Schöne Grüße Shigoru
Es funktioniert bei mir nicht. Hmmm...
Hallo zusammen,
ich habe das Javascript importiert. Die Daten angepasst nur Name und Projekt
Da das Script die Datenpunkte unter javascript.0 gesperrt angelegt hat habe ich im Skript dann noch die Anlage der Variablen ausgetauscht. Der Code war auch in einem Post vorhanden
so schaut das Skript im Moment aus
/*******************************************************************************
* ---------------------------
* Pin-Schutz für VIS-View
* ---------------------------
* Autor: Mic
* Change Log
* - 0.2 - Fix: 0 on keypad was not recognized
* - 0.1 - initial version
* Support: https://forum.iobroker.net/viewtopic.php?f=30&t=19871
******************************************************************************/
/*******************************************************************************
* Konfiguration
******************************************************************************/
const STATE_PATH = 'javascript.' + instance + '.' + 'visViewPinSperre.';
const LOGGING = true; // Detaillierte Ausgabe im Log. Falls keine Probleme, dann auf false setzen.
/*******************************************************************************
* Konfiguration: Views
******************************************************************************/
// Es können beliebig mehr Views hinzugefügt oder auf eine limitiert werden, bitte aber Aufbau beibehalten!
const PIN_VIEWS = [
{
name: 'reboot', // Name der View, zu der bei Erfolg gewechselt werden soll
project: 'main', // VIS-Projekt, in dem die View ist, für den Viewwechsel bei Erfolg. Wert bekommt man u.a.: Vis -> Menü: Setup > Projekte (den Namen des jeweilgen Projektes nehmen)
instance: 'FFFFFFFF', // Funktioniert bei mir (und einigen anderen) immer mit 'FFFFFFFF', ansonsten Wert vom Vis, Menü Tools, Feld "Instanz ID" nehmen
pin: '1234', // Pin
},
{
name: 'Test',
project: 'Testprojekt',
instance: 'FFFFFFFF',
pin: '5678',
},
];
/**********************************************************************************************************
++++++++++++++++++++++++++++ Ab hier nichts mehr ändern / Stop editing here! ++++++++++++++++++++++++++++
*********************************************************************************************************/
/*******************************************************************************
* Globale Variablen
*******************************************************************************/
// Array, pro View ein Element
var G_LastKeyPressed = []; // Letzte Taste, die gedrückt wurde
var G_PinBufferKeys = []; // Puffer für eingegebene Ziffern
var G_PinBufferWildcards = []; // Für Vis-Anzeigefeld der Pineingabe, füllt sich mit "*" nach jeder Zifferneingabe
/*******************************************************************************
* Executed on every script start.
*******************************************************************************/
init();
function init() {
// Create states
createScriptStates();
// 1. Initialize global variables
// 2. Reset for each view
setTimeout(function(){
for (let i = 0; i < PIN_VIEWS.length; i++) {
// Initialize global variables
G_LastKeyPressed[PIN_VIEWS[i].name] = '';
G_PinBufferKeys[PIN_VIEWS[i].name] = '';
G_PinBufferWildcards[PIN_VIEWS[i].name] = '';
// Reset für jede View durchführen
resetPin(PIN_VIEWS[i].name)
}
}, 3000);
// Main Script starten, 5 Sekunden nach State-Generierung
setTimeout(main, 5000);
}
/*******************************************************************************
* Haupt-Skript
*******************************************************************************/
function main() {
// Überwacht das Tastenfeld in VIS für jede View
for (var i = 0; i < PIN_VIEWS.length; i++) {
on({id: STATE_PATH + PIN_VIEWS[i].name + '.CurrentKey', change: "any"}, function (obj) {
var currView = obj.id.substr(STATE_PATH.length).split(".")[0]; // get View Name simply from obj.id
if(LOGGING) if(obj.state.val !== '') log('Eingabe über Tastenfeld: ' + obj.state.val + ', Viewname: ' + currView);
switch(obj.state.val) {
case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:
G_LastKeyPressed[currView] = obj.state.val;
setState(obj.id, '');
userEnteredNumber(currView);
break;
case 'Enter': // Der User hat die Pin-Eingabe bestätigt.
checkEnteredPin(currView);
break;
case 'Reset':
resetPin(currView);
break;
default:
//None
}
});
}
}
/********************************
* Create States
********************************/
function createScriptStates() {
for (let i = 0; i < PIN_VIEWS.length; i++) {
createState(STATE_PATH + PIN_VIEWS[i].name + '.CurrentKey', {'name':'Mit Tasten aus VIS setzen', 'type':'mixed', 'read':true, 'write':true, 'role':'info', 'def':'' });
createState(STATE_PATH + PIN_VIEWS[i].name + '.WrongPinEntered', {'name':'Pin-Fehler', 'type':'boolean', 'read':true, 'write':true, 'role':'info'});
createState(STATE_PATH + PIN_VIEWS[i].name + '.PinWildcards', {'name':'Sterne (*) für VIS-Anzeige', 'type':'string', 'read':true, 'write':true, 'role':'info', 'def':'' });
}
}
/********************************
* Wird ausgeführt, sobald der User eine Nummer im Tastenfeld eingibt.
* @param {string} viewName Name der View
*********************************/
function userEnteredNumber(viewName) {
G_PinBufferKeys[viewName] = G_PinBufferKeys[viewName] + G_LastKeyPressed[viewName];
G_PinBufferWildcards[viewName] = G_PinBufferWildcards[viewName] + ' *';
setState(STATE_PATH + viewName + '.PinWildcards', G_PinBufferWildcards[viewName]);
}
/********************************
* Wird ausgeführt, sobald der User E für "Enter" eingibt
* @param {string} viewName Name der View
********************************/
function checkEnteredPin(viewName) {
if (G_PinBufferKeys[viewName] == getPresetElement(viewName, 'pin')) {
if(LOGGING) log('Pin-Eingabe erfolgreich, View [' + viewName + ']');
onSuccess(viewName);
setTimeout(function() { resetPin(viewName) }, 3000); // Reset nach 3 Sekunden
} else {
if(LOGGING) log('Falschen Pin eingegeben, View [' + viewName + ']');
setState(STATE_PATH + viewName + '.WrongPinEntered', true);
resetPin(viewName);
}
}
/********************************
* Reset
* @param {string} viewName Name der View
********************************/
function resetPin(viewName) {
if(LOGGING) log('Reset Pin, View-Name: [' + viewName + ']');
G_PinBufferWildcards[viewName] = '';
G_PinBufferKeys[viewName] = '';
setState(STATE_PATH + viewName + '.CurrentKey', '');
setState(STATE_PATH + viewName + '.PinWildcards', '');
setStateDelayed(STATE_PATH + viewName + '.WrongPinEntered', false, 3000); // Erst nach 3 Sekunden, für VIS-Anzeige
}
/********************************
* Wird bei erfolgreicher Pin-Eingabe ausgeführt
* @param {string} viewName Name der View
********************************/
function onSuccess(viewName){
// Change View
setState("vis-2.0.control.instance", getPresetElement(viewName, 'instance'));
setState("vis-2.0.control.data", getPresetElement(viewName, 'project') + '/' + viewName);
setState("vis-2.0.control.command", 'changeView');
}
/********************************
* Gibt Elemente von PIN_VIEWS zurück
* @param {string} viewName Name of the view
* @param {string} key 'project', 'instance', 'pin'
* @return {string} Content of the element, e.g. the Pin "1234" for element 'pin'
********************************/
function getPresetElement(viewName, key) {
var keyEntry = '';
for (let i = 0; i < PIN_VIEWS.length; i++) {
if (PIN_VIEWS[i].name === viewName) {
keyEntry = PIN_VIEWS[i][key]
}
}
return keyEntry;
}
ich habe die Widgets importiert und die Buttons mit dem Javascript verbunden
Wenn ich jetzt in der Vis auf die Buttons drücke passiert nix!?
Es werden auch keine Zahlen in die Werfelder des Objekts Current key geschrieben!
Was mache ich falsch!?
Ich benutzte die vis-2 darum hätte ich den Teil in dem Skript von vis auf vis-2 geändert. Hoffe das stimmt.
function onSuccess(viewName){
// Change View
setState("vis-2.0.control.instance", getPresetElement(viewName, 'instance'));
setState("vis-2.0.control.data", getPresetElement(viewName, 'project') + '/' + viewName);
setState("vis-2.0.control.command", 'changeView');
}
Jede Hilfe ist willkommen. Danke und guten Rutsch nachträglich
Shigoru
Vis-2 border-radius Fehler Basic Bar, blub, string img src, justgage
Hallo und gutes Neues zusammen,
leider wird meine Visu durch einen Fehler beim border-radius zerstört. Dies betrifft sowohl Basic Bar, Basic bulb on off und leider auch die Basic string img src
Damit man sich das vorstellen kann. Ein bild sagt mehr als 1000 Worte...
Die Senderlogos ins blub on off. Hier gehen alle Ecken nicht
Bei den Bildern Allgemein gehen auch alle 4 Ecken nicht. Ich denke das kann sich jeder vorstellen hier nur die Einstellung
Bei der Basic bar ist es schon interessanter dort geht nur die linke Seite nicht
Also hier meine Systemdaten. Falls ich was vergessen habe anzugeben bitte sagen!
Bei dem justgage widget ist es leider auch nicht Einstellbar einen Radius zu bekommen. Wahrscheinlich eher ein Feature Request als...
Hier mal mit Anzeige
So die Ecken abgerundet wäre super
Tja man sieht das es leider nicht schon geworden ist.
Jede Hilfe ist willkommen weil das schaut leider grauenhaft aus.
Danke
Ciao Shigoru
@oliverio said in Zeilenumbruch bei langen Dateinamen funktioniert nicht:
<div style="white-space: nowrap;text-overflow:ellipsis;overflow: hidden;">{sonos.0.root.10_0_0_172.current_title}</div>
Hey super 1000dank. Das funktioniert einwandfrei. Ja das mit der Syntax da war ich wohl total daneben
Guten Rutsch und Gesundheit für 2024... Shigoru
@oliverio Interessant finde ich das Thema mit dem Javascript ellipsis. Das wäre Perfekt wenn er Abkürzen würde und hinten ... machen
Ich habe ein Basic HTML verwendet mit dem sollte das ja gehen. Leider bin ich bei der Syntax nicht ganz so fit.
{titel:sonos.0.root.10_0_0_172.current_title; text-overflow ellipsis width 200px : title}
Kannst du mir hier ev aus der Patsche helfen?
Ciao ciao Shigoru
@ubecker Hallo Udo, danke für den Tipp leider sehe ich bei einer Umleitung über einen Alias keine Veränderung. Der Namen ist immer noch gleich lang. Ciao Shigoru