Weiter zum Inhalt

Hardware

5.6k Themen 87.6k Beiträge

Hardware für ioBroker oder Einbindung von Hardware in ioBroker

NEWS

  • Modul MQTT to Analog out gesucht, selbst gebaut

    29
    0 Stimmen
    29 Beiträge
    344 Aufrufe
    ubeckerU
    @MartinP sagte: Leider ist man da nicht weniger Abhängig von der Programmierarbeit anderer ist so, war auch mein größtes Problem mit der Arduino IDE, die passenden Librarys zu finden.
  • Kauf neuer Rauchmelder

    rauchmelder vibrationsensor
    24
    0 Stimmen
    24 Beiträge
    3k Aufrufe
    ubeckerU
    @IOMax sagte: Gibt es da etwas empfehlenswertes am Markt ich nutze diese https://de.elv.com/p/hmip-set-rauchwarnmelder-3x-swsd-2-P254404/?itemId=254404 lassen sich über IOBroker auslesen steuern, tests machen, und als Alarmmeldung benutzen. sollen 10 Jahre halten. Dazu kann ich noch nichts sagen, meine sind erst 3 Jahre in Betrieb.
  • A-Tronix Wechselrichter

    12
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    André KoschnikA
    Moin, ist zwar schon ne weile her aber ich hatte mir da was selber gebastelt. Die Daten lokal abzugreifen war mir nicht möglich vor allem, weil ich keine extra Hardware verbastelten wollt (RS485-->TCP). Ich habe meinen ioBroker als Container auf meiner Synology zu laufen. Und habe mich als Lösung für einen Web Scraper entschieden also hab ich mir einen Selenium Container hinzugefügt. Dieser nutzt wie der iobroker MAC VLAN. Hier die yaml von meinem Portainer: version: '3.7' name: selenium-standalone-chrome services: python: container_name: selenium-standalone-chrome hostname: chrome image: selenium/standalone-chrome dns: - '192.168.100.1' networks: vlan: ipv4_address: "192.168.100.71" environment: - SE_START_XVFB=true - SE_BROWSER_ARGS_DISABLE_DSHM=--disable-dev-shm-usage networks: vlan: external: true name: vlan Zum Schluss noch nen kleines JS Skript das die Daten alle 15 min vom Web abgreift. Nicht vergessen den "selenium-webdriver" in die JS Module zu packen und die Datenpunkte anzulegen. const { Builder, By, until } = require('selenium-webdriver'); const chrome = require('selenium-webdriver/chrome'); const password = 'put-your-password-here'; const email = 'put-your-email-here'; //0 = off //1 = debug //2 = all let mylogging = 1; // for debug selenium http://192.168.100.71:7900/ pw: secret let options = new chrome.Options(); options.addArguments('--window-size=1920,1080'); options.addArguments('--no-sandbox'); // Wichtig für Linux/Docker options.addArguments('--disable-dev-shm-usage'); // Verhindert Abstürze durch Speichermangel async function run() { let driver = await new Builder() .forBrowser('chrome') .setChromeOptions(options) .usingServer('http://192.168.100.71:4444') .build(); try { await driver.get("https://www.st-ems.com/login"); mylogging === 2 && console.log('page loaded'); // Login await driver.findElement(By.id('normal_login_email')).sendKeys(email); await driver.findElement(By.id('normal_login_password')).sendKeys(password); await driver.findElement(By.xpath('//*[@id="normal_login"]/div[3]/div/div/div/div/button')).click(); mylogging === 2 && console.log('login triggered'); await driver.sleep(5000); // Navigation zur Detailseite await driver.findElement(By.xpath('//table/tbody/tr[2]/td[2]/a')).click(); await driver.sleep(5000); mylogging === 2 && console.log('moved to sub page'); // Daten auslesen let soc = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[2]/div/div/div/div[1]/div[2]/div[1]/div/div/div/span')).getText() setState('0_userdata.0.power_mgnt.PV1.soc',parseInt(soc.slice(0, -1)),true); let batt_power = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[2]/div/div/div/div[1]/div[2]/span/span[1]')).getText() let batt_power_unit = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[2]/div/div/div/div[1]/div[2]/span/span[2]')).getText() setState('0_userdata.0.power_mgnt.PV1.batt_power',batt_power_unit!='W' ? parseFloat(batt_power) * 1000 : parseFloat(batt_power),true); let sol_power = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[2]/div/div/div/div[1]/div[1]/div[1]/span/span[1]')).getText() let sol_power_unit = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[2]/div/div/div/div[1]/div[1]/div[1]/span/span[2]')).getText() setState('0_userdata.0.power_mgnt.PV1.sol_power',sol_power_unit!='W' ? parseFloat(sol_power) * 1000 : parseFloat(sol_power),true); let power_today = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[1]/div[2]/div/div/div/div/div/div[2]/div/div/div/div[1]/div/div[1]/span')).getText() let power_today_unit = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[1]/div[2]/div/div/div/div/div/div[2]/div/div/div/div[1]/div/div[2]')).getText() setState('0_userdata.0.power_mgnt.PV1.power_today',power_today_unit.toLowerCase().includes('kwh') ? parseFloat(power_today) * 1000 : parseFloat(power_today),true); let needed_power = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[2]/div/div/div/div[5]/div[1]/div[1]/span[1]/span[1]')).getText() let needed_power_unit = await driver.findElement(By.xpath('/html/body/div[1]/div/div[2]/div/div/main/div/div/div/div/div[2]/div/div/div/div[1]/div[2]/div/div[1]/div[2]/div/div/div/div[5]/div[1]/div[1]/span[1]/span[2]')).getText() setState('0_userdata.0.power_mgnt.PV1.needed_power',needed_power_unit!='W' ? parseFloat(needed_power) * 1000 : parseFloat(needed_power),true); mylogging >= 1 && console.log('fetched all values, done'); } catch (e) { console.error(e); } finally { await driver.quit(); } } schedule("0 */15 8-23 * * *", async function () { run(); });
  • Rolladenantrieb / Gurtwickler

    33
    -1 Stimmen
    33 Beiträge
    7k Aufrufe
    Jey CeeJ
    @MartinP sagte: Bei mir ist nach ca 25 Jahren der erste Rolladen-Rohrmotor kaputt gegangen. Da kannst dich Glücklich schätzen. Hab erst einen Tauschen müssen der nach etwas mehr als 10 Jahren aufgegeben hat, zwei weitere haben schon die selben Symptome, die werden auch bald aufgeben. Das sind keine No-Name Motoren, aber die waren etwas zu Optimistisch ausgelegt was die Zugkraft angeht.
  • SONOFF NSPanel mit Lovelace UI (TypeScript Version)

    lovelace ui nspanel sonoff
    8k
    12
    17 Stimmen
    8k Beiträge
    7m Aufrufe
    ArmilarA
    @Bhenyamin Ich habe das über Adapter-Katze (benutzerdefiniert) gemacht. URL einfügen https://github.com/iobroker-community-adapters/ioBroker.spotify-premium Danach muss aber die 127.0.0.1:80 bei spotify ersetzt werden gegen https://oauth2.iobroker.in/spotify Neue Vorgehensweise ist aber auch beschrieben: [image: 1774901098663-5005e102-b9cd-404d-81f7-cee46162549d-image.jpeg] Latenz? Das Panel setzt direkt auf die Adapter-Datenpunkte... Vielleicht danach mal den ioBroker durchstarten?
  • Viessmann Vitodens 333-F: Optolink direkt vs. Vitoconnect

    3
    0 Stimmen
    3 Beiträge
    121 Aufrufe
    H
    Ich klinke mich hier mal ein, auch wenn der letzte Post schon etwas länger her ist. @ilovegym sagte in Viessmann Vitodens 333-F: Optolink direkt vs. Vitoconnect: OptoSplitter https://github.com/philippoo66/optolink-splitter Gibt es auch ein Open Sorce Projekt https://github.com/f18m/viessmann-optolink2mqtt Hat das evtl. hier schon jemand zu laufen gebracht und in IoBroker eingebunden? Gruß HappyUser20
  • Zuverlässiger Zigbee Bodenfeuchtesensor gesucht

    5
    1
    0 Stimmen
    5 Beiträge
    120 Aufrufe
    P
    @Homoran Der Sensor von Third Reality ist ein kapazitiver Sensor. Habe nochmal im Internet recherchiert. Wegen der niedrigen Dielektrizitätskonstante verfälscht Luft das Messergebnis. Also Sensor rausziehen und woanders locker in die Erde reinstecken, ist nicht so die gute Idee. Der Hinweis von Dir bezüglich Einschlämmens ist dann genau richtig. Werde die Sensorwerte mal über den Sommer beobachten. Aktuell ist der Wasserverbrauch nicht sonderlich hoch. Da ich keinen grünen Daumen habe, will ich mich bezüglich Gießens voll auf den Sensor verlassen.
  • Remko Wärmepumpe ModBus-Anbindung

    19
    5
    0 Stimmen
    19 Beiträge
    135 Aufrufe
    L
    Gut, dass ich noch mal gefragt habe. Der Support schreibt: "Bit 0 steht für Gerät ein/aus (0 = aus / 1 =ein). Das ist leider in unserer Tabelle nicht aufgeführt und kann schonmal Fragen aufwerfen." Dezimal "3" steht also für "Gerät eingeschaltet" und "Gerät heizt oder kühlt".
  • Steuerbox des Netzbetreibers

    56
    0 Stimmen
    56 Beiträge
    3k Aufrufe
    MartinPM
    Mehrfach Verwendungen von Abkürzungen sollten gesetzlich verboten werden, insbesondere, wenn es um die gleiche Domäne (hier Wärmepumpen) geht. Alleine weil es beim Suchen mit der Suchmaschine zu vielen "Nieten" führt. Was habe ich mich über das neue Protokoll "thread" aufgeregt, als ich nach Informationen gesucht habe.... zwinker
  • [gelöst] iU891A-XL Instanz Wireless mbus mit Fehler

    27
    2
    0 Stimmen
    27 Beiträge
    172 Aufrufe
    D
    Der Verursacher ist gefunden. Ich lasse in der Nacht normalerweise raspibackup laufen. Dort werden Services vorher getoppt und nach dem Backup wieder gestartet. Wenn ich das Stoppen verhindere, dann läuft die Instanz wireless-mbus ohne Probleme durch. Es hat gereicht, das Stoppen von iobroker zu deaktivieren.
  • [erledigt] Hue Bridge Pro bereits kompatibel?

    14
    1 Stimmen
    14 Beiträge
    2k Aufrufe
    H
    Hallo zusammen Damit sich niemals wieder jemand mühsam durch Log's quälen muss! Den Token kann man per API Call direkt von der Bridge abgreiffen. Einfach die generische IP unten mit der der Bridge Pro erstzen, den Pairing Butten drücken und dann das Command von einer Linux Maschine mit installiertem curl abfeuern. curl -k -X POST https://192.168.0.25/api \ -H "Content-Type: application/json" \ -d '{"devicetype":"iobroker#hue"}' MOD-EDIT: Code in code-tags gesetzt! Happy day, Houbi
  • iobroker auf Synology M2 möglich?

    2
    0 Stimmen
    2 Beiträge
    103 Aufrufe
    ubeckerU
    @Mika-0 Habe auch eine 920+ auf der IOBroker läuft. Die M2 SSD wird in der 920+ als Cache benutzt. Ich denke nicht das die als eigenes Laufwerk eingestellt werden können. [image: 1773576677239-screenshot-2026-03-15-130908.png]
  • Suche einen Zigbee Geräusch Sensor

    5
    0 Stimmen
    5 Beiträge
    130 Aufrufe
    H
    Diverse Kameras können auf Geräusche reagieren. Zb meine kleine Instar. Dort kann ich auch den Schwellwert für Lautstärke und Länge festlegen
  • Solarspeicher Marstek B2500

    Verschoben
    44
    0 Stimmen
    44 Beiträge
    4k Aufrufe
    W
    @BobmortonTX sagte in Solarspeicher Marstek B2500: b2500 -> cloud -> hame-relay - hm2mqtt -> dein script. Kannst du diesen Weg kurz erklären? Was holst du für Daten und wie werden diese verarbeitet? Ich haben momentan den UniMeter am laufen aber steuere damit nur die Nulleinspeisung. Ich hätte aber gerne SoC innerhalb iobroker. Daher würde mich Interessieren, was du alles mit deinem Weg abfrägst usw. bzw. generell machst?
  • Conbee 2 Probleme mit Erreichbarkeit

    30
    0 Stimmen
    30 Beiträge
    330 Aufrufe
    Michael SchmittM
    bis jetzt hatte ich keine Probleme mehr ;) EDIT: 17.03.26 alles läuft sauber, auch nach update + upgrade. Mal schauen was nach dem nächsten deconz update passiert.
  • [Frage] Novoferm Torantrieb mit WiFi-Modul ansteuern?

    4
    0 Stimmen
    4 Beiträge
    388 Aufrufe
    MartinPM
    Das Wifi-Tormodul von novoferm scheint ziemlich vernagelt zu sein. Niemand hat da irgendetwas veröffentlicht, bzgl Analysen und Ansätze, lokal auf das Tormodul direkt über das LAN zuzugreifen.... oder die Novoferm Rechtsabteilung lässt so etwas sehr schnell löschen.
  • FoxEss H3 Wechselrichter per Modbus in ioBroker

    74
    8
    1 Stimmen
    74 Beiträge
    16k Aufrufe
    I
    @fuzzy1955 Ok, dann passen natürlich auch unsere Registernummern nicht. Bei FoxESS: [image: 1772621046598-klu_2026.03.04-11_31_39.jpg]
  • Wallbox Heidelberg per Modbus ansteuern Vergeblich

    4
    7
    0 Stimmen
    4 Beiträge
    86 Aufrufe
    Samson71S
    @padi0-000 Dann musst Du auch nicht sämtliche, teils Jahre alten Beiträge zu dem Thema wieder hervorzerren, indem Du überall Deine "Lösung" unten dran klatscht. Zumindest 3 parallele Posts mit der Info sollten jetzt reichen. EDIT Und ein [gelöst] im Titel wäre im Übrigen dann auch nicht verkehrt
  • Heidelberg Wallbox Energy Control per Modbus verbunden?

    Gesperrt
    17
    0 Stimmen
    17 Beiträge
    10k Aufrufe
    P
    Bei mir lag es daran, das ich keine Verbindung bekommen habe, dass der Watchdog zu niedrig eingestellt war. Register 40258 stand bei mir ab werk auf 10 sollte aber 15000 sein. Habe im Holdingregister die Einträge angelegt und den wert in einem Java Script alle 500ms geschrieben. So konnte ich den wert gleich beim Start der Mod-bus-instanz den wert setzen. Anschliessend habe ich gleich den Standbye 40259 auf 4 gestellt.
  • Wallbox Heidelberg Energy Control mit Iobroker verbinden

    wallbox heidelberg
    57
    0 Stimmen
    57 Beiträge
    16k Aufrufe
    P
    Bei mir lag es daran, das ich keine Verbindung bekommen habe, dass der Watchdog zu niedrig eingestellt war. Register 40258 stand bei mir ab werk auf 10 sollte aber 15000 sein. Habe im Holdingregister die Einträge angelegt und den wert in einem Java Script alle 500ms geschrieben. So konnte ich den wert gleich beim Start der Mod-bus-instanz den wert setzen. Anschliessend habe ich gleich den Standbye 40259 auf 4 gestellt.

311

Online

32.7k

Benutzer

82.6k

Themen

1.3m

Beiträge