@wendy2702
Dann fang ich mal an.
Hab zwei verschiedene Modi (light/dark)
@wendy2702
Dann fang ich mal an.
Hab zwei verschiedene Modi (light/dark)
@funkytown
Sollte über die Dateien einbindbar sein
und dann mit der URL
http://<ip_iobroker>:8082/ical.0/entsorgungsdaten2025.ics
@walter-white
Falls Du es brauchen kannst anbei ein Blockly-Script zum Importieren mit dem ich automatisch für alle in der App erstellten Programme Datenpunkte für deren Aktivierung anlege.
vacuum.program.xml
Wenn ein neues Programm dazukommt einfach das Script neu starten.
@myzerat
Vielleicht wäre das hier ein Ansatz
Bei den Funktionen in den Objekten müsstest Du nur bei den einzelnen Datenpunkten "Batteriestatus" hinterlegen.
(nicht verwirren lassen, bei mir steht da 'Batteriestatus_Prozent' weil's eine manuell angelegte Aufzählung ist)
Bei neuen Geräten dann einfach die Funktion mit angeben, der Rest läuft automatisch.
In der Nachricht werden aber nur die Geräte gezählt. Die Gerätenamen werden nicht ausgegeben.
PS
Natürlich müssen die "Batterien" zuerst bei den Aufzählungen hinterlegt werden
Das hintere "+" auswählen
und dann "BATTERIESTATUS"
@basti17683
Was normalerweise funktionieren sollte wäre bei den Influx-Einstellungen unter Alias beim Datenpunkt die alte Bezeichnung des Measurements einzutragen:
Dann sollte eigentlich in der InfluxDB dort weitergeloggt werden.
Kann es sein dass deshalb enpfohglen wird mit Alias zu arbeiten?
Damit wär's eindeutig einfacher. Neuen DP verknüpfen und fertig.
@pmayer sagte in cod.m ZigBee Coordinator (PoE/non-PoE) - made in Germany:
Nimm dir mal bitte die
.ota.bin
von https://github.com/codm/czc-fw/releases/tag/v2.0.0 und mach das über File Update.
Hatte das gleiche kleine Problem. Mit dem manuellen Upload hat's aber einwandfrei geklappt. Und im Anschluss noch die Zigbee-Firmware auf 20240710 hochgezogen. Das hat ohne Probleme funktioniert.
@kusselin sagte in Was sagt mir mal wieder diese Fehlermeldung?:
Ist das im Link oben von Matthias alles genau beschrieben?
Schau auch mal hier:
https://forum.iobroker.net/post/1144683
Du musst den linken Block gegen den rechten austauschen. Dann sollte wieder alles passen.
Wenn Du mit der manuell angelegten Variable result
gearbeitet hast (für Rückgabewerte) dann diese noch durch die vordefinierte Variable Data
ersetzen.
@ofbeqnpolkkl6mby5e13 sagte in Hilfe für Javascript Legastheniker und js v8.3.x:
Welches Fazit wollen wir nun ziehen?
Matthias @haus-automatisierung hat hier zwischenzeitlich einen Upgrade-Guide erstellt.
https://forum.iobroker.net/topic/74659/request-package-is-deprecated-please-use-httpget/25
So schaut des Code in JS aus
var objID, term, term_old, objID_sum, term_sum, ObjectID, path_pre, search_room, value, txt_original, txt_search, txt_switch, part1, txt_result, function2, datapoint, part2, name2, txt_search_length, position, store, path_sum, list_rooms, list_lights, active_sum_all, i, list_lights_txt, count, j;
// Erstelle DP je Raum
async function create_dp_boolean(objID, term, term_old) {
if (!existsObject(objID)) {
createState(objID, false, {
read: true,
write: true,
name: term_old,
type: "boolean",
def: false
});
await wait(1000);
}
}
// Erstelle DP für aktive Geräte
async function create_dp_number_sum(objID_sum, term_sum) {
if (!existsObject(objID_sum)) {
createState(objID_sum, 0, {
type: 'number',
read: true,
write: true,
name: term_sum
});
await wait(1000);
}
}
// Finde Raumname
async function rooms_extract(ObjectID) {
let room = getObject(ObjectID, 'rooms').enumNames[0]; if(typeof room == 'string') return room; return room.de;
}
// Liefere Ergebnis Zustand je Raum
async function write_datapoint(path_pre, search_room, value) {
// Entferne Sonderzeichen
datapoint = await changeText(String(search_room), 'ä', 'ae');
datapoint = await changeText(String(txt_result), 'ö', 'oe');
datapoint = await changeText(String(txt_result), 'ü', 'ue');
datapoint = await changeText(String(txt_result), 'ß', 'ss');
datapoint = await changeText(String(txt_result), ' ', '_');
objID = [path_pre,'.',datapoint].join('');
await create_dp_boolean(objID, txt_result, search_room);
setStateDelayed(objID, value, true, parseInt(((0) || '').toString(), 10), false);
}
// Entferne Sonderzeichen
async function changeText(txt_original, txt_search, txt_switch) {
part1 = '';
part2 = '';
txt_result = txt_original;
txt_search_length = txt_search.length;
position = txt_result.indexOf(txt_search) + 1;
while (position > 0) {
// Wenn nicht erste Zeichen im Text!
if (position > 1) {
part1 = txt_result.slice(0, position - 1);
}
part2 = txt_result.slice(((position + txt_search_length) - 1), txt_result.length);
txt_result = [part1,txt_switch,part2].join('');
position = txt_result.indexOf(txt_search) + 1;
}
return txt_result;
}
// Script
// >>> Name wählen !!!
function2 = 'Licht';
// >>> Name eintragen!!!
name2 = 'aktive Lichter';
// Erstelle Datenpunkt für aktive Geräte
// >>> Speicherort unter 0_userdata. einstellen
store = '0_userdata.0.Datenpunkte.Widgets';
path_pre = [store,'.',function2].join('');
path_sum = String(path_pre) + '.Active';
await create_dp_number_sum(path_sum, name2);
setStateDelayed(path_sum, 0, true, parseInt(((0) || '').toString(), 10), false);
// Trigger
// >>> functions nach = anpassen !!!
on({ id: [].concat(Array.prototype.slice.apply($('state[id=*](functions=light)'))), change: 'ne' }, async (obj) => {
let value = obj.state.val;
let oldValue = obj.oldState.val;
console.log(name2);
list_rooms = [];
list_lights = [];
active_sum_all = 0;
// >>> functions nach = anpassen !!!
var i_list = Array.prototype.slice.apply($('state[id=*](functions=light)'));
for (var i_index in i_list) {
i = i_list[i_index];
list_rooms.push([await rooms_extract(i)]);
if (getState(i).val) {
list_lights.push([await rooms_extract(i)]);
active_sum_all = (typeof active_sum_all === 'number' ? active_sum_all : 0) + 1;
}
}
console.log(active_sum_all);
list_lights_txt = String(list_lights);
count = 0;
for (var j_index in list_rooms) {
j = list_rooms[j_index];
count = (typeof count === 'number' ? count : 0) + 1;
search_room = String(list_rooms[(count - 1)]);
if (list_lights_txt.indexOf(search_room) + 1 > 0) {
await write_datapoint(path_pre, search_room, true);
} else {
await write_datapoint(path_pre, search_room, false);
}
}
setStateDelayed(path_sum, active_sum_all, true, parseInt(((0) || '').toString(), 10), false);
});
@cocomp
Probier mal die Topics die Du beziehen willst einzutragen.
@samson71 sagte in Cloud Adapter wird alle paar Minuten beendet:
Die Probleme sollten eigentlich nicht mehr auftreten.
Bei mir läuft's wieder
Danke
@skippy07 sagte in Cloud Adapter wird alle paar Minuten beendet:
Wann (Uhrzeit) trat der Fehler bei Dir auf?
Erstmalig auffällig
2025-03-18 14:38:28.998 - info: cloud.0 (525) Connection changed: disconnect
2025-03-18 14:39:29.005 - info: cloud.0 (525) Trying to connect as system.user.admin to cloud
2025-03-18 14:39:30.224 - info: cloud.0 (525) Connection changed: connect
Erstmalig Error
2025-03-18 15:33:44.818 - error: cloud.0 (525) Error while connecting to cloud: Error: websocket error
@skippy07
Könnte evtl. ein Serverproblem bei Free (.net) sein
@skippy07
Hab bei mir das selbe Problem
@jan_xx sagte in Roborock S7 einen Raum reinigen:
Hallo, kann mir jemand sagen wie das Blockly aussehen muss wenn ich meinen Roborock einen bestimmten Raum reinigen lassen will?
So beispielsweise
Reagiert wird auf die Auswahl eines Raums. Kann sein, dass Du den Raum zuerst auf false und dann wieder auf true stellen musst. Die anderen Räume sollten dann alle auf false gestellt und nach einer Sekunde wird der Startbefehl gesendet.
Edit: Blockly geändert
@sepp
Da gibt's beim Adapter bereits ein offenes Issue
https://github.com/copystring/ioBroker.roborock/issues/789
Vielleicht kannst Du Dich da ja mit dranhängen, es fehlt dort scheinbar noch das nötige Debug-Log.
@leonundjulie sagte in Support Adapter Energiefluss-erweitert v0.6.2:
was trage ich für transparent ein?
Hier sind zwei Varianten verlinkt
https://forum.iobroker.net/post/1247456
1x über Tab, 1x über CSS
@gombersiob sagte in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Wieso stellt Sungrow sie nicht einfach auf Ihrer Dokumentendownloadseit allseits zur Verfügung?
Da haben wir absolut eine Meinung
Wäre gut wenn's da bessere (und vor allem offizielle) Infos geben würde.
So bleibt leider vieles bei Try&Error
Was mich wundert ist, dass ich, wie gesagt im ganzen letzten Jahr keine merkwürdigen Zahlen gesehen.
Vermutlich läuft Deine Anlage noch mit einem Firmwarestand < November 2024
Da geben die bisherigen Register ja passende Werte raus.
@maddm sagte in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Damit wird auf die Änderung des Running State (13000) reagiert.
Ok. Dann ist mir klar warum da kein Trigger zu finden war. Wobei sich der RunningState ja nicht häufig ändert, bei mir zuletzt vor über einer Stunde. Da würde ich eher auf einen anderen Wert (z.B. 13007 LoadPower) oder angelehnt an deinen Einstellungen für die Aktualisierungen im Modbus-Adapter per cron-Job triggern um die Datenpunkte unter 0_userdata.0 zu aktualisieren. Ich hab das bei mir z.B. alle 10 Sekunden eingestellt */10 * * * * *
.
Hat jetzt aber nichts mit Deinen Werten in modbus.0 zu tun.
Weshalb Du aber so große Abweichungen in der Gesamtsumme hast... keine Ahnung. Die werden ja direkt über Modbus geliefert und sind ja unabhängig von irgendwelchen Scripten. Bei mir sind die Werte zwar auch nie vollständig deckungsgleich, das weicht auch immer so ca. um Werte bis etwa 30W ab, warum bei Dir aber da regelmäßig Werte > 300W fehlen??? Sorry. Da kann ich Dir leider nicht weiterhelfen. Hoffentlich hat ja jemand anderes hierzu Ideen oder Erkenntnisse.
@gombersiob sagte in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:
Woher das kommt, dass das Register 13021 jetzt vorzeichenbehaftet sein soll, würde mich doch interessieren. Mein letztes Dokument über die Beschreibung der Register ist vom August 2023 (V1.1.2), da ist es noch unsigned. Habt Ihr dazu neuere Dokumentation.
Das hatte ich mal dazu gefunden. Die Änderung gibt's ab einer Firmware-Version 95.03 (Nov24). Die aktuellste Doku die es momentan gibt ist die 1.1.5 (Sep24). Dort ist die Anpassung noch nicht drin. Kommt drauf an, welche Firmware momentan läuft ob's mit oder ohne Vorzeichen ist.
Beide Informationen hier entdeckt https://github.com/evcc-io/evcc/issues/17461
Bei evcc ist die Änderung auch bereits ins Sungrow-Template mit int16
eingeflossen. Ebenso bei Homeassistant
Mehr Infos hab ich dazu aber leider auch nicht