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. Lovelace Taster erstellen

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    476

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.5k

Lovelace Taster erstellen

Geplant Angeheftet Gesperrt Verschoben Visualisierung
8 Beiträge 5 Kommentatoren 1.4k Aufrufe 5 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.
  • F Offline
    F Offline
    Fraenki23
    schrieb am zuletzt editiert von Fraenki23
    #1

    Hallo
    Ich stehe etwas auf dem Schlauch, Ich dachte mir dass ich mal versuche meinen Roborock Saugroboter in der Visualisierung von Lovelace einzubinden. Schon bin ich an meine Grenzen gestoßen. Ich weiß nicht wie man einen Taster erstellt der nur kurz angeht und dann wieder zurück. Ich drücke z.B. den Taster der den Roboter frägt wo er ist. Das funktioniert aber der Schalter beibt auf ON .
    Wie muss ich vorgehen dass der Schalter nach dem drücken wieder zurück springt.
    Hab die Schalter automatisch erstellen lassen.
    Danke Fränki

    GarfonsoG 1 Antwort Letzte Antwort
    0
    • F Fraenki23

      Hallo
      Ich stehe etwas auf dem Schlauch, Ich dachte mir dass ich mal versuche meinen Roborock Saugroboter in der Visualisierung von Lovelace einzubinden. Schon bin ich an meine Grenzen gestoßen. Ich weiß nicht wie man einen Taster erstellt der nur kurz angeht und dann wieder zurück. Ich drücke z.B. den Taster der den Roboter frägt wo er ist. Das funktioniert aber der Schalter beibt auf ON .
      Wie muss ich vorgehen dass der Schalter nach dem drücken wieder zurück springt.
      Hab die Schalter automatisch erstellen lassen.
      Danke Fränki

      GarfonsoG Offline
      GarfonsoG Offline
      Garfonso
      Developer
      schrieb am zuletzt editiert von
      #2

      @fraenki23
      warum ist es wichtig, dass der schalter zurück springt? Theoretisch hat der Schalter keinen Zustand.

      Ich würde empfehlen das UI entsprechend zu bauen, also keinen switch zu nehmen, sondern einen button. Ich weiß nicht genau, welche Karte du nutzen willst. Aber in einer "Elemente"-Karte kann man dafür z.B. den type: Button nehmen. Wenn dann auch noch immer derselbe Wert geschickt werden soll (z.B. true), sähe das z.B. so aus:

      type: entities
      entities:
        - type: button
          name: Position
          action_name: abfragen
          tap_action:
            action: call-service
            service: switch.turn_on
            service_data:
              entity_id: switch.Roboter_position_abfragen
      title: Roborock Saugroboter
      show_header_toggle: false
      

      Es gibt auch extra Button Card usw...

      Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

      Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

      F F 2 Antworten Letzte Antwort
      0
      • GarfonsoG Garfonso

        @fraenki23
        warum ist es wichtig, dass der schalter zurück springt? Theoretisch hat der Schalter keinen Zustand.

        Ich würde empfehlen das UI entsprechend zu bauen, also keinen switch zu nehmen, sondern einen button. Ich weiß nicht genau, welche Karte du nutzen willst. Aber in einer "Elemente"-Karte kann man dafür z.B. den type: Button nehmen. Wenn dann auch noch immer derselbe Wert geschickt werden soll (z.B. true), sähe das z.B. so aus:

        type: entities
        entities:
          - type: button
            name: Position
            action_name: abfragen
            tap_action:
              action: call-service
              service: switch.turn_on
              service_data:
                entity_id: switch.Roboter_position_abfragen
        title: Roborock Saugroboter
        show_header_toggle: false
        

        Es gibt auch extra Button Card usw...

        F Offline
        F Offline
        Fraenki23
        schrieb am zuletzt editiert von
        #3

        @garfonso Hallo Vielen Dank für deine Hilfe. Ja es hat auch funktioniert wenn man 2 mal den Button gedrückt hat. So ist es aber durch Deine Hilfe viel schöner.
        Gruß und Dank Frank

        1 Antwort Letzte Antwort
        1
        • GarfonsoG Garfonso

          @fraenki23
          warum ist es wichtig, dass der schalter zurück springt? Theoretisch hat der Schalter keinen Zustand.

          Ich würde empfehlen das UI entsprechend zu bauen, also keinen switch zu nehmen, sondern einen button. Ich weiß nicht genau, welche Karte du nutzen willst. Aber in einer "Elemente"-Karte kann man dafür z.B. den type: Button nehmen. Wenn dann auch noch immer derselbe Wert geschickt werden soll (z.B. true), sähe das z.B. so aus:

          type: entities
          entities:
            - type: button
              name: Position
              action_name: abfragen
              tap_action:
                action: call-service
                service: switch.turn_on
                service_data:
                  entity_id: switch.Roboter_position_abfragen
          title: Roborock Saugroboter
          show_header_toggle: false
          

          Es gibt auch extra Button Card usw...

          F Offline
          F Offline
          Fozzy
          schrieb am zuletzt editiert von
          #4

          Hallo, ich würde das gerne noch einmal aufgreifen hier.
          Der Taster setzt bei mir den Wert auf TRUE, bleibt dann aber und wechselt nicht wieder zurück auf FALSE.
          Gibt es hierfür auch eine Lösung?

          GarfonsoG 1 Antwort Letzte Antwort
          0
          • F Fozzy

            Hallo, ich würde das gerne noch einmal aufgreifen hier.
            Der Taster setzt bei mir den Wert auf TRUE, bleibt dann aber und wechselt nicht wieder zurück auf FALSE.
            Gibt es hierfür auch eine Lösung?

            GarfonsoG Offline
            GarfonsoG Offline
            Garfonso
            Developer
            schrieb am zuletzt editiert von Garfonso
            #5

            @fozzy
            Taster haben per Definition keinen Wert und gehen auch nicht wieder zurück, sondern lösen halt was aus, wenn man sie drückt.

            Wenn du was hast, was zwischen true/false wechseln soll, dann brauchst du keinen Taster, sondern einen Schalter. Auf englisch switch. Entsprechend für das ioBroker Objekt einfach manuell ein switch-Entity anlegen. Dann gibt es im UI auch einen Schalter der zwischen true/false umschaltet.

            Wenn das nicht passen sollte, musst du deinen Use-Case etwas weiter ausführen.

            Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

            Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

            J P 2 Antworten Letzte Antwort
            0
            • GarfonsoG Garfonso

              @fozzy
              Taster haben per Definition keinen Wert und gehen auch nicht wieder zurück, sondern lösen halt was aus, wenn man sie drückt.

              Wenn du was hast, was zwischen true/false wechseln soll, dann brauchst du keinen Taster, sondern einen Schalter. Auf englisch switch. Entsprechend für das ioBroker Objekt einfach manuell ein switch-Entity anlegen. Dann gibt es im UI auch einen Schalter der zwischen true/false umschaltet.

              Wenn das nicht passen sollte, musst du deinen Use-Case etwas weiter ausführen.

              J Offline
              J Offline
              JohannesF
              schrieb am zuletzt editiert von
              #6

              Hallo zusammen,

              das Thema hatte ich auch. Zuerst mit Szenen und dann mit dem Saugroboter.

              Ich löse das mit dem Skript unten. Reagiert manchmal aber leider etwas träge.

              /*************************************************************************************
               *  Wenn man in Lovelace in einem Glance Szenen aktivieren will gibt es kein optisches Feedback
               * 
               *  Hier wird ein Bool Objekt für Lovelace angelegt und indirekt die Szene geschaltet.
               * 
               **************************************************************************************/
              
              //Bool Objekte für Lovelace anlegen
              // diese müssen noch Manuel für Lovelace aktiviert werden
              createState('Szenenschalter.Scene0', 0, {type: 'boolean'});
              createState('Szenenschalter.Scene1', 0, {type: 'boolean'});
              createState('Szenenschalter.GuteNachtJoe', 0, {type: 'boolean'});
              createState('Szenenschalter.GutenMorgenJoe', 0, {type: 'boolean'});
              createState('Szenenschalter.MorgensAuf', 0, {type: 'boolean'});
              createState('Szenenschalter.AbendsZu', 0, {type: 'boolean'});
              createState('Szenenschalter.NachtsZu', 0, {type: 'boolean'});
              createState('Szenenschalter.Beschattung', 0, {type: 'boolean'});
              createState('Szenenschalter.Robi_Speisekammer', 0, {type: 'boolean'});
              createState('Szenenschalter.Robi_Kueche', 0, {type: 'boolean'});
              createState('Szenenschalter.Robi_EssZi', 0, {type: 'boolean'});
              createState('Szenenschalter.Robi_WoZi', 0, {type: 'boolean'});
              createState('Szenenschalter.Robi_Eingang', 0, {type: 'boolean'});
              createState('Szenenschalter.Robi_FlurEG', 0, {type: 'boolean'});
              createState('Szenenschalter.Robi_Buero', 0, {type: 'boolean'});
              createState('Szenenschalter.Robi_WC', 0, {type: 'boolean'});
              
              
              //Eine Liste dieser Objekte generieren
              //Muss zur Zuordnung in der selben Reihenfolge wie unten sein
              const Szenenschalter_ids = [
                  'javascript.0.Szenenschalter.Scene0',
                  'javascript.0.Szenenschalter.Scene1',
                  'javascript.0.Szenenschalter.GuteNachtJoe',
                  'javascript.0.Szenenschalter.GutenMorgenJoe',
                  'javascript.0.Szenenschalter.MorgensAuf',
                  'javascript.0.Szenenschalter.AbendsZu',
                  'javascript.0.Szenenschalter.NachtsZu',
                  'javascript.0.Szenenschalter.Beschattung',
                  'javascript.0.Szenenschalter.Robi_Speisekammer',
                  'javascript.0.Szenenschalter.Robi_Kueche',
                  'javascript.0.Szenenschalter.Robi_EssZi',
                  'javascript.0.Szenenschalter.Robi_WoZi',
                  'javascript.0.Szenenschalter.Robi_Eingang',
                  'javascript.0.Szenenschalter.Robi_FlurEG',
                  'javascript.0.Szenenschalter.Robi_Buero',
                  'javascript.0.Szenenschalter.Robi_WC',
              ]
              
              //Liste der zugehörigen Szenen
              //Muss zur Zuordnung in der selben Reihenfolge wie oben sein
              const Szenen_ids = [
                  'scene.0.scene0',
                  'scene.0.scene1',
                  'scene.0.GuteNachtJoe',
                  'scene.0.GutenMorgenJoe',
                  'scene.0.Rolladen.MorgensAuf',
                  'scene.0.Rolladen.AbendsZu',
                  'scene.0.Rolladen.NachtsZu',
                  'scene.0.Rolladen.Beschattung',
                  'mihome-vacuum.0.rooms.xxxxxxxxxx.roomClean',//Speisekammer
                  'mihome-vacuum.0.rooms.xxxxxxxxxx.roomClean', //Küche
                  'mihome-vacuum.0.rooms.xxxxxxxxxx.roomClean', //Esszimmer
                  'mihome-vacuum.0.rooms.xxxxxxxxxx.roomClean', //Wohnzimmer
                  'scene.0.RobiEingang2Mal', //Eingang
                  'mihome-vacuum.0.rooms.xxxxxxxxxx.roomClean', // Flur EG
                  'mihome-vacuum.0.rooms.xxxxxxxxxx.roomClean',  //Büro
                  'mihome-vacuum.0.rooms.xxxxxxx.roomClean', //WC
              ]
              
              
              /*******************************************************************
               * Wird aufgerufen wenn einer der Schalter in Lovelace gedrückt wird
               * Aktiviert dann die Szene
               */
              on(Szenenschalter_ids , async function (obj) {
                  let Schalter = obj.id; //der Schalter hat sich geändert, also ist er in der ID
                  let array_pos = Szenenschalter_ids.indexOf(Schalter); //Jetzt die Position im array oben bestimmen
                  let Szene = Szenen_ids[array_pos]; //die zugehörige Szene muss die selbe Position haben
                  //console.log(Szene);
                  //console.log(Schalter)
              
                  //SchalterChanged(Szene,Schalter);
              
                  //Wert des Schalter lesen, wenn true Szene aktivieren
                  let Schalterstate = getState(Schalter).val;
                  if(Schalterstate==true) 
                  {   
                      setState(Szene,true);
                      setStateDelayed(Schalter, false, 1000, false); //Schalter zurück setzen
                  }
              
                  //Wert der Szene in den Schalter schreiben, damit Status richtig angezeigt wird
                  //let Szenenstate = getState(Szene).val;
                  //setState(Schalter,Szenenstate);
                 
              });
              
              1 Antwort Letzte Antwort
              0
              • GarfonsoG Garfonso

                @fozzy
                Taster haben per Definition keinen Wert und gehen auch nicht wieder zurück, sondern lösen halt was aus, wenn man sie drückt.

                Wenn du was hast, was zwischen true/false wechseln soll, dann brauchst du keinen Taster, sondern einen Schalter. Auf englisch switch. Entsprechend für das ioBroker Objekt einfach manuell ein switch-Entity anlegen. Dann gibt es im UI auch einen Schalter der zwischen true/false umschaltet.

                Wenn das nicht passen sollte, musst du deinen Use-Case etwas weiter ausführen.

                P Offline
                P Offline
                passuff
                schrieb am zuletzt editiert von
                #7

                @garfonso sagte in Lovelace Taster erstellen:

                @fozzy
                Taster haben per Definition keinen Wert und gehen auch nicht wieder zurück, sondern lösen halt was aus, wenn man sie drückt.

                Wenn du was hast, was zwischen true/false wechseln soll, dann brauchst du keinen Taster, sondern einen Schalter. Auf englisch switch. Entsprechend für das ioBroker Objekt einfach manuell ein switch-Entity anlegen. Dann gibt es im UI auch einen Schalter der zwischen true/false umschaltet.

                Wenn das nicht passen sollte, musst du deinen Use-Case etwas weiter ausführen.

                Hallo. Ich finde das Verhalten ebenfalls nicht nachvollziehbar bzw. schaffe es nicht, das gewünschte Verhalten mit lovelace umzusetzen...

                Wenn ich in Iobroker einen boolean Datenpunkt mit Role: Button erstelle, hat dieser den default state false und wenn ich den button betätige, wechselt er kurz auf true um dann wieder auf false zu springen. Er wechselt daher nur bei Betätigung auf true und kann ohne Betätigung nicht auf true bleiben. Das ist der Sinn eines Tasters/Buttons, so wie man ihn auch aus der Hauselektrik kennt.
                Bei Lovelace scheitere ich daran ein solches Tasterverhalten umzusetzen. Mit der action "Toggle" kann man dieses Verhalten zumindest nicht erzeugen da hier bei jeder Betätigung der state nachhaltig geändert wird. D.h. z.B. bei einer Betätigung wird von true auf false und bei der Nächsten von false auf true geschaltet. Das entspricht dem Verhalten eines Switch/Schalters.
                Wie kann ich nun mit Lovelace einen Button erzeugen?

                GarfonsoG 1 Antwort Letzte Antwort
                0
                • P passuff

                  @garfonso sagte in Lovelace Taster erstellen:

                  @fozzy
                  Taster haben per Definition keinen Wert und gehen auch nicht wieder zurück, sondern lösen halt was aus, wenn man sie drückt.

                  Wenn du was hast, was zwischen true/false wechseln soll, dann brauchst du keinen Taster, sondern einen Schalter. Auf englisch switch. Entsprechend für das ioBroker Objekt einfach manuell ein switch-Entity anlegen. Dann gibt es im UI auch einen Schalter der zwischen true/false umschaltet.

                  Wenn das nicht passen sollte, musst du deinen Use-Case etwas weiter ausführen.

                  Hallo. Ich finde das Verhalten ebenfalls nicht nachvollziehbar bzw. schaffe es nicht, das gewünschte Verhalten mit lovelace umzusetzen...

                  Wenn ich in Iobroker einen boolean Datenpunkt mit Role: Button erstelle, hat dieser den default state false und wenn ich den button betätige, wechselt er kurz auf true um dann wieder auf false zu springen. Er wechselt daher nur bei Betätigung auf true und kann ohne Betätigung nicht auf true bleiben. Das ist der Sinn eines Tasters/Buttons, so wie man ihn auch aus der Hauselektrik kennt.
                  Bei Lovelace scheitere ich daran ein solches Tasterverhalten umzusetzen. Mit der action "Toggle" kann man dieses Verhalten zumindest nicht erzeugen da hier bei jeder Betätigung der state nachhaltig geändert wird. D.h. z.B. bei einer Betätigung wird von true auf false und bei der Nächsten von false auf true geschaltet. Das entspricht dem Verhalten eines Switch/Schalters.
                  Wie kann ich nun mit Lovelace einen Button erzeugen?

                  GarfonsoG Offline
                  GarfonsoG Offline
                  Garfonso
                  Developer
                  schrieb am zuletzt editiert von
                  #8

                  @passuff said in Lovelace Taster erstellen:

                  Wenn ich in Iobroker einen boolean Datenpunkt mit Role: Button erstelle, hat dieser den default state false und wenn ich den button betätige, wechselt er kurz auf true um dann wieder auf false zu springen

                  Nein, das stimmt nicht. Eigentlich hat in ioBroker ein State-Objekt mit role Button auch den Flag "read": false, d.h. der Zustand kann nicht gelesen werden. Und damit bist du dann auch deutlich näher an dem, was in der Hauselektrik passiert. Der Taster ist immer offen und löst nur beim schließen etwas aus. So ist es in ioBroker auch gedacht.

                  @passuff said in Lovelace Taster erstellen:

                  Mit der action "Toggle" kann man dieses Verhalten zumindest nicht erzeugen

                  Korrekt, die action ist nicht, was du suchst.

                  @passuff said in Lovelace Taster erstellen:

                  Wie kann ich nun mit Lovelace einen Button erzeugen?

                  Dazu gibt es mehrere Möglichkeiten. Wenn du z.B. manuell einen switch anlegst, kannst du da angeben, dass der Zustand unsicher ist, dann bekommst du im UI normalerweise zwei Taster, einen für "aus" einen für "an". Das ist das einfachste und du wärst schon etwas näher.
                  lovelace-taster.png

                  Ganz korrekt (und mittlerweile anscheinend auch per UI konfigurierbar, yay), ist aber halt nicht die action "toggle" zu nehmen, sondern den service nehmen, den du haben willst. In deinem Fall vermutlich switch.turn_on.
                  lovelace-service-call.png

                  Oder als Code:

                  type: button
                  name: Alles aus
                  entity: switch.Alles_Aus
                  tap_action:
                    action: call-service
                    service: switch.turn_off
                    service_data:
                      entity_id: switch.Alles_Aus
                  hold_action:
                    action: more-info
                  

                  (bei mir wird halt turn_off aufgerufen, also immer ausgeschaltet).

                  Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                  Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                  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

                  575

                  Online

                  32.5k

                  Benutzer

                  81.8k

                  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