Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. ExMatador

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    E
    • Profile
    • Following 0
    • Followers 0
    • Topics 10
    • Posts 63
    • Best 7
    • Groups 1

    ExMatador

    @ExMatador

    7
    Reputation
    20
    Profile views
    63
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    ExMatador Follow
    Starter

    Best posts made by ExMatador

    • RE: Statistik in Grafana: Durchschnittswerte je Zeitbereich

      @christian-0
      Ich schreibe jeden Tag um 23:58 den Energie-Verbrauch (kWh) des Tages und die Kosten (€) des Tages in die Influx-DB.
      Mit diesen Tageswerten wird in Grafana der Tagesverbrauch (letzte 14 Tage), der Wochenverbrauch (letzte 14 Kalenderwochen) und der Monatsverbrauch (letzte 12 Monate) ermittelt und visualisiert. Natürlich kann man in Grafana auch andere Werte in der Zeitachse nehmen.
      Für die Monatsauswertung sieht das Flux-Statement so aus:


      FinalOutput = ["_field", "_time", "_value"]

      RawSeries = from(bucket: "iobroker")
      |> range(start: -1y)
      |> filter(fn: (r) => r._measurement == "0_userdata.0.Gasverbrauch.gasTagEnergie" and r._field == "value")
      |> drop(columns: ["ack", "host"])
      |> truncateTimeColumn(unit: 1m)
      |> aggregateWindow(every: 1mo , fn: sum, createEmpty: true, timeSrc: "_start")

      NamedSeries = RawSeries
      |> map(fn: (r) => ({_value:r._value, _time:r._time, _field:"gasEnergie"}))
      |> keep(columns:FinalOutput)

      NamedSeries |> yield()

      Die Grafik sieht so aus - bin noch nicht so lange dabei (Zahlen sind auf dem Tablet besser zu erkennen als auf dem PC).

      Verbrauch_und_Kosten.png

      Viele Grüße
      ExMatador

      posted in Praktische Anwendungen (Showcase)
      E
      ExMatador
    • RE: (Gelöst) Adapter Version wird nicht aktualisiert

      @Gaspode
      Es hat auf Anhieb funktioniert, alles, wirklich alles ist wieder da.
      Diese Installation ist wirklich richtig gut.
      Besten Dank
      Gruß ExMatador

      posted in ioBroker Allgemein
      E
      ExMatador
    • RE: Go2RtC Probleme

      @kellerkind-86
      Anbei meine config.yml

      mqtt:
        enabled: true
        host: 192.168.178.98
        port: 1885              # Standard mqtt-Port ist 1883, darauf hört bei den ESPxx auch mosquitto, der es dann an den ioBroker.mqtt-client weitergibt (auch 1883)
                                # ioBroker.frigate hat einen eigenen mqtt-server, der nur auf 1885 hört
        topic_prefix: frigate
      
      tls:
        enabled: False
      
      
      birdseye:
        enabled: true
        width: 1280
        height: 720
        mode: continuous
        # layout:
        #  scaling_factor: 2.0
      
      detectors:
        coral:
          type: edgetpu
          device: usb
      
      go2rtc:
        #log:
        #  exec: trace
      
        streams:
          #----- Output ist MJPEG, Video.Transkodierung in H.264, Audio.Transkodierung in OPUS oder AAC
          CAM_EG:
            - rtsp://admin:xxx@192.168.178.84:554/cam/realmonitor?channel=1&subtype=1#audio=aac
      
          CAM_OG:
            - rtsp://admin:xxx@192.168.178.90:554/cam/realmonitor?channel=1&subtype=1&proto=Onvif
      
          #----- Output ist JPEG, Video.Transkodierung in H.264, kein Audio vorhanden
          CAM-3DPrinter:
            - ffmpeg:http://192.168.178.69:81/stream#video=h264 
      
          #----- Alle 4 LE232 Konfiguration: Video: H.264  Audio: AAC  (keine Transkodierung erforderlich)
          #      Alle 4 können den neuen Video-Standard H.265, das kann go2RTC aber nicht
          #      WebRTC kann AAC | OPUS | PCM   
          #      MSE    kann       OPUS | PCM 
          #      MJPEG  kann AAC        | PCM
          CAM-Eingang:
            - rtsp://admin:xxx@192.168.178.38:554/Port/cam/realmonitor?channel=1&subtype=1
          CAM-Terrasse:
            - rtsp://admin:xxx@192.168.178.39:554/Port/cam/realmonitor?channel=1&subtype=1
          CAM-Garten:
            - rtsp://admin:xxx@192.168.178.40:554/Port/cam/realmonitor?channel=1&subtype=1
          CAM-Garage:
            - rtsp://admin:xxx@192.168.178.41:554/Port/cam/realmonitor?channel=1&subtype=1
      
        webrtc:
          candidates:
            - 192.168.178.43:8555
            - stun:8555
      
      cameras:
        CAM-Eingang:
          ffmpeg:
            output_args:
              record: preset-record-generic-audio-copy
            inputs:
              - path: rtsp://127.0.0.1:8554/CAM-Eingang
                input_args: preset-rtsp-generic
                roles:
                  - detect
          detect:
            width: 704
            height: 576
            fps: 5
      
        CAM-Terrasse:
          ffmpeg:
            output_args:
              record: preset-record-generic-audio-copy
            inputs:
              - path: rtsp://127.0.0.1:8554/CAM-Terrasse
                input_args: preset-rtsp-generic
                roles:
                  - detect
          detect:
            width: 704
            height: 576
            fps: 5
      
        CAM-Garten:
          ffmpeg:
            output_args:
              record: preset-record-generic-audio-copy
            inputs:
              - path: rtsp://127.0.0.1:8554/CAM-Garten
                input_args: preset-rtsp-generic
                roles:
                  - detect
          detect:
            width: 704
            height: 576
            fps: 5
      
        CAM-Garage:
          ffmpeg:
            output_args:
              record: preset-record-generic-audio-copy
            inputs:
              - path: rtsp://127.0.0.1:8554/CAM-Garage
                input_args: preset-rtsp-generic
                roles:
                  - detect
          detect:
            width: 704
            height: 576
            fps: 5
      
        CAM_EG:
          ffmpeg:
            output_args:
              record: preset-record-generic-audio-copy
            inputs:
              - path: rtsp://127.0.0.1:8554/CAM_EG
                input_args: preset-rtsp-generic
                roles:
                  - detect
          detect:
            enabled: false
      
        CAM_OG:
          ffmpeg:
            output_args:
              record: preset-record-generic-audio-copy
            inputs:
              - path: rtsp://127.0.0.1:8554/CAM_OG
                input_args: preset-rtsp-generic
                roles:
                  - detect
          detect:
            enabled: false
      
        CAM-3DPrinter:
          ffmpeg:
            inputs:
              - path: rtsp://192.168.178.43:8554/CAM-3DPrinter
                input_args: preset-rtsp-generic
                roles:
                  - detect
          detect:
            enabled: false
      
      objects:
        track:
          - person
          # - car
      
      record:
        enabled: true
        retain:
          days: 0                  # Keine Standard-Aufzeichnung, nur im Falle von events
        events:
          retain:
            default: 10            # 10 Tage aufbewahren
            mode: active_objects   # motion: bei jeder Bewegung   # active_objects: nur bei Bewegung eines der Objekttypen (person, car)
      
      # detect:                    # nur an der Kamera selbst angeben, nicht global für alle
      #  enabled: false
      
      version: 0.14
      
      

      Gruß ExMatador

      posted in Proxmox
      E
      ExMatador
    • RE: Karte/Grafik Widget

      @chris-1
      Hallo,
      ich habe mir aus Google Maps Api (Kartendarstellung), der iOS App Overland (GPS-Tracker) und der Software von j. Berkemeier (Auswertung von GPX-Dateien) Link Text eine Karte gebaut, in der ich Wege aufzeichnen und anzeigen kann.
      Ist nicht ganz einfach, funktioniert aber sehr gut - ähnlich zur iOS App "Wo ist".
      Gruß ExMatador

      posted in Visualisierung
      E
      ExMatador
    • RE: [gelöst] Vis: in Graph blättern

      @hub01
      Mit Grafana geht das, auch zwei völlig voneinander unabhängige Charts zu synchronisieren. Dazu muss man mit Grafana-Variablen arbeiten, diese in die Grafana-URL aufnehmen und die URL via Binding visualisieren.
      Habe so etwas ähnliches bereits umgesetzt.
      Gruß ExMatador

      posted in Visualisierung
      E
      ExMatador
    • RE: [gelöst] Vis: in Graph blättern

      @hub01
      Das Ergebnis sieht so aus; alles mit VIS gemacht.
      Laufzeit.png
      Im Editor wird für das oberste Chart ein Binding verwendet.
      Editor.png
      Die im Binding stehende URL passe ich über die beiden Buttons (links / rechts) an - ich ändere die 4 Variablen darin:

      <iframe src="http://192.168.178.43:3000/d-solo/IUFr7Bj7z/iobroker-dashboard?orgId=1&var-startGasTag=-26h&var-stopGasTag=0h&var-startGasR2=-25h&var-stopGasR2=0h&panelId=63&refresh=10m&kiosk" width="1100" height="200" frameborder="0"></iframe>
      

      Damit geht jeder Buttonclick nach links um 24h zurück und jeder Buttonclick nach rechts um 24h vor.
      Damit kann man aber jede beliebige Grafana-Url, auch mehrere gleichzeitig, manipulieren.
      Gruß ExMatador

      posted in Visualisierung
      E
      ExMatador
    • RE: [gelöst] Vis: in Graph blättern

      @hub01
      Ich habe auch Influx 2 im Einsatz. Dazu gehört die etwas gewöhnungsbedürftige Abfragesprache Flux. Bekommt man aber hin.
      Gruß ExMatador

      posted in Visualisierung
      E
      ExMatador

    Latest posts made by ExMatador

    • Script im VIS Reiter „Skript“ anlegen

      Hallo,
      ich möchte in diesem VIS-Reiter ein globales Skript anlegen. Dabei benötige ich THREE.JS.
      Das Einbinden via Import klappt nicht (Fehler: outside module).
      Aber das Einbinden via require klappt auch nicht:
      const THREE = require („THREE“)
      Three habe ich im JavaScript Adapter hinzugefügt.
      Vielleicht hat einer der Entwickler eine Idee.

      Vielen Dank
      Gruß ExMatador

      posted in JavaScript
      E
      ExMatador
    • RE: Verwendung des externen JS-Modules three.js

      @OliverIO

      Hi,
      So sieht jetzt das Ergebnis des THREE.js visualizer aus, der einen mp3-Radio-Stream verarbeitet.
      War echt mühevoll, die 3D Engine im iobroker anzusprechen, kleinere Fehler sind beim Wechsel von Vis-Views immer noch vorhanden..
      Danke dir für die Unterstützung.

      Gruß ExMatador
      Screen_Recording_20250429_195500_Chrome_001_001~2.mp4

      Copyright (c) 2025 by Szenia Zadvornykh (https://codepen.io/zadvorsky/pen/vNVNYr)

      posted in JavaScript
      E
      ExMatador
    • RE: Verwendung des externen JS-Modules three.js

      @oliverio
      Hi,
      vielen Dank für deine Unterstützung, hab’s so eingebaut - was soll ich sagen: die Ladefehler sind weg 🙏
      Jetzt hab ich vermutlich noch ein weiteres zeitliches Problem, denn manchmal kommt die Animation, aber häufig auch nicht.
      Das liegt irgendwie am Audio-Element, das ja über createMediaStreamSource(stream) gebunden wird.
      Ich ändere das Audio-Objekt an anderer Stelle, damit gibts noch Probleme.

      Aber dank deiner Hilfe bin ich ein großes Stück weitergekommen.
      VG
      ExMatador

      posted in JavaScript
      E
      ExMatador
    • RE: Verwendung des externen JS-Modules three.js

      @OliverIO
      Hallo, ich wende mich mal direkt an Dich.
      Ich habe diesen Sourcecode-Ausschnitt jetzt im body eingebunden

      <body>
          <audio id="song" src="" style="display:none;"></audio>
          <div class="container">
              <div class="play-btn">PLAY</div>
          </div>
          <div id="three-container"></div>
      
          <script type="module">
           
          import * as THREE from "https://cdnjs.cloudflare.com/ajax/libs/three.js/r73/three.min.js";
          import { OrbitControls } from "https://s3-us-west-2.amazonaws.com/s.cdpn.io/175711/OrbitControls-2.js";
      
      

      Kommt natürlich noch viel mehr.
      Ist das so in Ordnung?
      Vermutlich nicht, denn es kommen merkwürdige vis-Fehler.
      Als HTML-Dokument im Browser läuft es aber.

      Ich habe das Thema "module" eher noch nicht richtig verstanden, sorry.
      Danke
      Gruß ExMatador

      posted in JavaScript
      E
      ExMatador
    • Verwendung des externen JS-Modules three.js

      Hallo,
      ich verwende des öfteren ein basic-HTML-Widget mit genau einem DP, in dem im Grunde ein html-Dokument als Sourcecode inkl. Javascript-Teile abgelegt ist (Client-seitige Verarbeitung).
      Funktioniert auch ziemlich gut.
      Jetzt möchte ich die 3D Bibliothek three.js verwenden. Bei dieser gibt es jedoch immer den Fehler

      ReferenceError: THREE is not defined
      

      Eingebunden im Head

      <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r73/three.min.js" ></script>
      <script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/175711/OrbitControls-2.js" ></script>
      

      Mache ich das in einem separaten html-Dokument, klappt alles - im ioBroker nicht.
      Was mache ich hier falsch? Jemand eine Idee?

      Vielen Dank
      Gruß ExMatador

      posted in JavaScript
      E
      ExMatador
    • RE: Vis2 Mediaplayer

      @david-g
      Hi,
      ich verwende sowohl das audio als auch das Video-tag in einer kompletten html-Seite, dazu gehören auch die Controls wie play, mute, volume, forward/rewind und trackposition.
      Es können mp4-Files angespielt werden, aber keine mkv.
      Die Videos, die ja local vom Browser abgespielt werden, müssen via http erreichbar sein - mache ich über einen lokalen IIS.
      Ich übergebe von einem vis-Dialog lediglich eine json-Liste von videos, die abgespielt werden sollen.
      Klappt aber ziemlich gut, mittlerweile kam ich auch Radiosender abspielen.
      Es fehlt mir noch eine Visualisierung der Frequenzen, vermutlich über das Mikrofon. Scheint mir recht schwierig zu sein.

      Gruß ExMatador

      posted in Visualisierung
      E
      ExMatador
    • RE: Material Design Widgets: JSON Chart Widget

      @tbsjah
      Ich hatte es aufgegeben.
      Wie hast du es denn geschafft?
      Gruß ExMatador

      posted in Visualisierung
      E
      ExMatador
    • RE: Frigate Adapter für ioBroker

      @tritor
      Das sieht bei mir in JavaScript so aus

      var fs = require('fs');
      // strip off the data: url prefix to get just the base64-encoded bytes
      var data = img.replace(/^data:image\/\w+;base64,/, "");
      var buf = Buffer.from(data, 'base64');
      var file = 'c:/tmp/' + cam + '.jpg';
      fs.writeFile(file, buf, function(err) {
          if (err) { console.error(err); } 
          else {
               sendTo("pushover", {
               message: cam + ': Person erkannt', // mandatory - your text message
               title: 'ioBroker', // optional - your message's title, otherwise your app's name is used
               sound: 'Magic', // optional - the name of one of the sounds supported by device clients to override the user's default sound choice
               // pushover, bike, bugle, cashregister, classical, cosmic, falling,
               // gamelan, incoming, intermission, magic, mechanical, pianobar, siren,
               // spacealarm, tugboat, alien, climb, persistent, echo, updown, none
               priority: 0, // optional (-2, -1, 0, 1, 2)
               // -2 to always send as a quiet notification,
               // 1 to display as high-priority and bypass the user's quiet hours, or
               // 2 to also require confirmation from the user
               file: file, // optional - attachment
               // token: 'API/KEY token', // optional - add other than configurated token to the call
               // url: , // optional - a supplementary URL to show with your message
               // url_title: , // optional - a title for your supplementary URL, otherwise just the URL is shown
               // device: , // optional - your user's device name to send the message directly to that device, rather than all of the user's devices
               // timestamp // optional - a Unix timestamp of your message's date and time to display to the user, rather than the time your message is received by our API
               }     
           }
         });
      
      

      img ist der Inhalt vom snapshot.
      Gruß ExMatador

      posted in Tester
      E
      ExMatador
    • RE: Go2RtC Probleme

      @kellerkind-86
      Anbei meine config.yml

      mqtt:
        enabled: true
        host: 192.168.178.98
        port: 1885              # Standard mqtt-Port ist 1883, darauf hört bei den ESPxx auch mosquitto, der es dann an den ioBroker.mqtt-client weitergibt (auch 1883)
                                # ioBroker.frigate hat einen eigenen mqtt-server, der nur auf 1885 hört
        topic_prefix: frigate
      
      tls:
        enabled: False
      
      
      birdseye:
        enabled: true
        width: 1280
        height: 720
        mode: continuous
        # layout:
        #  scaling_factor: 2.0
      
      detectors:
        coral:
          type: edgetpu
          device: usb
      
      go2rtc:
        #log:
        #  exec: trace
      
        streams:
          #----- Output ist MJPEG, Video.Transkodierung in H.264, Audio.Transkodierung in OPUS oder AAC
          CAM_EG:
            - rtsp://admin:xxx@192.168.178.84:554/cam/realmonitor?channel=1&subtype=1#audio=aac
      
          CAM_OG:
            - rtsp://admin:xxx@192.168.178.90:554/cam/realmonitor?channel=1&subtype=1&proto=Onvif
      
          #----- Output ist JPEG, Video.Transkodierung in H.264, kein Audio vorhanden
          CAM-3DPrinter:
            - ffmpeg:http://192.168.178.69:81/stream#video=h264 
      
          #----- Alle 4 LE232 Konfiguration: Video: H.264  Audio: AAC  (keine Transkodierung erforderlich)
          #      Alle 4 können den neuen Video-Standard H.265, das kann go2RTC aber nicht
          #      WebRTC kann AAC | OPUS | PCM   
          #      MSE    kann       OPUS | PCM 
          #      MJPEG  kann AAC        | PCM
          CAM-Eingang:
            - rtsp://admin:xxx@192.168.178.38:554/Port/cam/realmonitor?channel=1&subtype=1
          CAM-Terrasse:
            - rtsp://admin:xxx@192.168.178.39:554/Port/cam/realmonitor?channel=1&subtype=1
          CAM-Garten:
            - rtsp://admin:xxx@192.168.178.40:554/Port/cam/realmonitor?channel=1&subtype=1
          CAM-Garage:
            - rtsp://admin:xxx@192.168.178.41:554/Port/cam/realmonitor?channel=1&subtype=1
      
        webrtc:
          candidates:
            - 192.168.178.43:8555
            - stun:8555
      
      cameras:
        CAM-Eingang:
          ffmpeg:
            output_args:
              record: preset-record-generic-audio-copy
            inputs:
              - path: rtsp://127.0.0.1:8554/CAM-Eingang
                input_args: preset-rtsp-generic
                roles:
                  - detect
          detect:
            width: 704
            height: 576
            fps: 5
      
        CAM-Terrasse:
          ffmpeg:
            output_args:
              record: preset-record-generic-audio-copy
            inputs:
              - path: rtsp://127.0.0.1:8554/CAM-Terrasse
                input_args: preset-rtsp-generic
                roles:
                  - detect
          detect:
            width: 704
            height: 576
            fps: 5
      
        CAM-Garten:
          ffmpeg:
            output_args:
              record: preset-record-generic-audio-copy
            inputs:
              - path: rtsp://127.0.0.1:8554/CAM-Garten
                input_args: preset-rtsp-generic
                roles:
                  - detect
          detect:
            width: 704
            height: 576
            fps: 5
      
        CAM-Garage:
          ffmpeg:
            output_args:
              record: preset-record-generic-audio-copy
            inputs:
              - path: rtsp://127.0.0.1:8554/CAM-Garage
                input_args: preset-rtsp-generic
                roles:
                  - detect
          detect:
            width: 704
            height: 576
            fps: 5
      
        CAM_EG:
          ffmpeg:
            output_args:
              record: preset-record-generic-audio-copy
            inputs:
              - path: rtsp://127.0.0.1:8554/CAM_EG
                input_args: preset-rtsp-generic
                roles:
                  - detect
          detect:
            enabled: false
      
        CAM_OG:
          ffmpeg:
            output_args:
              record: preset-record-generic-audio-copy
            inputs:
              - path: rtsp://127.0.0.1:8554/CAM_OG
                input_args: preset-rtsp-generic
                roles:
                  - detect
          detect:
            enabled: false
      
        CAM-3DPrinter:
          ffmpeg:
            inputs:
              - path: rtsp://192.168.178.43:8554/CAM-3DPrinter
                input_args: preset-rtsp-generic
                roles:
                  - detect
          detect:
            enabled: false
      
      objects:
        track:
          - person
          # - car
      
      record:
        enabled: true
        retain:
          days: 0                  # Keine Standard-Aufzeichnung, nur im Falle von events
        events:
          retain:
            default: 10            # 10 Tage aufbewahren
            mode: active_objects   # motion: bei jeder Bewegung   # active_objects: nur bei Bewegung eines der Objekttypen (person, car)
      
      # detect:                    # nur an der Kamera selbst angeben, nicht global für alle
      #  enabled: false
      
      version: 0.14
      
      

      Gruß ExMatador

      posted in Proxmox
      E
      ExMatador
    • RE: Go2RtC Probleme

      @kellerkind-86
      frigate ist eine umfangreiche Software, die beliebige Cams einbindet, video- und audio-Codecs wandelt, eine Erkennung z.B. von Personen durchführen kann, als NVR arbeitet uvm.
      Frigate läuft in einem docker-Container, siehe hier
      Am besten einiges lesen, Beispiele gibt es genug.

      Gruß ExMatador

      posted in Proxmox
      E
      ExMatador
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo