Skip to content

NEWS

  • WLED Anfänger Frage wegen ProblemMit LED Stripe

    Off Topic
    17
    0 Votes
    17 Posts
    232 Views
    malorossM
    @haselchen sagte in WLED Anfänger Frage wegen ProblemMit LED Stripe: Da ist doch nen Pfeil auf dem Stripe!? Korrekt - ich bin alt und der Pfeil war echt winzig... :D
  • 0 Votes
    3 Posts
    59 Views
    Norwegen60N
    Direkt von iobroker am 6.9.23 [image: 1769446283144-736e8b17-caf5-4b95-9380-874483feb622-image.png] Aber ich sehe gerade es ging um die Pro-Lizenz. Ich habe BackUp Restore gemacht. Auf der alten war aber kein vis-2 drauf. Kann sein, dass ich damals entschieden habe bei vis-1 zu bleiben
  • 0 Votes
    10 Posts
    154 Views
    HomoranH
    @hg6806 sagte in Unterbinden d. Abtauens b. Luft-Luft Wärmepumpen sinnvoll?: Die Ausblastemperatur wird doch am Verdampfer gemessen. möglich! ich nehme das wörtlich @hg6806 sagte in Unterbinden d. Abtauens b. Luft-Luft Wärmepumpen sinnvoll?: Wo sitzen dann deine beiden Sensoren? einmal am Lüftungsgitter Vorne (Ausblastemperatur? und einmal in etwas Abstand im Ansaugbereich hinten. Die aber nur zur zusätzlichen Info. Für die Umgebung nehme ich den AT Sensorwert der Altherma
  • objekt-Werte in tabelle darstellen

    ioBroker Allgemein
    6
    0 Votes
    6 Posts
    71 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".
  • Popup öffnen im responsive Design

    Visualisierung
    2
    0 Votes
    2 Posts
    67 Views
    M
    @colu ChatGPT Ja – das Problem ist bei VIS 2 leider „normal“: Sobald du im Responsive Design bist, ändern sich Position/Größe deiner Info-Boxen dynamisch (Breakpoints, Umbruch, Skalierung). Ein transparentes Overlay (Universal Widget / absolute Position) bleibt aber an seinen „starren“ Koordinaten hängen → dadurch verrutscht die Klickfläche. Hier sind Lösungen, die in Responsive wirklich sauber funktionieren (ohne rumgefummel mit Overlays): 1) Beste Praxis: Klick direkt auf das Widget / Container (statt Overlay) Wenn deine Info-Box ein Material-Widget Schalter/Knopf ist: Nutze dessen OnClick / Action (oder „bei Klick“) und öffne darüber ein Popup. Idee: Nicht „unsichtbar drüberlegen“, sondern das Element selbst ist der Trigger. Dann bleibt es immer korrekt, egal wie es im Grid umbricht. Umsetzung (VIS 2 typisch): Info-Box als Button/Tile/Container bauen Aktion: Dialog/Popup öffnen Inhalt des Popups: deine Detailseite (Heizung/Fenster/Rolladen) als View/Seite (Je nach Widget-Set heißt das z.B. „Open view in dialog“, „Show dialog“, „Popup öffnen“, „View anzeigen“.) 2) Popup als „Dialog mit View“ (statt separate Seite + Navigation) Viele Sets (Material, Basic, teilweise vis2-core) können: View in Dialog/Popup anzeigen Optional: Breite/Höhe relativ (z.B. 90vw / 90vh) → sehr responsive-tauglich Vorteil: Du musst keine Positionen pflegen, nur „öffnen“ und „schließen“. 3) Wenn du unbedingt überlagern willst: Overlay im selben Container, nicht absolut auf der Seite Wenn dein Layout über Grid/Flex kommt, dann: Packe die Info-Box in einen Container Lege den transparenten Klicklayer innerhalb dieses Containers (position: absolute; inset:0) Wichtig: der Container selbst muss „position: relative“ sein Dann skaliert der Overlay mit dem Element, nicht mit der Seite. Das geht aber nur gut, wenn du die Boxen wirklich sauber in Containern kapselst (und nicht „frei“ auf der Seite rumschwebend). 4) Alternative: „Popup-Trigger“ über State/Boolean + CSS/Bindings Wenn du es ganz robust willst: Pro Etage ein Boolean-State (z.B. showHeizungEG) Klick auf Info-Box setzt State auf true Popup-Widget ist sichtbar wenn State true X/Close setzt State false Vorteil: super stabil, auch wenn du später die Views austauschst oder Animationen einbaust. Was ich dir konkret empfehlen würde Mach Variante 1 oder 2: Klick direkt auf die Info-Box → „View im Dialog öffnen“. Das ist in Responsive am wenigsten anfällig und fühlt sich „native“ an.
  • Suche VIS 1 Adapter mit speziellem Slider

    Visualisierung
    4
    1
    0 Votes
    4 Posts
    87 Views
    I
    @bahnuhr Ja, will damit steuern.
  • MQTT oder MQTT-Client

    ioBroker Allgemein
    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]
  • Support Adapter Energiefluss-erweitert v0.7.7

    Moved Visualisierung vis
    4k
    9
    19 Votes
    4k Posts
    6m Views
    hotspot_2H
    @skb Ich hätte noch einen kleinen Feature Request: Ich fände es gut wenn es einen Button gäbe mit dem alle Schalter "Schutz vor Verschieben" auf einmal aktivieren könnte. Wenn man das Projekt fertig hat dann wäre das gut - aus meiner Sicht - und man vergisst nichts.
  • Mit Home Connect Waschmaschine starten

    Blockly
    25
    1
    0 Votes
    25 Posts
    405 Views
    K
    Vielen Dank, dann teste ich mit deinem Vorschlag!
  • [TypeSkript] Zendure SolarFlow Steuerung: KI

    JavaScript
    4
    0 Votes
    4 Posts
    49 Views
    S
    habe es mal auf mehrere Geräte erweitert.. die "Single" Regelung läuft bei mir, aber wie gut es mit mehreren läuft kann ich leider nicht testen
  • 0 Votes
    2 Posts
    81 Views
    Thomas BraunT
    @WG25 Dir fehlen die python3-setuptools. Nachinstallieren: sudo apt update sudo apt install python3-setuptools
  • Zeigt her eure Lovelace-Visualisierung

    Visualisierung template vis
    113
    2 Votes
    113 Posts
    42k Views
    GarfonsoG
    Ich hab mehrere Locks, aber nichts gesondert als Visualisierung dafür. Ob die arbeiten oder nicht, interessiert mich nicht sonderlich (können meine zum größten Teil auch nicht anzeigen). Batterie Warnung wird zusammen mit anderen Batteriewarnungen angezeigt, wenn relevant. Das wird automatisch aus dem Gerät rausgeholt und dafür ein entity erzeugt, was in meiner Filter Karte auftaucht. Sonst halt einfach das lock-entity in einer Entity Karte oder entities. Je nachdem, wie ich es brauche.
  • BACnet Adapter

    Moved ioBroker Allgemein
    50
    0 Votes
    50 Posts
    13k 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
  • 5 Votes
    1 Posts
    100 Views
    No one has replied
  • HEOS Adapter - neue Favoriten werden nicht erzeugt

    ioBroker Allgemein
    1
    0 Votes
    1 Posts
    18 Views
    No one has replied
  • VIS-2 Basic ValueList HTML Style

    Visualisierung
    2
    4
    0 Votes
    2 Posts
    67 Views
    bärleB
    Guten Morgen! Bin ich ganz alleine mit diesem Problem? Funktioniert es bei allen anderen oder mit arbeitet Ihr alle mit anderen Widgets? Danke & Grüße
  • PNG und SVG

    Einsteigerfragen
    9
    0 Votes
    9 Posts
    156 Views
    OliverIOO
    @MartinP wenn das svg normale 2d operationen enthält dann nein. selbst einfachste grafische User Interfaces basieren auf solchen Operationen Das wären aus dem Index von w3schools auf der linken Seite alle Operationen von Rectangle bis Stroke. Die Operationen weiter unten und ganz speziell https://www.w3schools.com/graphics/svg_filters_intro.asp können den rechner und auch die grafikkarte an die grenzen bringen Auch 3d ist mit svg möglich, das ist auch anspruchsvoller https://sketchfab.com/3d-models/svg-example-9dc7e5ad8acf489aa02c503793a5ba12 https://sketchfab.com/3d-models/fnaf-sb-fixed-ruined-roxy-5179daf5af2c405aa729bc95487b053f aber die normalen icons als svg sind alle kein problem das folgende schluckt schon etwas mehr ressourcen svgdemo1.mp4 das haben wir letztes jahr als show case für einen kunden gemacht. das sind 3 svg ringe, die jeweils heftig mit den besagten filtern zerstreut werden.
  • Debian Trixie, UDEV

    ioBroker Allgemein
    6
    0 Votes
    6 Posts
    106 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.
  • Wetterstation

    Hardware
    2
    0 Votes
    2 Posts
    57 Views
    Samson71S
    @Stefan2222 Bei den 96 Treffern die die Forensuche nach "Wetterstation" liefert ist nichts brauchbares dabei?
  • IoBroker in Docker auf Synology Spiegeln

    Docker
    11
    0 Votes
    11 Posts
    111 Views
    Q
    @steff2108 Ich habe ein ähnliches Setup wie du. iobroker läuft bei mir im Docker Container (macvlan) auf meiner DS1821+. Als Backup System habe ich eine DS423+ am Laufen. Meine komplette Docker Umgebung habe ich per Portainer Stacks (Compose) eingerichtet. Die persistenten Container Daten repliziere ich einmal täglich per Synology Snapshot Replication auf die DS423+ Sollte meine primäre DS1821+ ausfallen, brauche ich auf der DS423+ nur die Container zu starten und es läuft wieder alles... Beste Grüße

733

Online

32.6k

Users

82.2k

Topics

1.3m

Posts