Skip to content

ioBroker Allgemein

Integrationtsplattform für IoT
29.6k Topics 434.7k Posts

NEWS

  • Growatt Inverter Modbus/Betriebsart umschalten

    7
    0 Votes
    7 Posts
    119 Views
    fuzzy1955F
    @Bernd_M sagte in Growatt Inverter Modbus/Betriebsart umschalten: Register zum Umschalten Batterie/Grid Ist das vielleicht diese Nummer: [image: 1769490994525-growatt.jpg]
  • [gelöst] Tuya Adapter - Local connection status

    4
    0 Votes
    4 Posts
    86 Views
    D
    Das Thema hat sich von alleine erledigt, keine Ahnung warum. Aber noch einem update des Raspis und somit Neustart des ioBrokers war das Ding auf einmal online. Vielleicht lags auch an der Tuya Cloud, egal - Hauptsache wieder online.
  • objekt-Werte in tabelle darstellen

    6
    0 Votes
    6 Posts
    105 Views
    fuzzy1955F
    @Norwegen60 sagte in objekt-Werte in tabelle darstellen: um aktuelle Werte anzuzeigen, die DB immer wieder abfragen müsste und das ist resourcenaufwändig Wenn du mit MS SQL gut umgehen kannst, geht es auch anders. Ich habe ein Javascript, das kurz vor Mitternacht automatisch läuft und die Daten tageweise verdichtet. Dabei werden sie mit einer Stored Procedure direkt in der Datenbank in separate Tabellen geschrieben, die wenig Platz brauchen. Die Stored Procedure: Spoiler DELIMITER $$ CREATE OR REPLACE PROCEDURE iobroker.sp_tagesbilanz( OUT AnzDS INT ) -- CALL iobroker.sp_tagesbilanz(@AnzDS); BEGIN -- Fehlerbehandlung DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN INSERT INTO iobroker.strombilanz_log (logtime, message) VALUES (NOW(), 'SQLEXCEPTION in sp_strombilanz'); END; SET SQL_SAFE_UPDATES = 0; SET AnzDS = ( SELECT Count(ID) AS Anz FROM iobroker.vw_number WHERE id IN (119,179,180,181,182,183) AND DATE_FORMAT(tsDate, '%Y-%m-%d') NOT IN ( SELECT DATE_FORMAT(tag, '%Y-%m-%d') FROM iobroker.strombilanz)); SELECT AnzDS; INSERT INTO iobroker.ofenlaufzeit (datum, wert) SELECT DATE_FORMAT(tsDate, '%Y-%m-%d') as datum, SUM(val) as wert FROM iobroker.vw_number WHERE id = 177 AND DATE_FORMAT(tsDate, '%Y-%m-%d') NOT IN (SELECT DATE_FORMAT(datum, '%Y-%m-%d') FROM iobroker.ofenlaufzeit) GROUP BY DATE_FORMAT(tsDate, '%Y-%m-%d') ORDER BY DATE_FORMAT(tsDate, '%Y-%m-%d'); INSERT INTO iobroker.strombilanz (tag, pv, haus, eauto, gen, nots, akku, gesamt, autark) SELECT DATE_FORMAT(tsDate, '%Y-%m-%d'), IFNULL(CAST(MAX(CASE WHEN id = 181 THEN val END) AS INT), 0) as pv, IFNULL(CAST(MAX(CASE WHEN id = 183 THEN val END) AS INT) * -1, 0) as haus, IFNULL(CAST(MAX(CASE WHEN id = 180 THEN val END) AS INT) * -1000, 0) as eauto, IFNULL(CAST(MAX(CASE WHEN id = 179 THEN val END) AS INT) * -1000, 0) as gen, IFNULL(CAST(MAX(CASE WHEN id = 182 THEN val END) AS INT) * -1, 0) as nots, IFNULL(CAST(AVG(CASE WHEN id = 119 THEN val END) AS INT), 0) as akku, 0, 0 FROM iobroker.vw_number WHERE id IN (119,179,180,181,182,183) AND DATE_FORMAT(tsDate, '%Y-%m-%d') NOT IN (SELECT DATE_FORMAT(tag, '%Y-%m-%d') FROM iobroker.strombilanz) GROUP BY DATE_FORMAT(tsDate, '%Y-%m-%d'); UPDATE iobroker.strombilanz SET gesamt = (pv + haus + eauto + gen + nots), autark = IF((pv + haus + eauto + gen + nots) > 0, 1, 0); -- Logging INSERT INTO iobroker.strombilanz_log (logtime, message) VALUES (NOW(), CONCAT('sp_strombilanz erfolgreich ausgeführt')); DELETE FROM iobroker.strombilanz_log WHERE CAST(logtime AS DATETIME) < CAST(now() - INTERVAL 10 DAY AS DATETIME); SET SQL_SAFE_UPDATES = 1; END$$ DELIMITER ; Die sehr detaillierten Ursprungsdaten werden dann gelöscht. Dieses Skript schreibt dann die gewünschten Analysedaten als JSON in Datenpunkte. Ein Auszug daraus: Spoiler //-------- Tagesbilanz erstellen ---------------------------------------------- async function sendToAsync() { return new Promise((resolve, reject) => { sendTo('sql.0', 'query', 'CALL iobroker.sp_tagesbilanz(@AnzDS);', result => { if (result.error) {reject(result.error);} else {resolve(result.result)} }); }); } try { const result = await sendToAsync() console.log('Die sp_tagesbilanz hat ' + JSON.stringify(result) + ' Datensätze erstellt'); // ' + getAttr(JSON.parse(result),'AnzDS') + ' //-------- Strombilanz gesamt ---------------------------------------------------------------------------------------- strSQL = "SELECT DATE_FORMAT (tag, '%Y-%m-%d') AS Tag, " + "ROUND(SUM(pv) / 1000.0,1) AS PV, " + "ROUND(SUM(haus) / 1000.0,1) AS Haus, " + "ROUND(SUM(eauto) / 1000.0,1) AS eAuto, " + "ROUND(SUM(gen) / 1000.0,1) AS Gen, " + "ROUND(SUM(nots) / 1000.0,1) AS Nots, " + "ROUND(SUM(gesamt) / 1000.0,1) AS gesamt, " + "ROUND(AVG(akku)) AS Hausakku, " + "ROUND(AVG(autark)) AS autark " + "FROM iobroker.strombilanz " + "GROUP BY DATE_FORMAT (tag, '%Y-%m-%d') " + "ORDER BY DATE_FORMAT (tag, '%Y-%m-%d') desc;"; sendTo('sql.0', 'query', strSQL, function (result) { if (result.error) { console.error(result.error); } else { MyTrigger (idStrombilanzTage,JSON.stringify(result.result)); } }); [Nachtrag1] Ich habe als Selbständiger 30 Jahre lang MS SQL-Datenbanken entwickelt und bin heute noch begeistert vom Automatisierungsgrad, der Datenkonsistenz, der Ressourcenschonung, etc. [Nachtrag2] Zur Darstellung im VIS-2 verwende ich das Widget "Basic Table".
  • MQTT oder MQTT-Client

    39
    2
    0 Votes
    39 Posts
    5k Views
    mickymM
    @PackElend sagte in MQTT oder MQTT-Client: Wo macht man dies, bei mir erscheint kein Zahnrad oder ähnliches, wie weiter oben erwähnt das Zahnnrad findest Du neben dem Datenpunkt in der Objektansicht, wenn Du den mqtt-Client installiert hast. Dort kannst Du auch eigene Datenpunkte erstellen. [image: 1769434988919-d3935a47-515b-489d-8003-ea3433cfa45e-image-resized.png]
  • Adapter Updates --> viele Fehler und Warnungen, iob läuft

    2
    0 Votes
    2 Posts
    114 Views
    Thomas BraunT
    @WG25 Dir fehlen die python3-setuptools. Nachinstallieren: sudo apt update sudo apt install python3-setuptools
  • BACnet Adapter

    Moved
    50
    0 Votes
    50 Posts
    14k Views
    Andy3268A
    Falls hier mal jemand über den Thread stolpert und einen bacnet Adapter sucht es gibt inzwischen einen der stand jetzt recht neu ist aber schon mit dem iobroker funktioniert. https://github.com/FreDeko06/ioBroker.bacnet
  • HEOS Adapter - neue Favoriten werden nicht erzeugt

    1
    0 Votes
    1 Posts
    26 Views
    No one has replied
  • Debian Trixie, UDEV

    6
    0 Votes
    6 Posts
    133 Views
    Thomas BraunT
    @FredF Dann schau mal per dmesg -wT den Moment an, wenn der USB-Stick neugesteckt wird. Edit: Nutzt du eine Braille-Zeile? Wenn nicht, dann schmeiß das Paket 'brltty' raus.
  • History & Charts: keine Aufzeichnung

    17
    3
    0 Votes
    17 Posts
    305 Views
    L
    @Homoran sagte in History & Charts: keine Aufzeichnung: ich rede vom history-Alias Dann zeig mir mal deine history Datenstruktur Was genau soll ich dir liefern? Ich verstehe wohl noch immer nicht, was du meinst. und was ist mit den restlichen noch offenen Fragen? Welche Fragen meinst du?
  • ical und ein Termin für mehrere Tage

    6
    0 Votes
    6 Posts
    105 Views
    skvarelS
    Genau, als Einzeltermin mit Wiederholung.
  • Kopieren eines vis-view auf ein neues vis-2-view

    4
    0 Votes
    4 Posts
    75 Views
    skvarelS
    Zu den Basic-Widgets kann ich leider nichts sagen. Ich nutze mittlerweile nur noch unsere inventwo Widgets. Für die Icons empfehle ich unseren neuen Icon Adapter: [image: 1769344565152-9ee82d03-7ad8-4e92-8c2a-be2740127623-image.png] Die sind im VIS2 Editor über den 'Material Icon Selector' wählbar [image: 1769344629389-dfae6b77-6f00-4e7a-b484-634a030f112f-image.png] Wenn da Icons fehlen, einfach melden! Ich baue sie dann ein.
  • 0 Votes
    6 Posts
    153 Views
    BananaJoeB
    @Ja.rod ich nutze den Command-Datenpunkt z.B. mit "erstelle eine ankündigung waschmaschine ist fertig"
  • InfluxDB: Nur Änderungen aufzeichnen wird ignoriert

    Locked
    11
    2
    0 Votes
    11 Posts
    270 Views
    HomoranH
    @Laser sagte in InfluxDB: Nur Änderungen aufzeichnen wird ignoriert: Mein eigentliches Problem ist: "Wie konfiguriere ich die Datenbankspeicherung richtig, damit nur Änderungen möglichst zeitnah geschrieben werden?" Da bist du hier in der falschen Kategorie. Bitte in Influx mit allen relevanten Informationen posten. EDIT: ...und niemals nicht nachträgliche Informationen ohne Kennzeichnung hinzufügen. ich mache hier diesen Uralt-Thread zu!
  • eCharts Grafiken kopieren / exportieren

    5
    0 Votes
    5 Posts
    255 Views
    hsteinmeH
    @Homoran sagte in eCharts Grafiken kopieren / exportieren: Die Definitionen befinden sich in den historisierten Datenpunkten Befinden sich die Definitionen nicht in den Datenpunkten der eCharts-Instanz? Und zwar in echarts.<instance>.<folder>.<preset>? Spoiler { "common": { "name": "Badezimmer" }, "native": { "url": "", "data": { "lines": [ { "name": "Ist-Temperatur", "id": "hm-rpc.0.000A9D89A770E2.1.ACTUAL_TEMPERATURE", "instance": "system.adapter.history.0", "thickness": "3", "chartType": "auto", "aggregate": "", "isBoolean": null, "symbolSize": 3, "validTime": 35, "unit": "°C", "color": "#0000ff", "fill": 0.2, "yaxe": "right", "max": "30", "min": "3", "xaxe": "top", "yticks": "27" }, { "name": "Soll-Temperatur", "id": "hm-rpc.0.000A9D89A770E2.1.SET_POINT_TEMPERATURE", "instance": "system.adapter.history.0", "thickness": "3", "chartType": "auto", "aggregate": "", "symbolSize": 3, "validTime": 35, "xaxe": "off", "unit": "°C", "color": "#ff0000", "fill": 0.2, "commonYAxis": "0" }, ... "type": "chart", "_id": "echarts.0.Klima.Badezimmer", "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1769276796369 } Dann könnte die Konfiguration eines eChart-Datenpunktes auf dem Quellsystem vollständig exportiert und 1:1 im Zielsystem importiert werden.
  • Log Adapter Versionen Updates

    adapter update log
    2
    0 Votes
    2 Posts
    68 Views
    mcm1957M
    Kenn derzeit keine solche Infoquelle - lass mich aber gern korrigieren. Ich hab dazu aber mal ein Issue erstellt: https://github.com/ioBroker/ioBroker.js-controller/issues/3205. Wenn wer was dazu sagen will bitte kommentieren oder ggF subscriben umd Kommentare mitzubekommen.
  • IObroker hinter Nginx Proxy Manager betreiben

    10
    0 Votes
    10 Posts
    131 Views
    OliverIOO
    @Creator also meiner Meinung nach wäre die Hauptlösung einfach im router hostnamen / lokale DNS Record vergeben So sieht das bei mir aus ich verwende pihole als dns und dhcp [image: 1769189507145-bed5ab49-a805-40b3-9431-34d6cb574c79-image.png] in openwrt nennt sich das static leases. bei fritzbox Lokaler DNS / Hostname-Auflösung verschiedene ports auf dem gleichen gerät müsstest du dann eh mappen (8081>80, 8082>?) dann kannst du es gleich lassen. mappen auf verschiedene subdomains wird wahrscheinlich nicht funktionieren, da dann iobroker seine eigenen urls entsprechend anpassen müsste, iobroker kann aber nur andere ports. zur vollständigkeit hier mal noch mein internes dashboard, was ich einfach mit der internen url "links" (meist reicht einfach auch im browser nur l zum tippen [image: 1769190243212-c8e6e938-90f2-4300-b38e-8a60d29fd8b7-image.png] jeder eintrag ist eine einfache textdatei in einem verzeichnis. das system horcht auf änderungen und generiert dann das portal auf basis des statischen seiten generators sphinx einen neuen eintrag ist sehr simple über eine einfache textdatei angelegt Title: IOBroker Test Tags: _All, Admin, Iobroker Link: http://192.168.1.81:8081/ IOBroker Haussteuerung Test intern setze ich auch den network proxy manager ein, aber halt ohne ssl und ohne portmapping alles ist in docker containern gibt aber noch eine ganze reihe anderer softwares dafür Homer Heimdall Dashy Organizr
  • Pilips Hue Adapter Benutzer anlegen ???

    2
    0 Votes
    2 Posts
    62 Views
    Marc BergM
    https://forum.iobroker.net/topic/81606/hue-adapter-lässt-sich-nicht-verbinden-gelöst/2?_=1769181397585
  • Nach Update geht nix mehr! Javascripft Fehler

    10
    2
    0 Votes
    10 Posts
    100 Views
    W
    edit: der DP wird in nem anderen Block gesetzt. Liegt wohl dran, das wir gard kein PV Leistung haben. Da hab ich wohl unglücklich geupdatet [image: 1769112128732-screenshot-2026-01-22-210029.png]
  • hex in Farbe

    2
    0 Votes
    2 Posts
    55 Views
    OliverIOO
    @Dr.Pie Du musst den Wert in ein Datenpunkt schreiben. Mit binding kannst Du dann diesen Wert (plus # davor) in das Schrift Farb Feld des anderen Widgets eintragen lassen. Dort dann einfach sowas eintragen {javascript.0.meinefarbe}
  • 0 Votes
    38 Posts
    11k Views
    M
    Hi zusammen, Ich häng mich mal mit meinem Thema an diesen Thread. Ich hab 'nen ACThor9s, der im ioBroker (v7.0.7) via Modbus-Adapter angebunden ist. Ich hab 2 Modbus-Adapter, einer zum Auslesen der Daten, einen zur Bereitstellung der Daten zur Steuerung und der Messdaten zur Anzeige. Ich bekomme in unregelmäßigen Abständen, jedoch bis zu 30 mal am Tag immer wieder die gleiche Modbus-Fehlermeldung: modbus.2 2026-01-22 01:42:13.608 warn Error on connection: {"errno":-104,"code":"ECONNRESET","syscall":"read"} modbus.2 2026-01-22 01:42:13.547 error Socket error Ich hab schon versucht, die Daten zur Steuerung von den Daten zu Messung für den AC-Thor 9s auf 2 verschiedene Instanzen des Modbus-Adapters zu verteilen: keine Änderung. Ich hab versucht die Steuerung direkt über den SMA-Energy-Meter zu gewährleisten und nur die Messdaten via Modbus bereitzustellen: keine Änderung. Mehrfacher Neustart AC-Thor 9s: keine Änderung. Das Debug-Log zeigt gefühlt auch nichts verwertbares an. Jemand das gleiche Verhalten schon mal gehabt? Jemand vielleicht einen Verdacht oder gar eine Lösung? Schon mal Danke!

437

Online

32.7k

Users

82.4k

Topics

1.3m

Posts