Weiter zum Inhalt

Visualisierung

9.5k Themen 105.0k Beiträge

Hilfe zu Visualisierungen

NEWS

  • Visualisierung mit vis-Inventwo

    12
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    A
    @legro [image: 1698144500423-536cfdad-b90a-42b0-8dd9-5431f190fba3-grafik-resized.png] So sieht das jetzt bei mir aus.
  • VIS-2 startet nicht

    4
    1
    0 Stimmen
    4 Beiträge
    873 Aufrufe
    peppiP
    @feuersturm Hi ich habe alles nochmals über den npm installiert. erlästartet aber nicht wie gewollt. nues Problem ==> https://forum.iobroker.net/topic/69458/vis-2-installiert-startet-importiert-nichts
  • Flot - Ausrichtung der X-Achsenbeschriftung

    8
    1
    0 Stimmen
    8 Beiträge
    820 Aufrufe
    A
    @homoran Wo finde ich denn diese Einstellung? EDIT: Oh mann... Unter Optionen - Zeitformat Wie kann man so blind sein? Das hab ich die letzten Jahre komplett übersehen Aber den Monat als Text geht nicht, oder? Oder die alten FLOTs nach eChart exportieren?
  • [gelöst] kein Scrollen mit VIS 2 und Iobroker.visu-App

    4
    0 Stimmen
    4 Beiträge
    427 Aufrufe
    R
    habe die Lösung hier gefunden
  • vis.0 (9564) Error: getaddrinfo ENOENT iobroker.net

    1
    1
    0 Stimmen
    1 Beiträge
    89 Aufrufe
    Niemand hat geantwortet
  • Modbusregister SMA Tri 8.0 & Visualisierung

    5
    1
    0 Stimmen
    5 Beiträge
    290 Aufrufe
    D
    @guinan sagte in Modbusregister SMA Tri 8.0 & Visualisierung: Kann mir jemand sagen aus welchen Registern die angezeigten Werte aus dem Bild kommen? https://www.sma.de/produkte/solar-wechselrichter/sunny-tripower-80-100 --> Parameter / Modbus
  • [Material Design CSS / MDCSS V2] Vis-Views zur Inspiration

    vis
    191
    22
    5 Stimmen
    191 Beiträge
    38k Aufrufe
    D
    @sigi234 danke schau ich mir an.
  • Fully Kiosk Vis Fehler

    9
    3
    0 Stimmen
    9 Beiträge
    844 Aufrufe
    Tg-71T
    Fully spinnt bei mir im Darkmodus. Dann fängt er an Farben zu invertieren - die er lieber in Ruhe lassen sollte. Ich hab ihn in Fully deaktiviert. Bei "Other Settings > Darkmode".
  • VISU OFFLINE BETREIBEN

    1
    0 Stimmen
    1 Beiträge
    185 Aufrufe
    Niemand hat geantwortet
  • Lovelace: custom: button-card: tap_action funktioniert nicht

    5
    3
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    M
    @critter81 Welche Version habt ihr verwendet. Wenn ich die 3.5.0 nehme dann geht es. Version 4 scheint Probleme zu machen
  • nwesenheits Widget für Habpanel für 3 Zuständen

    1
    1
    0 Stimmen
    1 Beiträge
    142 Aufrufe
    Niemand hat geantwortet
  • iQontrol - Einbinden von eCharts

    2
    0 Stimmen
    2 Beiträge
    340 Aufrufe
    HomoranH
    @blockmove bitte Threadtitel anpassen!
  • Datenpunkte als Tabelle

    7
    0 Stimmen
    7 Beiträge
    945 Aufrufe
    ?
    @liv-in-sky Danke für den Tip. Meine TelePeriod sind bei den sogar 5min, weil alles andere für Verbrauchswerte keinen Sinn macht. Eigentlich ging noch größer Danke nochmals :)
  • [gelöst] VIS 2 und Smartphone

    3
    0 Stimmen
    3 Beiträge
    673 Aufrufe
    R
    @homoran sagte in VIS 2 und Smartphone: @roga sagte in VIS 2 und Smartphone: die App iobroker.vis auch mal mit iobroker.visu probiert? noch nicht, aber gerade eben ausprobiert und vielen Dank für den Tipp, hat funktioniert :-)
  • Habpanel Auflistung

    1
    0 Stimmen
    1 Beiträge
    97 Aufrufe
    Niemand hat geantwortet
  • Textfarbe für bestimmtes Level definieren

    Verschoben
    13
    0 Stimmen
    13 Beiträge
    4k Aufrufe
    spicerS
    Hallo Ich habe {wert:solarmanpv.0.61538217.229788178.B_Pdcg1;wert < 0 ? "#ff141c" :: wert > 0 ? "#28ad01" :: "#ef9101"} bei Color eingetragen. Leider ist der Text immer rot (#ff141c). Auch wenn ich {wert:0;wert < 0 ? "#ff141c" :: wert > 0 ? "#28ad01" :: "#ef9101"} eintrage, bleibt der Text auf rot. Habe ich etwas bei der Quelle falsch eingetragen? Unter Objekte sieht die Quelle so aus: [image: 1697816954826-auswahl_001.png] Mein Ziel ist es, dass bei negativem Wert der Text rot ist, bei positivem grün (#28ad01) und bei 0 orange (#ef9101). Edit: Problem gefunden. Es funktionierte die ganze Zeit. Nur wird die Textfarbe im VIS-Editor falsch angezeigt. In VIS-View stimmt es ;)
  • Eine eigene VIS mit Angular

    4
    0 Stimmen
    4 Beiträge
    572 Aufrufe
    ?
    @weggetor sagte in Eine eigene VIS mit Angular: @dp20eic Jein... Ich dachte mehr so an ein Rumpf-Angular-Projekt wie die wichtigen socket-Methoden (connect, getState etc. schon implementiert sind) Moin, ich bin kein Programmierer, kann über die Qualität nichts sagen, aber ich habe mal Bard gefragt, geht sicherlich auch über ChatGPT Spoiler Erstellen eines Angular-Projekts Zuerst erstellen wir ein neues Angular-Projekt mit dem Befehl ng new socket-demo. ng new socket-demo Dadurch wird ein neues Verzeichnis mit dem Namen socket-demo erstellt, das das Projekt enthält. Installieren des ngx-socket-io-Pakets Als nächstes installieren wir das ngx-socket-io-Paket, das die Socket.IO-Bibliothek für Angular bereitstellt. npm install ngx-socket-io --save Konfigurieren der Socket.IO-Module Um Socket.IO in unserem Projekt zu verwenden, müssen wir das SocketIoModule und das HttpClientModule in die AppModule importieren. import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { SocketIoModule } from 'ngx-socket-io'; import { HttpClientModule } from '@angular/common/http'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, SocketIoModule.forRoot(), HttpClientModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { } Implementieren der Socket-Methoden In unserem Beispiel verwenden wir die folgenden Socket-Methoden: connect(): Verbindet den Client mit dem Socket-Server. getState(): Ruft den aktuellen Zustand des Socket-Servers ab. emit(): Emitiert ein Event an den Socket-Server. import { Component, OnInit } from '@angular/core'; import { Socket } from 'ngx-socket-io'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent implements OnInit { socket: Socket; constructor(private socketService: Socket) {} ngOnInit() { this.socket = this.socketService.connect(); } connect() { this.socket.connect(); } getState() { return this.socket.getState(); } emit() { this.socket.emit('my-event', { data: 'Hello, world!' }); } } Implementieren des HTML- und CSS-Codes In unserem Beispiel verwenden wir den folgenden HTML- und CSS-Code, um die Socket-Methoden zu verwenden. HTML <h1>Socket.IO Demo</h1> <button (click)="connect()">Connect</button> <p>{{getState()}}</p> <button (click)="emit()">Emit</button> !!!Verwende Code mit Vorsicht. Weitere Informationen!!! CSS h1 { font-size: 24px; } button { margin-bottom: 10px; } Verwende Code mit Vorsicht. Weitere Informationen Ausführen des Projekts Um das Projekt auszuführen, verwenden wir den Befehl ng serve. ng serve Dadurch wird das Projekt auf http://localhost:4200 gestartet. Ausgabe Wenn wir das Projekt öffnen, sehen wir den folgenden Text: Socket.IO Demo Connect Wenn wir auf die Schaltfläche "Connect" klicken, wird der Client mit dem Socket-Server verbunden. Socket.IO Demo Connected Wenn wir auf die Schaltfläche "Get State" klicken, wird der aktuelle Zustand des Socket-Servers abgerufen. Socket.IO Demo Connected { connected: true } Wenn wir auf die Schaltfläche "Emit" klicken, wird ein Event an den Socket-Server emittiert. Socket.IO Demo Connected { connected: true } Hello, world! Erweiterung des Beispiels In diesem Beispiel haben wir nur die grundlegenden Socket-Methoden implementiert. Um das Beispiel zu erweitern, können wir folgende Dinge tun: Erweiterte Socket-Methoden implementieren: Neben den grundlegenden Socket Quellen www.pluralsight.com/guides/conceptualizing-the-purpose-of-an-angular-module github.com/ffalt/hookayunterliegt Lizenz (MIT) github.com/khelilAppinio/m4dti_client_angular_for_test www.telerik.com/blogs/building-a-data-visualization-dashboard-kendo-ui-angular-socket-io developer.okta.com/blog/2018/11/30/web-app-with-express-angular-graphql Spoiler In Ordnung, hier ist ein Angular Projekt mit den Socket-Methoden connect, getState usw. enthalten: Server-Code Zuerst erstellen wir einen Server, mit dem wir die Socket-Verbindungen verwalten können. Dazu verwenden wir den Node.js-Webserver Express und das Socket.IO-Framework. const express = require("express"); const socketio = require("socket.io"); const app = express(); const server = app.listen(3000); const io = socketio(server); io.on("connection", (socket) => { console.log("Ein neuer Client hat sich verbunden"); // Socket verbinden socket.connect(); // Socket-Status abfragen socket.on("getState", () => { socket.emit("state", { connected: true, }); }); // Socket-Nachricht senden socket.emit("message", "Hallo Welt!"); }); Dieser Server erstellt einen Socket.IO-Server auf dem Port 3000. Wenn sich ein Client mit dem Server verbindet, wird der connect()-Handler aufgerufen. In diesem Handler wird der Socket verbunden und der getState()-Handler abonniert. Der getState()-Handler wird aufgerufen, wenn der Client den getState-Event empfängt. In diesem Handler wird der aktuelle Socket-Status zurückgegeben. Client-Code Um mit dem Server zu kommunizieren, erstellen wir einen Angular-Client. Dazu verwenden wir das ngx-socket-io-Modul. npm install @ngx-socket-io/client In unserer App-Komponente importieren wir das Socket-Service und konfigurieren es mit der URL des Socket-Servers. import { Component, OnInit } from "@angular/core"; import { Socket } from "@ngx-socket-io/client"; @Component({ selector: "app-root", templateUrl: "./app.component.html", styleUrls: ["./app.component.css"], }) export class AppComponent implements OnInit { constructor(private socket: Socket) {} ngOnInit() { this.socket.connect(); } } In der ngOnInit()-Methode verbinden wir den Socket mit dem Server. Um den Socket-Status abzufragen, verwenden wir den getState()-Methode. import { Component, OnInit } from "@angular/core"; import { Socket } from "@ngx-socket-io/client"; @Component({ selector: "app-root", templateUrl: "./app.component.html", styleUrls: ["./app.component.css"], }) export class AppComponent implements OnInit { constructor(private socket: Socket) {} ngOnInit() { this.socket.connect(); // Socket-Status abfragen this.socket.getState().subscribe((state) => { console.log("Socket-Status:", state); }); } } Dieser Code abonniert das getState()-Event und gibt den empfangenen Status in die Konsole aus. Beispiel-Ausgabe Socket-Status: { connected: true } Fertigstellung Um das Projekt zu testen, starten wir den Server mit dem Befehl node server.js. Anschließend starten wir den Client mit dem Befehl ng serve. Wenn wir die App öffnen, sollte der Socket-Status in der Konsole ausgegeben werden. Verbesserungen Dieses Projekt ist nur ein einfaches Beispiel für die Verwendung von Socket.IO in Angular. Es gibt noch viele weitere Möglichkeiten, die Socket-Methoden zu verwenden. Zum Beispiel können wir den Socket verwenden, um Nachrichten zwischen Clients zu senden oder um Daten von einem Server abzurufen. Hier sind einige Beispiele für Verbesserungen: Socket-Nachrichten senden: Wir können den Socket verwenden, um Nachrichten zwischen Clients zu senden. Dazu verwenden wir die emit()-Methode. Daten von einem Server abrufen: Wir können den Socket verwenden, um Daten von einem Server abzurufen. Dazu verwenden wir die on()-Methode, um den gewünschten Event zu abonnieren. Socket-Sicherheit: Wir sollten die Socket-Verbindungen sichern, um sie vor unbefugtem Zugriff zu schützen. Dazu können wir TLS/SSL verwenden. Spoiler In Ordnung, hier ist ein Angular Projekt mit den Socket-Methoden connect, getState usw. enthalten: Server-Code Zuerst erstellen wir einen Server, mit dem wir die Socket-Verbindungen verwalten können. Dazu verwenden wir den Node.js-Webserver Express und das Socket.IO-Framework. const express = require("express"); const socketio = require("socket.io"); const app = express(); const server = app.listen(3000); const io = socketio(server); io.on("connection", (socket) => { console.log("Ein neuer Client hat sich verbunden"); // Socket verbinden socket.connect(); // Socket-Status abfragen socket.on("getState", () => { socket.emit("state", { connected: true, }); }); // Socket-Nachricht senden socket.emit("message", "Hallo Welt!"); }); Dieser Server erstellt einen Socket.IO-Server auf dem Port 3000. Wenn sich ein Client mit dem Server verbindet, wird der connect()-Handler aufgerufen. In diesem Handler wird der Socket verbunden und der getState()-Handler abonniert. Der getState()-Handler wird aufgerufen, wenn der Client den getState-Event empfängt. In diesem Handler wird der aktuelle Socket-Status zurückgegeben. Client-Code Um mit dem Server zu kommunizieren, erstellen wir einen Angular-Client. Dazu verwenden wir das ngx-socket-io-Modul. npm install @ngx-socket-io/client In unserer App-Komponente importieren wir das Socket-Service und konfigurieren es mit der URL des Socket-Servers. import { Component, OnInit } from "@angular/core"; import { Socket } from "@ngx-socket-io/client"; @Component({ selector: "app-root", templateUrl: "./app.component.html", styleUrls: ["./app.component.css"], }) export class AppComponent implements OnInit { constructor(private socket: Socket) {} ngOnInit() { this.socket.connect(); } } In der ngOnInit()-Methode verbinden wir den Socket mit dem Server. Um den Socket-Status abzufragen, verwenden wir den getState()-Methode. import { Component, OnInit } from "@angular/core"; import { Socket } from "@ngx-socket-io/client"; @Component({ selector: "app-root", templateUrl: "./app.component.html", styleUrls: ["./app.component.css"], }) export class AppComponent implements OnInit { constructor(private socket: Socket) {} ngOnInit() { this.socket.connect(); // Socket-Status abfragen this.socket.getState().subscribe((state) => { console.log("Socket-Status:", state); }); } } Dieser Code abonniert das getState()-Event und gibt den empfangenen Status in die Konsole aus. Beispiel-Ausgabe Socket-Status: { connected: true } Fertigstellung Um das Projekt zu testen, starten wir den Server mit dem Befehl node server.js. Anschließend starten wir den Client mit dem Befehl ng serve. Wenn wir die App öffnen, sollte der Socket-Status in der Konsole ausgegeben werden. Verbesserungen Dieses Projekt ist nur ein einfaches Beispiel für die Verwendung von Socket.IO in Angular. Es gibt noch viele weitere Möglichkeiten, die Socket-Methoden zu verwenden. Zum Beispiel können wir den Socket verwenden, um Nachrichten zwischen Clients zu senden oder um Daten von einem Server abzurufen. Hier sind einige Beispiele für Verbesserungen: Socket-Nachrichten senden: Wir können den Socket verwenden, um Nachrichten zwischen Clients zu senden. Dazu verwenden wir die emit()-Methode. Daten von einem Server abrufen: Wir können den Socket verwenden, um Daten von einem Server abzurufen. Dazu verwenden wir die on()-Methode, um den gewünschten Event zu abonnieren. Socket-Sicherheit: Wir sollten die Socket-Verbindungen sichern, um sie vor unbefugtem Zugriff zu schützen. Dazu können wir TLS/SSL verwenden. VG Bernd
  • Wiedergabe von IP-Kamerabildern in VIS

    3
    0 Stimmen
    3 Beiträge
    346 Aufrufe
    crunchipC
    @alti sagte in Wiedergabe von IP-Kamerabildern in VIS: Im iframe kommt die Meldung Inhalt blockiert oder Verbindung abgelehnt. Bei den anderen Widgets einfach nur ein leerer Kasten. nen rtsp Stream kannst du so nicht einfach einbinden, gibt hier aber im Forum nen Thread zum einbinden die wansview haben allerdings auch einen mpeg stream, dieser lässt sich einbinden es gibt auch noch einen Adapter @alti sagte in Wiedergabe von IP-Kamerabildern in VIS: ein Bild von einer IP Kamera zu bekommen https://forum.iobroker.net/post/777390
  • Vis Offline-Lizenz für Vis-2

    2
    0 Stimmen
    2 Beiträge
    275 Aufrufe
    sigi234S
    @jörn-körner Das kommt noch laut @apollon77
  • Webseite in VIS anzeigen lassen

    10
    1
    0 Stimmen
    10 Beiträge
    1k Aufrufe
    DJMarc75D
    @roelli sagte in Webseite in VIS anzeigen lassen: <a href="//www.goldpreis.de" target="_blank" rel="nofollow"><img src="//www.goldpreis.de/charts/goldpreis-euro-monat-feinunze.jpg" alt="Goldpreis.de - Aktuelle Preise und Kurse"/></a> Das ist ja auch nur ein Link zu einem JPG und kein iFrame. "Wichtige" Seiten unterbinden gern mal das abbilden der iFrames. Das sieht man dann wenn (z.B. Firefox) anzeigt dass die Anzeige nicht gestattet wird! siehe an Deinem Beispiel: <iframe src="https://www.google.de" id="my-iframe" scrolling="no"></iframe> [image: 1697650606009-screenshot-2023-10-18-193449.png]

342

Online

33.0k

Benutzer

83.3k

Themen

1.3m

Beiträge