Lange Zeit im Bereich IT als Systemadministrator und später als IT-Leiter gearbeitet, aber jetzt als Rentner im wohlverdienten Ruhestand. :-)
SmartHome und IoBroker sind einfach nur ein tolles Hobby, dem ich mich jeden Tag aufs neue, mit Begeisterung widme.
Am meisten Spaß macht mir Blockly und irgendwann werde ich es auch wirklich begreifen. Das heißt, das ich viele Blocklys gebaut habe, aber viele davon bestimmt zu umständlich sind, aber sie funktionieren. Ich lerne ja auch jeden Tag dazu.
Alter Schwede, manchmal ist man einfach zu blöd . Du hast recht, ich hatte nur Websocket und von socket.io keine Instanz installiert. Hab also die Instanz hinzugefügt, den Port angepasst und schon funktioniert es.
Moin, ich hatte gestern eine ähnliche Situation und da fiel mir das Video von Matthias Kleine wieder ein. Sieh es dir mal an, schätze das du dein Problem dann lösen kannst. Zeitdifferenzen formatieren im ioBroker: https://www.youtube.com/watch?v=sxkz3O6nfFQ&t=407s
ist alles gut. Die Datensätze werden sortiert und in den neuen Datenpunkt geschrieben.
Dann habe ich die Datensätze durch die Variable ersetzt:
const sourceObject = 'device-watcher.0.devices.hmrpc.listAll';
const targetObject = '0_userdata.0.Datenpunkte_VIS.HM_ListAll_Sortiert';
// JSON-Objekt mit den Geräteinformationen
const deviceListe = JSON.parse(getState(sourceObject).val);
// Nach dem "Device"-Namen sortieren
deviceListe.sort((a, b) => {
const deviceA = a.Device.toUpperCase();
const deviceB = b.Device.toUpperCase();
if (deviceA < deviceB) {
return -1;
}
if (deviceA > deviceB) {
return 1;
}
return 0;
});
// Sortierte Geräteliste in das Zielobjekt schreiben
setState(targetObject, JSON.stringify(deviceListe));
console.log('Sortierte Geräteliste wurde in ' + targetObject + ' geschrieben.');
Da bekomme ich Fehler zurück, also das Script angepasst und Fehler ausspucken lassen.
Dann bekomme ich den Fehler zurück, das er das nicht parsen kann.
const sourceObject = 'device-watcher.0.devices.hmrpc.listAll';
const targetObject = '0_userdata.0.Datenpunkte_VIS.HM_ListAll_Sortiert';
// JSON-Objekt mit den Geräteinformationen
let deviceListe;
try {
deviceListe = JSON.parse(getState(objectName).val);
} catch (error) {
console.error('Fehler beim Parsen des JSON-Objekts:', error);
return;
}
// Nach dem "Device"-Namen sortieren
deviceListe.sort((a, b) => {
const deviceA = a.Device.toUpperCase();
const deviceB = b.Device.toUpperCase();
if (deviceA < deviceB) {
return -1;
}
if (deviceA > deviceB) {
return 1;
}
return 0;
});
// Sortierte Geräteliste in das Zielobjekt schreiben
setState(targetObject, JSON.stringify(deviceListe));
console.log('Sortierte Geräteliste wurde in ' + targetObject + ' geschrieben.');
Fehlermeldung:
06:14:32.944 error javascript.0 (2196) script.js.Test_Scripte.HM_Script_sortieren_3: Fehler beim Parsen des JSON-Objekts:
06:14:32.944 info javascript.0 (2196) script.js.Test_Scripte.HM_Script_sortieren_3: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
06:14:54.361 info javascript.0 (2196) Stop script script.js.Test_Scripte.HM_Script_sortieren_3
Wie schon gesagt, ich hab keine Ahnung vom Srcipten und alles was ich gemacht habe, ist aus dem Netz. Laut Netzt soll ich überprüfen ob das zu lesende Objekt ein gültiges JSON Format ist. Aus meiner Sicht ist das so, aber ich hab keine Ahnung wie ich das jetzt prüfen soll und wo ich suchen soll
@dslraser
Die Fehlermeldung kam auch nur, wenn man das Blockly zum Bearbeiten öffnen wollte. Nach dem Öffnen einmal irgendwas im Blockly anklicken und man musste speichern, obwohl man nichts geändert hatte. Das liegt aber an irgendeinem Update und war bei allen meinen Blocklys der Fall.
Ich habe jetzt gerade die VM mal neu gestartet und im Moment ist es wieder schneller, so 20 bis 30 Sekunden. Das sind ja richtig "große" (Export 38.725 Zeilen) Blocklys und die muss ich auch nicht regelmäßig anpassen, also passt das schon mit der Zeit.
Wenn ich per Telegram "Fenster" an den IOB schicke, kommt sofort die Antwort und das ist das Wichtigste. Es funktioniert also wie gewünscht.
Okay, noch mal den IoBroker beendet. Wieder mit GParted gestartet um die Swap zu löschen und dann zu erweitern und diesmal wird mir das angezeigt:
Ich habe keinen blassen Schimmer, warum die Swap nun am Ende liegt, aber so konnte ich jetzt die sda1 vergrößern.
Wenn ich nicht vorher einen Screenshot gemacht hätte, würde ich es nicht glauben. Finde das echt merkwürdig.
@ofbeqnpolkkl6mby5e13
Deine Idee sieht sehr gut aus. Habe zum Testen ein kleines Blockly mit einer Funktion erstellt und darüber kann ich den Alias ändern. Das funktioniert schon mal. Jetzt werde ich morgen mal testen, ob das auch in der View den State des Widgets ändert, also ob mir angezeigt wird der DP an oder aus ist. Wenn das auch noch klappt, dann wäre das genial
@xenon Das sieht schon besser aus. Die Messenger Einstellungen wurden richtig erkannt und ich kann die einzelnen Messenger auch konfigurieren.
Bei meinem Testalias Datenpunkt wurde die Konfiguration beibehalten und ich kann die Benachrichtigung auswählen.
Ich kann allerdings keine Testnachricht versenden. Habe Alexa und Telegram getestet. Oder geht das noch nicht?
@JoJo58 Hab die Lösung. Du musst CUxD neu installlieren und dann untrer "Einstellungen" und "CUx-Deamon" in den CUxD-Einstellungen "Geräte" alle CUxD-Geräte von der CCU löschen.
Dann erst CUxD wieder deinstallieren.
Dann ist der Fehler weg und die Namen tauchen im ioBroker wieder auf.
@wendy2702 Es ist inzwischen gesichert, dass das Problem auf der CCU3 auftritt, aber danke.
Ich habe dein geändertes Script für die Devices mal auf der CCU3 getestet, das läuft dann durch. Wie du schon gesagt hast, definitiv CCU. Ich habe CuXD allerdings schon vor Monaten runtergeworfen. und habe, außer "Programmedrucken" keine Zusatzsoftware installiert.
@wendy2702
Das sind ja im Grunde die Einstellungen die ich hatte.
@bahnuhr
Ich habe ja Gott sei dank ein Testsystem und habe dort NUR hm-rega.0 und NUR die hm-rpc.1 für HM IP Geräte so eingestellt, wie du vorgeschlagen hast, alles andere deaktiviert, keine weitere Instanz, kein Duty Cycle, keine normalen HM, keine Räume, nichts. Es bleibt bei dem Fehler. Schade, aber es hätte ja sein können...
hm-rpc.0
Angaben nicht geliefert !
Seite fehlt !
Warum ?
Ich vermute, dass dies auch nicht korrekt eingestellt ist.
Von den Instanzen 0 und 3 habe ich nichts gepostet, weil die funktionieren .
Ich habe die Einstellungen jetzt angepasst und musste bei hm-rpc.1 auch noch das https rausnehmen. Dann die Geräte neu eingelesen und der Fehler ist der Gleiche, nur die Nummern und im Protokoll die gleiche Meldung:
Sorry, hatte deinen Post überlesen. Ich habe jetzt 25 HM IP Geräte und das wäre schon krass, wenn das zu viel ist. Oder Zählen die ganzen Kanäle der CCU3 auch zu den IP Geräten? Beim Einlesen kommt da irgendwas mit 263 Geräte oder so.
Ich habe eine Steckdose HmIP-PSM-2 angelernt. Und das mit dem umbenennen habe ich auch getestet, wie bei dir ohne Erfolg.
Ich glaube, das hier ist die Funktion, die die Namen abruft und die passt so. Ich habe keine Ahnung von Programmieren, aber ich habe die durch KI geprüft. Da antwortet die CCU3 nicht wie gewohnt und man kann auch sehen, an welcher Stelle der Funktion abgebrochen wird.
Ich habe auch keine Ahnung von Github, sonst würde ich den Entwickler fragen, ob der eine Idee hat.
Okay, ich kann dir gerne die ganzen Screenshots machen, aber es liegt nicht an den Einstellungen. Die hm-rps.0 Instanz liest die Geräte ja alle ein, nur die Namen werden nicht ausgelesen und es wurden keine Einstellungen geändert.
Gib mit ne halbe Stunde, dann poste ich hier die Screenshots.