Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Bildschirmschoner für Touchscreen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Bildschirmschoner für Touchscreen

Geplant Angeheftet Gesperrt Verschoben Visualisierung
4 Beiträge 2 Kommentatoren 460 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • P Offline
    P Offline
    PeZi
    schrieb am zuletzt editiert von PeZi
    #1

    Hallo zusammen,
    ich möchte Euch meine Umsetzung eines Bildschirmschoners vorstellen.
    Zunächst mal die Ausgangssituation und die Anforderung:
    Ich habe im Wohnzimmer einen großen Touchscreen installiert, der mittels ioBroker und VIS diverse Infos über den Zustand des Hauses liefert und über den auch die Bedienung vieler Geräte erfolgt. Der Touchscreen wird ausschließlich hierfür genutzt. Des weiteren nutzen wir (die Familie) ein iPad sowie diverse weitere Geräte (Android Tablet, PCs) die in ihrer "Zweitfunktion" ebenfalls Zugriff auf die Visualisierung haben.
    Was ich brauche ist also ein Bildschirmschoner ausschließlich für den Touch Screen.
    Alle anderen Endgeräte zeigen die Visualisierung nur kurzfristig während einer gezielten Nutzung, sodass hier kein Bildschirmschoner erforderlich ist.
    Ein "allgemeiner" Bildschirmschoner wie hier...
    link text
    ...beschrieben führt zu Problemen, da dieser auf allen Geräten ausgeführt wird und es daher zu gegenseitigen Beeinflussungen kommt. Zudem ist dafür eine eigene View erforderlich, die bei Aktivierung angezeigt wird. Das hatte ich bisher so gelöst, dass der Home-Screen in eine weitere View (Screensaver) gespiegelt war und ein Skript bei Aufruf dieser Screensaver-View den Touchscreen runtergedimmt hat. Das funktioniert aber wegen der gegenseitigen Beeinflussung der Endgeräte nicht zufriedenstellend.
    Meine Umsetzung besteht aus zwei Skripten.
    Das erste läuft auf den Clients und ist in der Vis im Reiter "Skripte" einzutragen.

    /*
        Bildschirmschoner
    	
    	Anforderung: Bei Nutzung eines bestimmten Endgerätes (in meinem Fall eines fest montierten Touchscreens) sollen Ereignisse am Touchscrteen überwacht werden.
    	Bei "Nichtnutzung" wird nach einer festgelegten Zeit ein Objekt gesetzt. 
    	In Abhängigkeit davon dimmt ein weiteres JS-Script in IOBroker die Helligkeit und den Kontrast des Touchscreen runter bzw. hoch
    */
    var touchInstance ='dc.4283b'; // hier ist die Instanz des Touchscreens einzutragen
    var touchNutzung = '0_userdata.0.Visualisierung.TouchNutzung';	// Dieses Objekt muss in IOBroker angelegt werden
    var zeitBisBildschirmschoner = 90; //Hier ist die Zeit bis zur Aktivierung des Bildschirmschoners in Sekunden einzutragen 
    var debounce;
    
    var bildschirmschonerAktivierung = function() {
    	   vis.setValue('0_userdata.0.Visualisierung.TouchNutzung', false); //Bildschirm dimmen...
    	   vis.changeView('Home'); //...und Home-Seite aufrufen
    
    };
    
    var EventHandling = function() {
    	if (vis.instance == touchInstance) {
    		if (debounce) {
    			return;
    		}	
    		debounce = setTimeout(function () {
    			debounce = null;
    		}, 5000); // 5 Sekunden Debounce-Zeit zur Schonung der Ressourcen
    		vis.setValue('0_userdata.0.Visualisierung.TouchNutzung', true); // Bildschirmschoner deaktivieren
    		if (Aktivzeit) {
    			clearTimeout(Aktivzeit);
    		}
    		Aktivzeit = setTimeout(bildschirmschonerAktivierung, zeitBisBildschirmschoner * 1000); //Bei Touchnutzung Aktivzeit neu starten
    	}
    };
    
    var Aktivzeit = setTimeout(bildschirmschonerAktivierung, zeitBisBildschirmschoner * 1000); //Aktivzeit initialisieren
    
    document.addEventListener('touchmove', EventHandling);
    document.addEventListener('click', EventHandling);
    document.addEventListener('mousemove', EventHandling);
    

    Der Zweite Teil läuft im ioBroker unter Skripte:

    //Helligkeit des Touch-Screens ändern
    function helligkeit(Helligkeit, Kontrast){
        var SSH = require('simple-ssh');
        var ssh = new SSH({
        host: '192.168.xxx.yyy',  //IP-Adresse des Raspis an dem der Touchscreen angeschlossen ist
        user: 'Anmeldename',      //Anmeldename und...
        pass: 'Passwort'          //...Passwort
        });
        ssh.exec('sudo ddcutil setvcp 10 ' + Helligkeit).start();
        ssh.exec('sudo ddcutil setvcp 12 ' + Kontrast).start();
    }
    
    
    on({id: '0_userdata.0.Visualisierung.TouchNutzung', change: 'any'}, function(obj) { //Bei Nutzung/Nichtnutzung des Touchscreens
        var touchStatus = getState("0_userdata.0.Visualisierung.TouchNutzung").val; 
        if (touchStatus == false) { //"false" bei "Nichtnutzung" des Touchscreens
            helligkeit(20,20);
        } else {
            helligkeit(70,70);
        } 
    })
    

    Damit kann ich auf eine eigene Screensaver-View verzichten.
    Zur Funktion:
    Der Touchscreen zeigt normalerweise den runtergedimmten Homescreen.
    Bei Berührung des Touchscreens wird im ersten Programm ein Timer (zeitBisBildschirmschoner) gesetzt, der bei Nutzung des Touchscreens immer wieder nachgetriggert wird. Zudem wird ein Objekt in ioBroker gesetzt (0_userdata.0.Visualisierung.TouchNutzung), welches die Nutzung des Touchscreens an das zweite Programm übergibt. Findet in der "zeitBisBildschirmschoner" keine weitere Bedienung am Touchscreen statt, wird wird das Objekt zurückgesetzt.

    Das zweite Programm reagiert auf Änderungen des Objekts "0_userdata.0.Visualisierung.TouchNutzung" und steuert über die Funktion "helligkeit" Helligkeit und Kontrast des Touchscreens.
    Wenn der Bildschirmschoner aktiviert wird, wird der Touchscreen runtergedimmt und der Homebildschirm aufgerufen.

    Damit sind alle anderen Endgeräte vom Bildschirmschoner unbeeinflusst.

    Abschließend noch ein paar Details zum Dimmen und Schalten des Touchscreens:

    Anleitung Dimmen und Schalten des Touchscreens.pdf

    wendy2702W 1 Antwort Letzte Antwort
    0
    • P PeZi

      Hallo zusammen,
      ich möchte Euch meine Umsetzung eines Bildschirmschoners vorstellen.
      Zunächst mal die Ausgangssituation und die Anforderung:
      Ich habe im Wohnzimmer einen großen Touchscreen installiert, der mittels ioBroker und VIS diverse Infos über den Zustand des Hauses liefert und über den auch die Bedienung vieler Geräte erfolgt. Der Touchscreen wird ausschließlich hierfür genutzt. Des weiteren nutzen wir (die Familie) ein iPad sowie diverse weitere Geräte (Android Tablet, PCs) die in ihrer "Zweitfunktion" ebenfalls Zugriff auf die Visualisierung haben.
      Was ich brauche ist also ein Bildschirmschoner ausschließlich für den Touch Screen.
      Alle anderen Endgeräte zeigen die Visualisierung nur kurzfristig während einer gezielten Nutzung, sodass hier kein Bildschirmschoner erforderlich ist.
      Ein "allgemeiner" Bildschirmschoner wie hier...
      link text
      ...beschrieben führt zu Problemen, da dieser auf allen Geräten ausgeführt wird und es daher zu gegenseitigen Beeinflussungen kommt. Zudem ist dafür eine eigene View erforderlich, die bei Aktivierung angezeigt wird. Das hatte ich bisher so gelöst, dass der Home-Screen in eine weitere View (Screensaver) gespiegelt war und ein Skript bei Aufruf dieser Screensaver-View den Touchscreen runtergedimmt hat. Das funktioniert aber wegen der gegenseitigen Beeinflussung der Endgeräte nicht zufriedenstellend.
      Meine Umsetzung besteht aus zwei Skripten.
      Das erste läuft auf den Clients und ist in der Vis im Reiter "Skripte" einzutragen.

      /*
          Bildschirmschoner
      	
      	Anforderung: Bei Nutzung eines bestimmten Endgerätes (in meinem Fall eines fest montierten Touchscreens) sollen Ereignisse am Touchscrteen überwacht werden.
      	Bei "Nichtnutzung" wird nach einer festgelegten Zeit ein Objekt gesetzt. 
      	In Abhängigkeit davon dimmt ein weiteres JS-Script in IOBroker die Helligkeit und den Kontrast des Touchscreen runter bzw. hoch
      */
      var touchInstance ='dc.4283b'; // hier ist die Instanz des Touchscreens einzutragen
      var touchNutzung = '0_userdata.0.Visualisierung.TouchNutzung';	// Dieses Objekt muss in IOBroker angelegt werden
      var zeitBisBildschirmschoner = 90; //Hier ist die Zeit bis zur Aktivierung des Bildschirmschoners in Sekunden einzutragen 
      var debounce;
      
      var bildschirmschonerAktivierung = function() {
      	   vis.setValue('0_userdata.0.Visualisierung.TouchNutzung', false); //Bildschirm dimmen...
      	   vis.changeView('Home'); //...und Home-Seite aufrufen
      
      };
      
      var EventHandling = function() {
      	if (vis.instance == touchInstance) {
      		if (debounce) {
      			return;
      		}	
      		debounce = setTimeout(function () {
      			debounce = null;
      		}, 5000); // 5 Sekunden Debounce-Zeit zur Schonung der Ressourcen
      		vis.setValue('0_userdata.0.Visualisierung.TouchNutzung', true); // Bildschirmschoner deaktivieren
      		if (Aktivzeit) {
      			clearTimeout(Aktivzeit);
      		}
      		Aktivzeit = setTimeout(bildschirmschonerAktivierung, zeitBisBildschirmschoner * 1000); //Bei Touchnutzung Aktivzeit neu starten
      	}
      };
      
      var Aktivzeit = setTimeout(bildschirmschonerAktivierung, zeitBisBildschirmschoner * 1000); //Aktivzeit initialisieren
      
      document.addEventListener('touchmove', EventHandling);
      document.addEventListener('click', EventHandling);
      document.addEventListener('mousemove', EventHandling);
      

      Der Zweite Teil läuft im ioBroker unter Skripte:

      //Helligkeit des Touch-Screens ändern
      function helligkeit(Helligkeit, Kontrast){
          var SSH = require('simple-ssh');
          var ssh = new SSH({
          host: '192.168.xxx.yyy',  //IP-Adresse des Raspis an dem der Touchscreen angeschlossen ist
          user: 'Anmeldename',      //Anmeldename und...
          pass: 'Passwort'          //...Passwort
          });
          ssh.exec('sudo ddcutil setvcp 10 ' + Helligkeit).start();
          ssh.exec('sudo ddcutil setvcp 12 ' + Kontrast).start();
      }
      
      
      on({id: '0_userdata.0.Visualisierung.TouchNutzung', change: 'any'}, function(obj) { //Bei Nutzung/Nichtnutzung des Touchscreens
          var touchStatus = getState("0_userdata.0.Visualisierung.TouchNutzung").val; 
          if (touchStatus == false) { //"false" bei "Nichtnutzung" des Touchscreens
              helligkeit(20,20);
          } else {
              helligkeit(70,70);
          } 
      })
      

      Damit kann ich auf eine eigene Screensaver-View verzichten.
      Zur Funktion:
      Der Touchscreen zeigt normalerweise den runtergedimmten Homescreen.
      Bei Berührung des Touchscreens wird im ersten Programm ein Timer (zeitBisBildschirmschoner) gesetzt, der bei Nutzung des Touchscreens immer wieder nachgetriggert wird. Zudem wird ein Objekt in ioBroker gesetzt (0_userdata.0.Visualisierung.TouchNutzung), welches die Nutzung des Touchscreens an das zweite Programm übergibt. Findet in der "zeitBisBildschirmschoner" keine weitere Bedienung am Touchscreen statt, wird wird das Objekt zurückgesetzt.

      Das zweite Programm reagiert auf Änderungen des Objekts "0_userdata.0.Visualisierung.TouchNutzung" und steuert über die Funktion "helligkeit" Helligkeit und Kontrast des Touchscreens.
      Wenn der Bildschirmschoner aktiviert wird, wird der Touchscreen runtergedimmt und der Homebildschirm aufgerufen.

      Damit sind alle anderen Endgeräte vom Bildschirmschoner unbeeinflusst.

      Abschließend noch ein paar Details zum Dimmen und Schalten des Touchscreens:

      Anleitung Dimmen und Schalten des Touchscreens.pdf

      wendy2702W Online
      wendy2702W Online
      wendy2702
      schrieb am zuletzt editiert von
      #2

      @pezi Danke für deine Beschreibung.

      Welche SW läuft auf dem PI? Bullseye, Bookworm, .....

      Verstehe ich es richtig das der Bildschirmschoner "nur" das abdunkeln des Bildschirms ist?

      Bitte keine Fragen per PN, die gehören ins Forum!

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      P 1 Antwort Letzte Antwort
      0
      • wendy2702W wendy2702

        @pezi Danke für deine Beschreibung.

        Welche SW läuft auf dem PI? Bullseye, Bookworm, .....

        Verstehe ich es richtig das der Bildschirmschoner "nur" das abdunkeln des Bildschirms ist?

        P Offline
        P Offline
        PeZi
        schrieb am zuletzt editiert von
        #3

        @wendy2702
        Auf beiden Pi (IOB-Pi und Anzeige-PI des Touchscreens) läuft Bookworm.
        Und ja, der Bildschirmschoner dimmt nur Helligkeit und Kontrast des Touchscreens und ruft den Home-Screen auf.
        Mein Homescreen zeigt die (für uns) wichtigsten Infos wie Produktion der PV-Anlage, Wetterwarnungen, Wetterverhältnisse, Termine, eine unserer Außenkameras etc. an.
        Der Bildschirm wird dabei nur soweit gedimmt, dass alle Infos noch gut erkennbar sind.

        Ein Problem ist allerdings noch zu lösen:
        Gelegentlich springt der Touchscreen auf eine Vis-Seite, die auf einem der anderen Geräte angezeigt wird.
        Warum das so ist, muss ich noch ergründen...

        wendy2702W 1 Antwort Letzte Antwort
        0
        • P PeZi

          @wendy2702
          Auf beiden Pi (IOB-Pi und Anzeige-PI des Touchscreens) läuft Bookworm.
          Und ja, der Bildschirmschoner dimmt nur Helligkeit und Kontrast des Touchscreens und ruft den Home-Screen auf.
          Mein Homescreen zeigt die (für uns) wichtigsten Infos wie Produktion der PV-Anlage, Wetterwarnungen, Wetterverhältnisse, Termine, eine unserer Außenkameras etc. an.
          Der Bildschirm wird dabei nur soweit gedimmt, dass alle Infos noch gut erkennbar sind.

          Ein Problem ist allerdings noch zu lösen:
          Gelegentlich springt der Touchscreen auf eine Vis-Seite, die auf einem der anderen Geräte angezeigt wird.
          Warum das so ist, muss ich noch ergründen...

          wendy2702W Online
          wendy2702W Online
          wendy2702
          schrieb am zuletzt editiert von
          #4

          @pezi sagte in Bildschirmschoner für Touchscreen:

          Ein Problem ist allerdings noch zu lösen:
          Gelegentlich springt der Touchscreen auf eine Vis-Seite, die auf einem der anderen Geräte angezeigt wird.
          Warum das so ist, muss ich noch ergründen...

          Danke für deine Antwort.

          So ein ähnliches Problem habe ich auch. Aktuell scheint es damit gelöst zu sein das ich die Bildschirm Anzeige Frequenz fest auf 60Hz eingestellt habe. Vorher hat der PI immer das verwendet was der Monitor maximal kann (120Hz). Seit dem umstellen habe ich keine Probleme mehr.

          Vielleicht auch einen Versuch wert.

          Bitte keine Fragen per PN, die gehören ins Forum!

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          1 Antwort Letzte Antwort
          0
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          406

          Online

          32.7k

          Benutzer

          82.3k

          Themen

          1.3m

          Beiträge
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Anmelden

          • Du hast noch kein Konto? Registrieren

          • Anmelden oder registrieren, um zu suchen
          • Erster Beitrag
            Letzter Beitrag
          0
          • Home
          • Aktuell
          • Tags
          • Ungelesen 0
          • Kategorien
          • Unreplied
          • Beliebt
          • GitHub
          • Docu
          • Hilfe