Skip to content

NEWS

  • zwave - Beta ioBroker.zwavews

    Tester
    150
    5
    6 Stimmen
    150 Beiträge
    3k Aufrufe
    arteckA
    @Kopterframe sagte in zwave - Beta ioBroker.zwavews: Zwave JS UI und ZwaveWS sind ja zweierlei Sachen oder ? ja das ein adapter ZwaveWS der die Daten bekommt aus Zwave JS UI
  • In VIS nach verwaisten Datenpunkten suchen?

    Visualisierung
    10
    0 Stimmen
    10 Beiträge
    158 Aufrufe
    arteckA
    @Meintre-0 sagte in In VIS nach verwaisten Datenpunkten suchen?: Gibt es eine Möchlichkeit Datenpunkte anzuzeigen nö
  • Iobroker backitup error.. Wo liegt das problem

    ioBroker Allgemein
    194
    0 Stimmen
    194 Beiträge
    25k Aufrufe
    Thomas BraunT
    @SpeedyBlade Ich hab es jetzt mal auf Standard umgestellt. [image: 1773592826815-de63d1a7-e4e5-4607-ace6-81b46f77c787-grafik.png] 17:35:37.093 INFO gui Backup gestartet ... 17:35:37.210 DEBUG mount mount activ... umount is started before mount!! 17:35:37.250 DEBUG mount umount successfully completed 17:35:47.304 DEBUG mount mount successfully completed 17:35:47.307 DEBUG mount done 17:35:55.188 DEBUG iobroker host.chet 10514 objects saved 17:35:56.046 DEBUG iobroker host.chet 8566 states saved 17:35:56.064 DEBUG iobroker host.chet Validating backup ... 17:35:56.070 DEBUG iobroker host.chet "config.json" is valid 17:35:56.115 DEBUG iobroker host.chet "objects.jsonl" exists host.chet "states.jsonl" exists 17:35:57.106 DEBUG iobroker host.chet JSONL lines are valid 17:35:57.155 DEBUG iobroker host.chet The backup is valid! 17:35:58.722 DEBUG iobroker Backup created: /opt/iobroker/backups/iobroker_2026_03_15-17_35_47_chet_backupiobroker.tar.gz 17:35:58.727 DEBUG iobroker This backup can only be restored with js-controller version 7.0 or higher 17:35:59.806 DEBUG iobroker done 17:36:00.747 DEBUG historyDB compress from historyDB started ... 17:36:10.735 DEBUG historyDB Packed 18MB so far... 17:36:13.418 DEBUG historyDB done 17:36:13.724 DEBUG zigbee done 17:36:14.462 DEBUG javascripts Created javascript_tmp directory: "/opt/iobroker/backups/tmpScripts" 17:36:16.077 DEBUG javascripts found Script: awtrix 17:36:16.385 DEBUG javascripts found Script: frostwarner 17:36:16.496 DEBUG javascripts found Script: lautstaerke_bad 17:36:16.609 DEBUG javascripts found Script: lautstaerke_kueche 17:36:16.775 DEBUG javascripts found Script: nuki_ext_wohnungstuer_entriegelt 17:36:16.929 DEBUG javascripts found Script: paketlieferungen 17:36:17.067 DEBUG javascripts found Script: pakettruhe_offen 17:36:17.238 DEBUG javascripts found Script: ps4_waker 17:36:17.362 DEBUG javascripts found Script: sonnenaufgang 17:36:17.614 DEBUG javascripts found Script: sonnenuntergang 17:36:17.668 DEBUG javascripts found Script: speedtest 17:36:17.920 DEBUG javascripts found Script: telefon_klingelt 17:36:17.969 DEBUG javascripts found Script: treppenhaus_licht_ble 17:36:18.229 DEBUG javascripts found Script: treppenhaus_licht_hub 17:36:18.274 DEBUG javascripts found Script: tuerklingel_laeutet 17:36:18.432 DEBUG javascripts found Script: usv_warner 17:36:18.574 DEBUG javascripts found Script: wohnung_verlassen 17:36:18.740 DEBUG javascripts found Script: zuhause_verlassen 17:36:18.875 DEBUG javascripts found Script: nuki_extended_restart_fix 17:36:19.028 DEBUG javascripts found Script: solix2mqtt 17:36:19.251 DEBUG javascripts found Script: stromzaehler2 17:36:19.457 DEBUG javascripts Backup created: /opt/iobroker/backups/javascripts_2026_03_15-17_36_14_chet_backupiobroker.tar.gz 17:36:19.461 DEBUG javascripts done 17:36:20.378 DEBUG cifs done 17:36:22.018 DEBUG googledrive Google Drive: Copy iobroker_2026_03_15-17_35_47_chet_backupiobroker.tar.gz... 17:36:25.704 DEBUG googledrive Google Drive: Copy historyDB_2026_03_15-17_36_00_chet_backupiobroker.tar.gz... 17:36:32.154 DEBUG googledrive Google Drive: Copy zigbee.0_2026_03_15-17_36_13_chet_backupiobroker.tar.gz... 17:36:34.551 DEBUG googledrive Google Drive: Copy javascripts_2026_03_15-17_36_14_chet_backupiobroker.tar.gz... 17:36:36.359 DEBUG googledrive done 17:36:36.538 WARN clean No older backup files are deleted, because this backup was started manually 17:36:36.559 DEBUG clean done 17:36:36.676 DEBUG historyHTML new history html values created 17:36:36.768 DEBUG historyHTML done 17:36:36.968 DEBUG historyJSON done 17:36:37.110 DEBUG umount mount active, umount is started ... 17:36:42.292 DEBUG umount umount successfully completed 17:36:42.295 DEBUG umount done 17:36:48.441 DEBUG whatsapp done 17:36:49.670 DEBUG notification done 17:36:49.717 INFO gui Das Backup wurde erfolgreich erstellt!
  • Iqontrol Hintergrund dynamisch ändern

    Visualisierung
    1
    0 Stimmen
    1 Beiträge
    2 Aufrufe
    Niemand hat geantwortet
  • Einbinden von Somfy RTS Rolladen per MQTT (ESPSomfy RTS)

    Einbindung von Geräten
    26
    1 Stimmen
    26 Beiträge
    3k Aufrufe
    FabioF
    @Marc-Berg sagte in Einbinden von Somfy RTS Rolladen per MQTT (ESPSomfy RTS): @Fabio sagte in Einbinden von Somfy RTS Rolladen per MQTT (ESPSomfy RTS): Muss man da auch extra Datenpunkte anlegen? Die Datenpunkte heißen z.B. mqtt.0.RTS.shades.1.target.set Funktioniert es denn über die ESPSomfy Oberfläche? ... ja. Ich Danke dir für deine Antwort. Ich mache die Steuerung jetzt komplett über die URL ist für mich einfacher. ;-) Herzliche Grüße Fabio
  • Test F1 Adapter

    Tester
    10
    0 Stimmen
    10 Beiträge
    105 Aufrufe
    mcm1957M
    Das repo ist genauso Adapter Incomplete :-) https://github.com/Skeletor-ai/ioBroker.system-health/issues/173
  • Script zum Laden/Entladen von Zendure Solarflow

    Blockly
    246
    5
    2 Stimmen
    246 Beiträge
    24k Aufrufe
    B
    @Murphy-0 Hi, noch mal ne Frage: zum Beenden des Ladens bei maxVol 3.5V muss hier auch der socSet=100% sein. Ich hätte gedacht, dass erreichte Soc des Gesamtsystems=100% sein muss, liege ich da falsch? [image: 1773590559609-2a9cec51-e167-4e24-9529-7bb5880e232c-image.png]
  • Adapter zum Testen freigeben

    Verschoben Tester
    19
    0 Stimmen
    19 Beiträge
    190 Aufrufe
    mcm1957M
    Und DAS Repo ist unvollständig. Da ist wieder nicht alles drinnen was der Adapetr Creator erstellt hat: https://github.com/gintonik1980/ioBroker.marstek-local Das Repo ist erst eine Stunde alt - aber wie hast du da die Files hochgeladen. Der creator erstellt definitiv tests - die fehlen z.B. komplett. du musst das gesamte Verzeichnis 1:1 ins repo schieben lasseb - nicht irgendwelche einzelnen Files von denen DU glaubts dass sie wichtig sind. Bitte meld dich auf telegramm /discord (invites auf www.iobroker.dev) - das Forum, speziell der Testerbereich ist nicht der ideale Platz für eine Einstiegshilfe.
  • [TypeSkript] Zendure SolarFlow 2400 AC - EVCC Steuerung

    JavaScript
    64
    1 Stimmen
    64 Beiträge
    4k Aufrufe
    S
    @porty hast du HEMS und sowas deaktiviert? nicht das was dazwischen funkt.... auch die Device ID eineggeben? (Muss ja sonst würde die regelung nicht funktionieren.... [image: 1773589243921-598a01b2-677f-4e13-aec0-9287d2155e7a-image-resized.png] vielleicht auch mal, in der app (MQTT AUS) und einmal den Netzeingangs und Ausgangs-modus auswählen und jeweils dort 0 eingeben Auch vielleicht den Debug modus aktivieren (vielleicht reicht ja erstmal Info), ob da was bei raus kommt... Ich nutze inzwischen einen leichten bezug, finde die Regelung dann etwas besser: TARGET_W: 20, // Zielwert am Zähler (20 = leichter Bezug). Ich mache gleich mal oben meine aktuellste version rein, habe ein paar kleine Optimierungen eingebaut
  • [Frage] Realisierung Adapter UDP Keba Wallbox

    Verschoben ioBroker Allgemein
    1k
    0 Stimmen
    1k Beiträge
    474k Aufrufe
    S
    Hallo zusammen, so, jetzt gibt es auch zusätzlich eine Benachrichtigung im Admin, wenn eine neue Firmware vorhanden ist. Das funktioniert jetzt sogar für die x-Series. Version ist erst am nur über github zu nutzen (die neue 3.5.0 kann es noch nicht).
  • Test Adapter Zendure Solarflow

    Tester
    2k
    0 Stimmen
    2k Beiträge
    960k Aufrufe
    L
    @PaulDaRu sagte in Test Adapter Zendure Solarflow: @lesiflo Genau das wars, ich hatte auch eine HA Verbindung, diese habe ich jetzt mal deaktiviert und siehe da der Adapter läuft durchgängig. Besten Dank für den Tip. Ich habe auch Ewigkeiten gebraucht um darauf zu kommen. Ein Tipp von @nograx hat mich dann auf die Spur gebracht.
  • 1 Stimmen
    3 Beiträge
    75 Aufrufe
    crunchipC
    @RoddiEF sagte in ioBroker Prozess- & Gesundheitsmonitor + Grafana Dashboard: welche Datenpunkt man benötigt hab ich oben ergänzt @RoddiEF sagte in ioBroker Prozess- & Gesundheitsmonitor + Grafana Dashboard: aber die Einrichtung und die Darstellung in Grafana eigendlich sollte alles 1:1 sein, natürlich muss die Data source (Influxdb) angepasst werden und auch die IP in der URL für Infinity generell bin ich noch am optimieren und hab heute nochmals etwas angepasst, script und dashboard in der aktuellen Fassung sind oben eingefügt edit: script ist noch in Bearbeitung um weniger Datenpunkte anzulegen das Dashboard werde ich noch auf dynamisch mit Variablen umstellen, dann ist es einfacher zum einfügen. Ich ändere das die Tage um und stell es oben bereit
  • 0 Stimmen
    3 Beiträge
    103 Aufrufe
    M
    Hier ist ein kleines Update: Enum-/Aufzählungs-Support: Du kannst Lampen jetzt optional über eine ioBroker-Funktion (z.B. enum.functions.anwesenheitssimulation) verwalten. Das Skript kombiniert die Einträge aus der Liste LIGHTS und dem Enum automatisch. Du kannst sogar ganze Kanäle in das Enum ziehen – das Skript sucht sich den richtigen Datenpunkt (.STATE oder .ON) selbst. Helligkeits-Tracking: Das Skript sucht automatisch nach passenden Helligkeits-Datenpunkten im selben Kanal (z.B. .LEVEL, .ACTUAL, .BRIGHTNESS) und speichert den Dimmwert ab. Auto-Migration: Falls du das Skript startest und noch alte "Foto"-Daten in der Datenbank hast (die nur An/Aus kannten), stürzt das Skript nicht ab, sondern verarbeitet diese nahtlos weiter, bis sie nach 5 Tagen aus dem Gedächtnis rotieren. // ===================================================================== // TITEL: Smart Presence Simulation (KI-Ghost-Mode) - v2 // ===================================================================== // === 1. KONFIGURATION === const DP_PRESENCE: string = '0_userdata.0.Anwesenheit'; // NEU: Optional Lampen über ioBroker "Aufzählungen" (Enums) laden. // Leer lassen (''), falls nicht gewünscht. const ENUM_FUNKTION: string = 'enum.functions.anwesenheitssimulation'; // Hier können Lampen weiterhin manuell eingetragen werden (Kombination mit Enum ist möglich) const LIGHTS: string[] = [ 'alias.0.Licht.Flur.STATE', // <-- Trage hier alle Lampen ein, die 'alias.0.Licht.Wohnzimmer.STATE', // von der Straße aus sichtbar sind. 'alias.0.Licht.Kueche.STATE', 'alias.0.Licht.Bad.STATE' ]; // === 2. EXPERTEN-EINSTELLUNGEN === const MAX_SNAPSHOTS: number = 5; const MAX_SAMPLING_DELAY: number = 300000; const MAX_PLAYBACK_DELAY: number = 840000; const DP_STORAGE: string = '0_userdata.0.Simulation.Snapshot_DB'; // ============================================================ // === TYPEN & INTERFACES === // ============================================================ interface LightStateData { on: boolean; bri?: number; // Optionaler Helligkeitswert } interface LightSnapshot { // Unterstützt sowohl das neue Format (LightStateData) als auch das alte (boolean) für reibungslose Migration [baseId: string]: LightStateData | boolean; } interface SnapshotDatabase { [slotIndex: number]: LightSnapshot[]; } interface ParsedLight { baseId: string; powerId: string; briId: string | null; } // ============================================================ // === HILFSFUNKTIONEN === // ============================================================ function getSlotIndex(): number { const now = new Date(); return Math.floor((now.getHours() * 60 + now.getMinutes()) / 15); } function getSafeBoolean(oid: string, fallback: boolean = false): boolean { if (oid && existsState(oid)) { const val = getState(oid).val; return (val === true || val === 'true' || val === 1); } return fallback; } // NEU: Sammelt dynamisch alle Lampen aus dem Array und dem Enum function getActiveLights(): ParsedLight[] { let rawIds: string[] = [...LIGHTS]; if (ENUM_FUNKTION && existsObject(ENUM_FUNKTION)) { const enumObj = getObject(ENUM_FUNKTION); if (enumObj && enumObj.common && enumObj.common.members) { rawIds = rawIds.concat(enumObj.common.members); } } // Duplikate entfernen rawIds = [...new Set(rawIds)]; const result: ParsedLight[] = []; for (const id of rawIds) { if (!existsObject(id)) continue; let powerId = id; const obj = getObject(id); // Falls der Nutzer einen ganzen Kanal ins Enum gezogen hat, suchen wir den STATE if (obj && obj.type === 'channel') { if (existsState(`${id}.STATE`)) powerId = `${id}.STATE`; else if (existsState(`${id}.ON`)) powerId = `${id}.ON`; } // Helligkeits-Datenpunkt dynamisch im selben Kanal suchen const parts = powerId.split('.'); parts.pop(); const channel = parts.join('.'); let briId: string | null = null; const briCandidates = ['LEVEL', 'ACTUAL', 'BRIGHTNESS', 'DIMMER', 'SET']; for (const candidate of briCandidates) { if (existsState(`${channel}.${candidate}`)) { briId = `${channel}.${candidate}`; break; } } result.push({ baseId: powerId, powerId, briId }); } return result; } // ========================================== // 1. LERN-MODUS (Datenbank füttern) // ========================================== function runLearning(db: SnapshotDatabase, currentSlot: number): void { let snapshot: LightSnapshot = {}; const activeLights = getActiveLights(); // Aktuellen Zustand inkl. Helligkeit aller Lampen einfrieren for (const light of activeLights) { const isOn = getSafeBoolean(light.powerId, false); const stateData: LightStateData = { on: isOn }; if (isOn && light.briId && existsState(light.briId)) { const briVal = getState(light.briId).val; if (typeof briVal === 'number') stateData.bri = briVal; } snapshot[light.baseId] = stateData; } if (!db[currentSlot]) db[currentSlot] = []; db[currentSlot].push(snapshot); if (db[currentSlot].length > MAX_SNAPSHOTS) { db[currentSlot].shift(); } setState(DP_STORAGE, JSON.stringify(db), true); log(`[Simulation LERNEN] Block ${currentSlot} gespeichert. (${db[currentSlot].length}/${MAX_SNAPSHOTS} Snapshots)`, 'debug'); } // ========================================== // 2. GHOST-MODUS (Berechnen & Abspielen) // ========================================== function runSimulation(db: SnapshotDatabase, currentSlot: number): void { const activeLights = getActiveLights(); if (!db[currentSlot] || db[currentSlot].length === 0) { log(`[Simulation GHOST] Keine Daten für Block ${currentSlot}. Schalte Lichter aus.`, 'debug'); for (const light of activeLights) { if (getSafeBoolean(light.powerId, false) === true) setState(light.powerId, false, false); } return; } const slotSnapshots: LightSnapshot[] = db[currentSlot]; const uniqueCount = new Set(slotSnapshots.map(s => JSON.stringify(s))).size; const chaosFactor = uniqueCount / slotSnapshots.length; const dynamicMaxDelay = Math.floor(chaosFactor * MAX_PLAYBACK_DELAY); const randomDelayMs = Math.floor(Math.random() * dynamicMaxDelay); log(`[Simulation GHOST] Block ${currentSlot} | Chaos-Faktor: ${Math.round(chaosFactor*100)}% | Geplanter Delay: ${Math.round(randomDelayMs/1000)}s`, 'info'); // --- ABSPIELEN MIT BERECHNETER VERZÖGERUNG --- setTimeout(() => { const randomIndex = Math.floor(Math.random() * slotSnapshots.length); const chosenSnapshot = slotSnapshots[randomIndex]; for (const light of activeLights) { const targetRaw = chosenSnapshot[light.baseId]; if (targetRaw === undefined) continue; // Migration: Kompatibilität zu alten Boolean-Werten aus V1 let targetOn = false; let targetBri: number | undefined = undefined; if (typeof targetRaw === 'boolean') { targetOn = targetRaw; } else { targetOn = targetRaw.on; targetBri = targetRaw.bri; } const currentOn = getSafeBoolean(light.powerId, false); if (targetOn) { // Wenn Lampe an sein soll: Zuerst (optional) dimmen, dann einschalten if (targetBri !== undefined && light.briId) { const currentBri = getState(light.briId).val; if (currentBri !== targetBri) setState(light.briId, targetBri, false); } if (!currentOn) setState(light.powerId, true, false); } else { // Wenn Lampe aus sein soll if (currentOn) setState(light.powerId, false, false); } } }, randomDelayMs); } // === INIT & CRONJOB === createState(DP_STORAGE, JSON.stringify({}), { type: 'string', name: 'Snapshot Datenbank (JSON)', role: 'json' }, () => { schedule("*/15 * * * *", () => { const isPresent = getSafeBoolean(DP_PRESENCE, true); const currentSlot = getSlotIndex(); let db: SnapshotDatabase = {}; try { const raw = getState(DP_STORAGE).val as string; if (raw) db = JSON.parse(raw) as SnapshotDatabase; } catch (e) { log('[Simulation] Fehler beim Lesen der Datenbank, starte mit leerer DB neu.', 'warn'); } if (isPresent) { const samplingDelayMs = Math.floor(Math.random() * MAX_SAMPLING_DELAY); log(`[Simulation LERNEN] Block ${currentSlot} ausgelöst. Mache das Foto in ${Math.round(samplingDelayMs/1000)}s...`, 'debug'); setTimeout(() => { runLearning(db, currentSlot); }, samplingDelayMs); } else { runSimulation(db, currentSlot); } }); log('[Simulation] KI-Snapshot-Engine gestartet. (V2: Enums & Helligkeit integriert)'); });
  • Test Adapter Navimow

    Tester
    4
    4
    1 Stimmen
    4 Beiträge
    32 Aufrufe
    T
    mit der aktuellen GitHub version testen was passiert nach dem login wie ist die url aufgebaut oder gibt es ein Fehler
  • Backitup - NAS ?

    ioBroker Allgemein
    81
    5
    0 Stimmen
    81 Beiträge
    466 Aufrufe
    HumidorH
    @Marc-Berg Ja, das würde ich gerne, nur funktionieren die Befehle nicht, die da angeführt werden.
  • [TEST] Mammotion – Adapter für Mammotion Luba / Yuka

    Verschoben Tester
    4
    3 Stimmen
    4 Beiträge
    78 Aufrufe
    stolly82S
    @Scrounger Hey, das mit dem 2. Account hatte ich vorgestern schon eingebaut, hatte das gestern in die GUT Version gepusht und funktioniert jetzt auch. mammotion.0.devices.XXXX.commands.applyTaskSettings: Wann muss ich das ausführen? Genrell wenn ich irgendwelche Einstellungen (wie. routeBorderMode, routeChannelMode, routeChannelWidthCm, targetMowSpeedMs, routeTowardDeg, etc.) geändert habe? Nicht nötig! Das passiert automatisch. Wenn du targetCutHeightMm oder targetMowSpeedMs änderst, wird applyTaskSettings nach 1,5 Sekunden automatisch im Hintergrund ausgelöst. Die anderen Einstellungen wie routeBorderMode, routeChannelMode, routeChannelWidthCm, routeTowardDeg etc. triggern stattdessen automatisch modifyRoute nach 2,5 Sekunden. applyTaskSettings manuell auf true setzen macht nur Sinn wenn man die Einstellungen direkt schicken will ohne auf den Debounce zu warten. mammotion.0.devices.XXXX.commands.routeAreasCsv: Kann man damit die Bereiche angeben, die gemäht werden sollen? Wenn ja, woher bekomm ich die hashes der existierenden Bereiche? Hier sitze ich noch dran, ignorieren den Datenpunkt bitte noch mal. Ich hatte hier geplant, dass die "Zonen" geladen werden und dann Datenpunkte angelegt werden (je Zone) mit true/false, und mann dann einen Zonenmähvorgang starten kann, der dann anhand der Datenpunkte im richtigem Format in den Payload haut den Mammotion benötogt. Da fehlt mir aber gerade noch was, was ich aus der App auslesen muss (ist relativ komplex und ich habe in der Regel nur nachts Zeit zum Entwickeln,... dann kann ich aber kaum Testen wegen Nachbarn :) )
  • [gelöst] Fernzugriff, Cloud io etc

    Cloud Dienste
    7
    2
    0 Stimmen
    7 Beiträge
    111 Aufrufe
    M
    Ich habe den APP Key welchen ich mit dem pro account besitze in der Cloud Instanz eingetragen . Ich bin darauf gekommen, weil ich in einem ähnlichen Beitrag gelesen hatte, daß der Adapter länger gelb blieb (Verbunden mit Gerät oder Dienst), aber nach ein paar minuten grün wurde und dann funktionierte... ich habe den Key eingetragen, das Haus verlassen und ein paar Stunden später einfach einmal probiert und siehe da: cool bleiben hilft. Anyway dank euren support.
  • Navimow Google geräte über iobroker steuern?

    ioBroker Allgemein google home
    16
    0 Stimmen
    16 Beiträge
    975 Aufrufe
    T
    @denjo Bitte mal testen https://forum.iobroker.net/topic/84066/test-adapter-navimow
  • Segway Navimow in IoBroker einbinden

    ioBroker Allgemein segway navimow
    3
    0 Stimmen
    3 Beiträge
    236 Aufrufe
    T
    @Jeba https://forum.iobroker.net/topic/84066/test-adapter-navimow
  • Adapter für Navimow Rasenmähroboter?

    ioBroker Allgemein
    40
    0 Stimmen
    40 Beiträge
    8k Aufrufe
    T
    @denjo bitte https://github.com/TA2k/ioBroker.navimow testen https://forum.iobroker.net/topic/84066/test-adapter-navimow

732

Online

32.7k

Benutzer

82.5k

Themen

1.3m

Beiträge