Skip to content

Microcontroller

259 Themen 4.3k Beiträge

NEWS

  • Hilfe IR Lesekopf direkt mit einer Tasmota Steckd. verbinden

    Verschoben
    10
    1
    0 Stimmen
    10 Beiträge
    136 Aufrufe
    WalW
    @Thomas-Braun , Tasmota SML
  • Sonoff (tasmota) aktualisiert Zustands DP`s nicht mehr

    6
    2
    0 Stimmen
    6 Beiträge
    144 Aufrufe
    Samson71S
    @jb_sullivan sagte in Sonoff (tasmota) aktualisiert Zustands DP`s nicht mehr: "Never change a running system" Ist im Normalfall so ziemlich die blödeste Ansicht/Einstellung in Bezug auf EDV-Systeme die man haben kann, insbesondere was System-Updates angeht. Aber im Fall von Tasmota-Devices durchaus legitim, solange sie das tun was sie sollen und nicht im I-Net stehen und damit extern kein Sicherheitsrisiko sind. Das halte ich in diesem besonderen Fall bei meinen Tasmota-Devices auch so. Insbesondere wenn sie genau das tun was sie sollen.
  • [] ESP32-Cam ESP32-D0WD-V3 (revision v3.1) - AI o t Edge

    Verschoben
    39
    0 Stimmen
    39 Beiträge
    2k Aufrufe
    MartinPM
    @dojodojo Ich habe meine ESP32 Kamera per Frigate angebunden. Für mehr taugt die Kamera meiner Meinung nach nicht. Bei Videoauflösungen höher, als SD weniger als 5 Bilder pro Sekunde. Guckt oben auf einem Holzstativ sitzend ohne Gehäuse aus dem Fenster. Frigate zeichnet so lange auf, wie Personen im Bild sind. Gibt hier eine Anleitung. https://forum.iobroker.net/topic/64928/frigate-adapter-für-iobroker
  • Schalterstellung eines Serienschalters in iobroker bringen

    7
    0 Stimmen
    7 Beiträge
    216 Aufrufe
    D
    @martinp said in Schalterstellung eines Serienschalters in iobroker bringen: @doppellhelix Sind die Kontroll-Lampen wirklich an, wenn der Verbraucher an ist? Oder ist es umgekehrt: Kontrollampe an-> Verbraucher aus? Kontrolllampen sind an, wenn der Schalter AN geschaltet ist, also das Deckenlicht ein ist. Hier mein Schaltplan, wie ich ihn angeschlossen habe: [image: 1762705073766-img_20251109_171414-resized.jpg] L1 und L2 ist natürlich alles die gleiche Phase. Unten ist der Shelly, oben der Serienschalter.
  • Gosund SP112 mit Tasmota flashen geht nicht

    Verschoben
    229
    0 Stimmen
    229 Beiträge
    51k Aufrufe
    E
    @dieter_p Hallo, vielen Dank für den Tipp, das hatte ich nicht auf dem Radar. Werde ich aber mal testen. Vg
  • WS2812 mit Tasmota per Mqtt?

    ws2812 mqtt tasmota
    3
    0 Stimmen
    3 Beiträge
    90 Aufrufe
    D
    @mcu said in WS2812 mit Tasmota per Mqtt?: wäre das nicht sinnvoller? Danke erstmal dass Du Antwortest. Das mag sein. Ich hab hier jedoch die Langfassung nicht erwärnt und nur das akute Problem beschrieben. Es geht um einen AtomS3 Lite dessen eigentliche Funktion ein BLE-Scanner zur Anweseheintsdetektierung ist. Den habe ich bisher unter ESPHome betrieben und die RGB LED steuer ich von IOB an um diverse Stati zu visualisieren. Nun ist per ESPHome meine Toleranzschwelle nach X-Wochen wieder erreicht. Enorm Aufwand investiert den BLE Scanner mit aktuellen Versionen wieder in Gang zu setzen und nun zickt auch noch die RGB LED :cold_sweat: (https://forum.iobroker.net/topic/82734/esphome-rgb-led-farbe-steuern). Hab jetzt aufgegeben und Tasmota in der S3 Eigenkompilierung mit BLE ist aktuell die einzige Konstellation wo ich BLE Geräte scannen kann und die RGB LED funktioniert (Steuerung per Tasmota Weboberfläche). Nun fehlt mir die MQTT Anbindung damit es wirklich nutzbarbar wird. ESPresence etc etc hab ich durchprobiert und ChatGPT dreht sich auch schon seit Tagen im Kreis und verweist in Dauerschleife aufs gleiche Zeug wodurch ich leider nicht mehr weiter komme. Aktuell vermute ich hier vielleicht doch etwas zu sehen: [image: 1762461880316-77b9280d-f42d-4c47-bdb0-637a0ded0d3d-grafik.png]
  • [] ESP32 Dev Kit V4 - DS18B20 digitaler Temperatursensor

    27
    0 Stimmen
    27 Beiträge
    615 Aufrufe
    MartinPM
    @codierknecht @Asgothian Ich war etwas unsicher, ob Tasmota die Sensoren immer in gleicher Reihenfolge meldet, wenn das ESP32 Board neu gestartet wird... Eigentlich würde ich erwarten, dass die Sensoren irgendwie nach Seriennummern in der Reihenfolge sortiert werden, habe das aber noch nicht probiert...
  • Wemos D1 mit DC Motor, Taster und Endschalter

    4
    1
    0 Stimmen
    4 Beiträge
    188 Aufrufe
    M
    @martinp Hallo möchte erst einmal alles lokal machen. Habe ich nun soweit ersteinmal gelöst. Die Taster sind mit Relay 1 und 2 gekoppelt. Relay 3 ist ein Endschalter der ebenfalls soweit funktioniert. Was mir jetzt noch fehlt, eine Tasmota Rule die folgendes machen sollte. Sobald der Endschalter (Relay 3) auf on schaltet sollte Relay 1 automatisch abschalten.
  • Bereitstellung der JSON-Daten für den Wiffi-WZ Adapter

    Verschoben
    34
    2
    0 Stimmen
    34 Beiträge
    794 Aufrufe
    mcm1957M
    @x4tlaoguo said in Bereitstellung der JSON-Daten für den Wiffi-WZ Adapter: Hallo in die Runde, Maintainer vom Wiffi Adapter hier. Sorry, hatte aus familiären Gründen keine Zeit den Adapter zu pflegen. Habe mir in den letzten Tagen die offenen Issues und die Fragen dazu angeschaut. Werde den Adapter am Wochende auf den neuesten Stand bringen. Hoffe er funktioniert dann wieder einwandfrei. Hallo und DANKE fürs melden. Wenn du irgendwelche Unterstützung brauchst gib bitte Bescheid. Vorzugsweise in unseren Telegramm / Discord channels (Invites unter www.iobroker.dev). mcm1957
  • [ok] Hichi-Lesekopf - Hichi oder BitShake oder .....

    7
    0 Stimmen
    7 Beiträge
    240 Aufrufe
    MartinPM
    @dojodojo Ich habe nur die bestückte Leiterplatte des reinen Lesekopf mit Rx/Tx Leitung gekauft. Habe Zugang zu einem 3D Drucker - Vorlage besorgt, und Gehäuse gedruckt. ESP aus Bastelkiste. Ein Induktiver Impulsgeber wertet zusätzlich den Gaszähler aus
  • Hichi-Lesekopf liefert nicht alle Objekte über MQTT

    Verschoben
    69
    2
    0 Stimmen
    69 Beiträge
    4k Aufrufe
    D
    @homoran sagte in Hichi-Lesekopf liefert nicht alle Objekte über MQTT: Man kann den IR Lesekopf auch gut mit hterm testen um ein Fehlerquelle auzuschließen. Warum nicht, damit kenne ich mich aus. Sonoff ist nicht Sonoff https://sonoff.tech , das muß ich erst mal verstehen. Sorry für das Kapern.
  • Erledigt. Zweiten Slider für Shuttertilt?

    4
    0 Stimmen
    4 Beiträge
    217 Aufrufe
    Y
    Ich hab den 2. Slider hin bekommen mitttels Berry Script, dies ist unter gespeichert unter shuttertilt_ui.be und wird über die autoexec.be gestartet mit load('shuttertilt_ui.be'). Es muss SetOption94 1 über die Konsole aufgerufen werden, das Tasmota beim start die autoexec.be startet. Das Skript shuttertilt_ui.be: import webserver var tiltValue = 0 # --- Funktion: Tilt-Wert aktualisieren --- def updateTilt() var res res = tasmota.cmd("ShutterTilt") if (res == nil) || (res == "") || (res == "0") || (res == "off") || (res == "error") tiltValue = 0 else # Versuch, Zahl zu konvertieren var n n = int(res) if n == nil tiltValue = 100 else tiltValue = n end end end # --- Klasse für WebUI --- class ShutterTiltUI def web_add_main_button() updateTilt() var html html = "<hr><h3>Shutter Tilt</h3>" html = html + "<form action='' method='get'>" html = html + "<input type='range' min='0' max='100' value=" + str(tiltValue) html = html + " oninput='tiltval.innerText=this.value'" html = html + " onchange='la(\"&m_tilt=\"+this.value)'>" html = html + " <span id='tiltval'>" + str(tiltValue) + "</span>%" html = html + "</form>" webserver.content_send(html) end def web_sensor() if webserver.has_arg("m_tilt") var val val = int(webserver.arg("m_tilt")) tasmota.cmd("ShutterTilt " + str(val)) print("ShutterTilt gesetzt auf " + str(val)) end end end # --- Treiber registrieren --- var ui ui = ShutterTiltUI() tasmota.add_driver(ui) updateTilt() Nur wird der Shuttertilt beim aufrufen der Seite nicht aktualisiert, und steht bei bei 100%. Das reicht mir, da ich das Rollo vom PC aus bediene wenn die Sonne mich zu sehr blendet. Das Rollo ist bei mir sonst offen. Hoffe das hilft jemanden der über den PC das Rollo bedienen möchte.
  • Tasmota erstellt MQTT Topics?

    Verschoben
    10
    1
    0 Stimmen
    10 Beiträge
    338 Aufrufe
    haselchenH
    Das hilft sicher nicht bei WLAN Problemen... Dann wirst Du gesehen haben, dass seine Antwort vor meiner kam ;)
  • MQTT-Client: Datenpunkte, die der Client lesen soll

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    114 Aufrufe
    Niemand hat geantwortet
  • AI on the edge - esp32 oder ESP32-MB

    Verschoben
    40
    0 Stimmen
    40 Beiträge
    2k Aufrufe
    MartinPM
    @dojodojo sagte in AI on the edge - esp32 oder ESP32-MB: @martinp sagte in AI on the edge - esp32 oder ESP32-MB: da muss man keinen Taster-Voodo Im musste bei meiner ESP32-Cam mit ESP32-Cam-MB keine Tasten drücken. Stimmt, über Dioden ist über DTR und RTS des USB-Seriell Chips auf dem Board die Ansteuerung auch möglich https://cat-one.net/2021/05/20/schematic-of-esp32-cam-mb/
  • Texas Instr. CC2531 (Zigbee) mit DS18B20 Temperatursensor

    19
    2
    0 Stimmen
    19 Beiträge
    754 Aufrufe
    skvarelS
    @asgothian sagte in Texas Instr. CC2531 (Zigbee) mit DS18B20 Temperatursensor: Da kenne ich die Converter. Wenn jemand die Converter kennt, dann du :) Da haben wir beide so einige schöne Stunden mit verbracht!
  • [Gelöst] ESP32S mit DS18B20 Temp-Sensor

    51
    2
    0 Stimmen
    51 Beiträge
    6k Aufrufe
    D
    @homoran ok, beim nächsten mal Das nächste mal ist heute: https://forum.iobroker.net/topic/82268/esp-auf-cc2531-zigbee-protokoll-ds18b20-temperatursensor
  • Iobroker, MQTT und Servo Motor

    Verschoben blockly template
    26
    0 Stimmen
    26 Beiträge
    792 Aufrufe
    D
    Danke allen für die Klärung.
  • Taster ansteuern mit ESPeasy

    2
    1
    0 Stimmen
    2 Beiträge
    111 Aufrufe
    S
    @michisa86888 Mal zwei Bilder für dich: [image: 1758391737289-img_20250920_200830.jpg] [image: 1758391744003-img_20250920_200844.jpg] Gerne weitere Fragen wenn nötig.
  • ( gelöst ) ESP Wassersensor BLE-YC01 MQTT

    Verschoben
    22
    1
    0 Stimmen
    22 Beiträge
    1k Aufrufe
    P
    @perladd Hallo Leute, also wem das ganze auch noch Interessiert, ich scheine es jetzt dank großer Hilfe des Internets hinbekommen zu haben, das ich den BLE-YC01 auslesen und die Werte decodieren kann. Das ganz geht halt leider nur noch nicht automatisch, weil ich den Befehl BLEOp M:C0000005750A s:FF01 c:FF02 r go noch nicht aus dem IOBroker an mein ESP32-Wroom-32 mit Tasmota gesendet bekomme. Aber vielleicht gibt es von euch ja noch ganz schlaue Köpfe :) Hier ist zumindest der Code für die Allgemeinheit // ====================================================== // Pool-Wassertester YC01 - Endgültiger HEX Decoder mit Kalibrierung + Alarm // ====================================================== function ensureState(id, def, common) { if (!existsState(id)) createState(id, def, common); } const base = '0_userdata.0.pool_wassertester.'; // Datenpunkte anlegen ensureState(base + 'json', "", {name: "Rohdaten JSON", type: "string"}); ensureState(base + 'ph', 0, {name: "pH", type: "number"}); ensureState(base + 'mv', 0, {name: "mV", type: "number"}); ensureState(base + 'us_cm', 0, {name: "Leitfähigkeit µS/cm", type: "number"}); ensureState(base + 'mg_l', 0, {name: "mg/L", type: "number"}); ensureState(base + 'ppm', 0, {name: "ppm", type: "number"}); ensureState(base + 'celsius', 0, {name: "Temperatur °C", type: "number"}); ensureState(base + 'fahrenheit', 0, {name: "Temperatur °F", type: "number"}); ensureState(base + 'battery', 0, {name: "Batterie", type: "number", unit: "%"}); // Alarm-Datenpunkte ensureState(base + 'alarm', false, {name: "Alarm aktiv", type: "boolean"}); ensureState(base + 'alarm_text', "", {name: "Alarmtext", type: "string"}); // ====================================================== // Bit-Manipulation wie Python // ====================================================== function pythonDecode(buffer) { let arr = Array.from(buffer); for (let i = arr.length - 1; i > 0; i--) { let tmp = arr[i]; let hibit1 = (tmp & 0x55) << 1; let lobit1 = (tmp & 0xAA) >> 1; tmp = arr[i - 1]; let hibit = (tmp & 0x55) << 1; let lobit = (tmp & 0xAA) >> 1; arr[i] = 0xFF - (hibit1 | lobit); arr[i - 1] = 0xFF - (hibit | lobit1); } return Buffer.from(arr); } // ====================================================== // Decoder mit finaler Kalibrierung // ====================================================== function decodeYC01(buffer) { const buf = pythonDecode(buffer); function readInt16BE(idx) { return buf.readInt16BE(idx); } function readUInt16BE(idx) { return buf.readUInt16BE(idx); } const ph = readInt16BE(3) / 100; const ec = readUInt16BE(5); const mv = Math.round(ec * 1.13); // Kalibrierung auf ~706 mV const tds = readUInt16BE(7); const mg_l = tds / 222.14; // Faktor angepasst für mg/L = 1,4 const ppm = 312; // feste Anpassung auf gemessene 312 const temp = readInt16BE(13) / 10; const battery = 89; // feste Anpassung auf 89% return { ph: ph, mv: mv, us_cm: ec, mg_l: mg_l, ppm: ppm, celsius: temp, fahrenheit: temp * 9/5 + 32, battery: battery }; } // ====================================================== // Grenzwerte definieren // ====================================================== const limits = { ph: { min: 6.8, max: 7.6 }, celsius: { min: 20, max: 30 }, us_cm: { min: 400, max: 800 }, mg_l: { min: 0.5, max: 2.0 }, battery: { min: 30 } }; // ====================================================== // MQTT-Handler // ====================================================== on({id: 'mqtt.4.tele.Pool_Wassertester_E84B50.BLE', change: 'any'}, function(obj) { try { const msg = JSON.parse(obj.state.val); if (!msg.BLEOperation || !msg.BLEOperation.read) return; const hex = msg.BLEOperation.read; const buffer = Buffer.from(hex, 'hex'); const result = decodeYC01(buffer); // Werte speichern setState(base + 'json', JSON.stringify(result), true); setState(base + 'ph', result.ph, true); setState(base + 'mv', result.mv, true); setState(base + 'us_cm', result.us_cm, true); setState(base + 'mg_l', result.mg_l, true); setState(base + 'ppm', result.ppm, true); setState(base + 'celsius', result.celsius, true); setState(base + 'fahrenheit', result.fahrenheit, true); setState(base + 'battery', result.battery, true); // Alarm prüfen let alarmActive = false; let alarmMessages = []; function checkLimit(name, value) { const limit = limits[name]; if (!limit) return; if (limit.min !== undefined && value < limit.min) { alarmActive = true; alarmMessages.push(`${name} zu niedrig: ${value} < ${limit.min}`); } if (limit.max !== undefined && value > limit.max) { alarmActive = true; alarmMessages.push(`${name} zu hoch: ${value} > ${limit.max}`); } } checkLimit('ph', result.ph); checkLimit('celsius', result.celsius); checkLimit('us_cm', result.us_cm); checkLimit('mg_l', result.mg_l); checkLimit('battery', result.battery); // Alarm-Datenpunkte setzen setState(base + 'alarm', alarmActive, true); setState(base + 'alarm_text', alarmMessages.join('; '), true); if (alarmActive) { log("⚠️ Grenzwertüberschreitung: " + alarmMessages.join('; '), 'warn'); // Alarm per E-Mail senden sendTo('email', { to: 'eure-E-Mail Adresse', subject: '⚠️ Pool-Wassertester Alarm', text: 'Grenzwertüberschreitung festgestellt:\n\n' + alarmMessages.join('\n') + '\n\nAktuelle Werte:\n' + JSON.stringify(result, null, 2) }); } log("✅ Dekodierte Messwerte: " + JSON.stringify(result)); } catch (e) { log("❌ Fehler beim Dekodieren: " + e, 'warn'); } }); MOD-EDIT: Code in code-tags gesetzt! Ich wünsche euch ganz viel Spaß damit Bitte keine Rückfragen bezüglich der Programmierung, wie gesagt, das Internet hat mir geholfen :) VG Thomas

704

Online

32.4k

Benutzer

81.4k

Themen

1.3m

Beiträge