Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. jarvis v3.0.0 - just another remarkable vis

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

jarvis v3.0.0 - just another remarkable vis

jarvis v3.0.0 - just another remarkable vis

Scheduled Pinned Locked Moved Tester
jarvismaterialmaterial uimaterialdesignvisvisualisierungvisualization
4.5k Posts 254 Posters 2.7m Views 209 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M MCU

    @memme Du kannst es ja auch auf das Widget eingrenzen.

    .jarvis-widget-0352637f-141b-442a-be36-49228fa1fe03 .jarvis-DisplayImage-Image { 
        height: auto !important;
    }
    .jarvis-widget-0352637f-141b-442a-be36-49228fa1fe03 .full-width { 
      height: auto !important;
    }
    
    /* oder transform-Versuch  */
    .jarvis-widget-0352637f-141b-442a-be36-49228fa1fe03 .jarvis-widget-scaler.full-width {
         transform-origin: 100% !important;
    }
    

    Dann brauchst du es nicht ein und ausschalten?
    Die andere Variante wäre in der Anzeigevariante oder im DP, oder als nächste Variante das iFrame.
    Welche Kamera ist das?

    S Offline
    S Offline
    smarthome2020
    wrote on last edited by
    #4047

    @mcu
    Ich bin wieder am Basteln. Hatte irgendwo davon gelesen, dass man beim LevelBody im Widget die Grenzen selber setzen kann. Bei mir geht es um die Brightness einer Lampe ... 0-100% decken nicht die gesamte Helligkeit ab. Sie würde über die 100% hinweggehen, der Regler geht nur nicht drüber hinweg. Wie kann ich sozusagen die Grenze für die 100% definieren? Ich finde die Lösung trotz googlens nicht wieder 😕

    M 1 Reply Last reply
    0
    • S smarthome2020

      @mcu
      Ich bin wieder am Basteln. Hatte irgendwo davon gelesen, dass man beim LevelBody im Widget die Grenzen selber setzen kann. Bei mir geht es um die Brightness einer Lampe ... 0-100% decken nicht die gesamte Helligkeit ab. Sie würde über die 100% hinweggehen, der Regler geht nur nicht drüber hinweg. Wie kann ich sozusagen die Grenze für die 100% definieren? Ich finde die Lösung trotz googlens nicht wieder 😕

      M Online
      M Online
      MCU
      wrote on last edited by
      #4048

      @smarthome2020
      https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/besonderheiten-v3/geraet/body-element/levelbody

      NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      S 1 Reply Last reply
      0
      • M MCU

        @smarthome2020
        https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/besonderheiten-v3/geraet/body-element/levelbody

        S Offline
        S Offline
        smarthome2020
        wrote on last edited by
        #4049

        @mcu

        Hab es nun mal so gelöst: Besipiel 1.PNG

        Problem ist nun im roten Kreis zu sehen:
        Besipiel 2.PNG

        M 1 Reply Last reply
        0
        • S smarthome2020

          @mcu

          Hab es nun mal so gelöst: Besipiel 1.PNG

          Problem ist nun im roten Kreis zu sehen:
          Besipiel 2.PNG

          M Online
          M Online
          MCU
          wrote on last edited by
          #4050

          @smarthome2020 Evtl. Versionabhängig. Welche Version ist installiert?

          NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

          1 Reply Last reply
          0
          • M MCU

            @memme Du kannst es ja auch auf das Widget eingrenzen.

            .jarvis-widget-0352637f-141b-442a-be36-49228fa1fe03 .jarvis-DisplayImage-Image { 
                height: auto !important;
            }
            .jarvis-widget-0352637f-141b-442a-be36-49228fa1fe03 .full-width { 
              height: auto !important;
            }
            
            /* oder transform-Versuch  */
            .jarvis-widget-0352637f-141b-442a-be36-49228fa1fe03 .jarvis-widget-scaler.full-width {
                 transform-origin: 100% !important;
            }
            

            Dann brauchst du es nicht ein und ausschalten?
            Die andere Variante wäre in der Anzeigevariante oder im DP, oder als nächste Variante das iFrame.
            Welche Kamera ist das?

            M Offline
            M Offline
            memme
            wrote on last edited by
            #4051

            @mcu
            Vielen Dank für die Hilfe, aber das bringt es nicht. Es ist definitiv ein Bug in dem fullscreen modul. Es passt nur die width aber nicht die height an. Das nachträglich zu fixen funktioniert nicht. Denn die css path packen auch immer das bild in dem non fullscreen. Dann wird das bild da nur partial dargestellt (in der höhe beschnitten).
            Es muss das problem gefixt werden und das sehe ich wie gesagt in dem fullscreen code.

            M 1 Reply Last reply
            0
            • M memme

              @mcu
              Vielen Dank für die Hilfe, aber das bringt es nicht. Es ist definitiv ein Bug in dem fullscreen modul. Es passt nur die width aber nicht die height an. Das nachträglich zu fixen funktioniert nicht. Denn die css path packen auch immer das bild in dem non fullscreen. Dann wird das bild da nur partial dargestellt (in der höhe beschnitten).
              Es muss das problem gefixt werden und das sehe ich wie gesagt in dem fullscreen code.

              M Online
              M Online
              MCU
              wrote on last edited by
              #4052

              @memme Dann bitte ein Request in github erstellen.

              NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
              Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

              1 Reply Last reply
              0
              • H Offline
                H Offline
                Hohenbostler
                wrote on last edited by
                #4053

                Moin zusammen,

                weiss jemand wie ich einen einfach button erstellen kann. Am liebsten einen der zwei Zustände wieder gibt. Ich möchte damit meine Haustür auschliessen können.

                Ich drücke den Button -> Die Tür schliesst auf und der Button bekommt dann den namen abschliessen
                Ich drücke den button nochmal die schliesst ab und auf dem Button erscheint jetzt aufschliessen.

                M 1 Reply Last reply
                0
                • H Hohenbostler

                  Moin zusammen,

                  weiss jemand wie ich einen einfach button erstellen kann. Am liebsten einen der zwei Zustände wieder gibt. Ich möchte damit meine Haustür auschliessen können.

                  Ich drücke den Button -> Die Tür schliesst auf und der Button bekommt dann den namen abschliessen
                  Ich drücke den button nochmal die schliesst ab und auf dem Button erscheint jetzt aufschliessen.

                  M Online
                  M Online
                  MCU
                  wrote on last edited by
                  #4054

                  @hohenbostler Buttonaction nutzen.

                  NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                  Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                  1 Reply Last reply
                  0
                  • Ronny GerndtR Offline
                    Ronny GerndtR Offline
                    Ronny Gerndt
                    wrote on last edited by
                    #4055

                    Ist es möglich in einem HistoryGraph Werte anhand eines States auszufiltern? Ich habe im Callback bereits einen Filter eingebaut der funktioniert. Diesen würde ich aber gerne abhängig von einem State machen.

                    1 Reply Last reply
                    0
                    • M Online
                      M Online
                      MCU
                      wrote on last edited by
                      #4056

                      @ronny-gerndt Zeig mal bitte die Einstellungen zum HistoryGraph.

                      NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                      1 Reply Last reply
                      0
                      • Ronny GerndtR Offline
                        Ronny GerndtR Offline
                        Ronny Gerndt
                        wrote on last edited by
                        #4057

                        ed980e1e-2575-4ec5-b1ae-d0a178598658-image.png
                        Das ist mein Callback:
                        (val, ts, index) => {if(new Date(ts).getHours() >= 6 && new Date(ts).getHours() <= 12) return val; else return null}
                        Da hätte ich gerne noch eine Abfrage nach einem State mit dabei.

                        M 1 Reply Last reply
                        0
                        • Ronny GerndtR Ronny Gerndt

                          ed980e1e-2575-4ec5-b1ae-d0a178598658-image.png
                          Das ist mein Callback:
                          (val, ts, index) => {if(new Date(ts).getHours() >= 6 && new Date(ts).getHours() <= 12) return val; else return null}
                          Da hätte ich gerne noch eine Abfrage nach einem State mit dabei.

                          M Online
                          M Online
                          MCU
                          wrote on last edited by MCU
                          #4058

                          @ronny-gerndt Was soll denn abgefragt werden? Der State steht im val, oder meinst den jetzigen Statewert?

                          NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                          Ronny GerndtR 1 Reply Last reply
                          0
                          • M MCU

                            @ronny-gerndt Was soll denn abgefragt werden? Der State steht im val, oder meinst den jetzigen Statewert?

                            Ronny GerndtR Offline
                            Ronny GerndtR Offline
                            Ronny Gerndt
                            wrote on last edited by
                            #4059

                            @mcu
                            Ich dachte an sowas:
                            (val, ts, index) => {if(getState('x.y').val) { if(new Date(ts).getHours() >= 6 && new Date(ts).getHours() <= 12) return val; else return null} else return val}

                            Ich möchte also einen bool State lesen und anhand dessen dann die Werte filtern

                            M 1 Reply Last reply
                            0
                            • Ronny GerndtR Ronny Gerndt

                              @mcu
                              Ich dachte an sowas:
                              (val, ts, index) => {if(getState('x.y').val) { if(new Date(ts).getHours() >= 6 && new Date(ts).getHours() <= 12) return val; else return null} else return val}

                              Ich möchte also einen bool State lesen und anhand dessen dann die Werte filtern

                              M Online
                              M Online
                              MCU
                              wrote on last edited by MCU
                              #4060

                              @ronny-gerndt

                              (val, ts, index) => {
                                 if(window.Socket.getState('x.y').val) {
                                          if(new Date(ts).getHours() >= 6 && new Date(ts).getHours() <= 12) {
                                              return val; 
                                          }else {
                                               return null;
                                            }
                                 } else {
                                    return val;
                                 }
                              }
                              

                              Klappt das?

                              NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                              Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                              Ronny GerndtR 1 Reply Last reply
                              0
                              • M MCU

                                @ronny-gerndt

                                (val, ts, index) => {
                                   if(window.Socket.getState('x.y').val) {
                                            if(new Date(ts).getHours() >= 6 && new Date(ts).getHours() <= 12) {
                                                return val; 
                                            }else {
                                                 return null;
                                              }
                                   } else {
                                      return val;
                                   }
                                }
                                

                                Klappt das?

                                Ronny GerndtR Offline
                                Ronny GerndtR Offline
                                Ronny Gerndt
                                wrote on last edited by
                                #4061

                                @mcu Ne das geht leider nicht. window.Socket.getState ist async. Liefert also ein Promise zurück. Habe es nun mal mit folgendem versucht:

                                async (val, ts, index) => {
                                	let test = (await window.Socket.getState('0_userdata.0.jarvis.WeightNadine.WeightToShow')).val; 
                                	let hour = new Date(ts).getHours();
                                	if(test === 0) {
                                		if(hour >= 5 && hour <= 12) {
                                			return val; 
                                		} else {
                                			return null;
                                		}
                                	}
                                	else if(test === 1) {
                                		if(hour < 6 && hour > 12) {
                                			return val; 
                                		} else {
                                			return null;
                                		}
                                	}
                                	else {
                                		return val;
                                	}
                                }
                                

                                Liefert auch die korrekten Werte (laut log) zurück. Leider wird der Callback aber wohl nicht awaited und das Rendern des Graphs läuft weiter ohne auf die Ergebnisse zu warten. Er ist also dann einfach leer 😢

                                M 1 Reply Last reply
                                0
                                • Ronny GerndtR Ronny Gerndt

                                  @mcu Ne das geht leider nicht. window.Socket.getState ist async. Liefert also ein Promise zurück. Habe es nun mal mit folgendem versucht:

                                  async (val, ts, index) => {
                                  	let test = (await window.Socket.getState('0_userdata.0.jarvis.WeightNadine.WeightToShow')).val; 
                                  	let hour = new Date(ts).getHours();
                                  	if(test === 0) {
                                  		if(hour >= 5 && hour <= 12) {
                                  			return val; 
                                  		} else {
                                  			return null;
                                  		}
                                  	}
                                  	else if(test === 1) {
                                  		if(hour < 6 && hour > 12) {
                                  			return val; 
                                  		} else {
                                  			return null;
                                  		}
                                  	}
                                  	else {
                                  		return val;
                                  	}
                                  }
                                  

                                  Liefert auch die korrekten Werte (laut log) zurück. Leider wird der Callback aber wohl nicht awaited und das Rendern des Graphs läuft weiter ohne auf die Ergebnisse zu warten. Er ist also dann einfach leer 😢

                                  M Online
                                  M Online
                                  MCU
                                  wrote on last edited by
                                  #4062

                                  @ronny-gerndt Dann ein Feature Request in github einstellen?

                                  NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                                  Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                  Ronny GerndtR 1 Reply Last reply
                                  0
                                  • M MCU

                                    @ronny-gerndt Dann ein Feature Request in github einstellen?

                                    Ronny GerndtR Offline
                                    Ronny GerndtR Offline
                                    Ronny Gerndt
                                    wrote on last edited by
                                    #4063

                                    @mcu Habs nun hinbekommen:
                                    Im Script folgendes:

                                    let weightToShowNadine = 0;
                                    
                                    window.Socket.getState('0_userdata.0.jarvis.WeightNadine.WeightToShow', ({ err, state }) => {
                                       weightToShowNadine = state.val;
                                    });
                                    
                                    window.Socket.subscribeState('0_userdata.0.jarvis.WeightNadine.WeightToShow', ({ err, state }) => {
                                       if(weightToShowNadine != state.val) {   
                                          location.reload();
                                       }
                                    });
                                    

                                    und im Callback dann:

                                    (val, ts, index) => {
                                    	let test = weightToShowNadine; 
                                    	let hour = new Date(ts).getHours();
                                    	if(test === 0) {
                                    		if(hour >= 5 && hour <= 12) {
                                    			return val; 
                                    		} else {
                                    			return null;
                                    		}
                                    	}
                                    	else if(test === 1) {
                                    		if(hour < 6 || hour > 12) {
                                    			return val; 
                                    		} else {
                                    			return null;
                                    		}
                                    	}
                                    	else {
                                    		return val;
                                    	}
                                    }
                                    

                                    Sieht nun soweit gut aus.
                                    Nur geht das neu Laden des Graph noch etwas schicker als ein hartes neu Laden der Seite?

                                    M 1 Reply Last reply
                                    1
                                    • Ronny GerndtR Ronny Gerndt

                                      @mcu Habs nun hinbekommen:
                                      Im Script folgendes:

                                      let weightToShowNadine = 0;
                                      
                                      window.Socket.getState('0_userdata.0.jarvis.WeightNadine.WeightToShow', ({ err, state }) => {
                                         weightToShowNadine = state.val;
                                      });
                                      
                                      window.Socket.subscribeState('0_userdata.0.jarvis.WeightNadine.WeightToShow', ({ err, state }) => {
                                         if(weightToShowNadine != state.val) {   
                                            location.reload();
                                         }
                                      });
                                      

                                      und im Callback dann:

                                      (val, ts, index) => {
                                      	let test = weightToShowNadine; 
                                      	let hour = new Date(ts).getHours();
                                      	if(test === 0) {
                                      		if(hour >= 5 && hour <= 12) {
                                      			return val; 
                                      		} else {
                                      			return null;
                                      		}
                                      	}
                                      	else if(test === 1) {
                                      		if(hour < 6 || hour > 12) {
                                      			return val; 
                                      		} else {
                                      			return null;
                                      		}
                                      	}
                                      	else {
                                      		return val;
                                      	}
                                      }
                                      

                                      Sieht nun soweit gut aus.
                                      Nur geht das neu Laden des Graph noch etwas schicker als ein hartes neu Laden der Seite?

                                      M Online
                                      M Online
                                      MCU
                                      wrote on last edited by MCU
                                      #4064

                                      @ronny-gerndt Wie sieht denn der Graph aus?
                                      Wofür das location.reload()? -> Frontends werden neu geladen.

                                      NUC i7 64GB mit Proxmox ---- https://mcuiobroker.gitbook.io/jarvis-infos/ Aktualisierungen der Doku auf Instagram verfolgen -> https://www.instagram.com/mcuiobroker
                                      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                      Ronny GerndtR 1 Reply Last reply
                                      0
                                      • M MCU

                                        @ronny-gerndt Wie sieht denn der Graph aus?
                                        Wofür das location.reload()? -> Frontends werden neu geladen.

                                        Ronny GerndtR Offline
                                        Ronny GerndtR Offline
                                        Ronny Gerndt
                                        wrote on last edited by Ronny Gerndt
                                        #4065

                                        @mcu Wenn ich in ioBroker den Wert von 0 auf 1 ändere komme ich zwar im subscribeState state an aber der Graph wird nicht neu gerendert.

                                        window.Socket.subscribeState('0_userdata.0.jarvis.WeightNadine.WeightToShow', ({ err, state }) => {
                                           if(weightToShowNadine != state.val) {   
                                              weightToShowNadine = state.val;
                                           }
                                        });
                                        

                                        Auch wenn ich den Tab Wechsel findet kein neu Zeichnen des Graphs statt. Nur ein neu Laden der Seite macht das.

                                        Edit: Ok, nachdem der Aktualisierungsintervall abgelaufen ist wurde der Graph neu gezeichnet. Würde das gerne etwas schneller hinbekommen 😉

                                        ch90045C 1 Reply Last reply
                                        1
                                        • Ronny GerndtR Ronny Gerndt

                                          @mcu Wenn ich in ioBroker den Wert von 0 auf 1 ändere komme ich zwar im subscribeState state an aber der Graph wird nicht neu gerendert.

                                          window.Socket.subscribeState('0_userdata.0.jarvis.WeightNadine.WeightToShow', ({ err, state }) => {
                                             if(weightToShowNadine != state.val) {   
                                                weightToShowNadine = state.val;
                                             }
                                          });
                                          

                                          Auch wenn ich den Tab Wechsel findet kein neu Zeichnen des Graphs statt. Nur ein neu Laden der Seite macht das.

                                          Edit: Ok, nachdem der Aktualisierungsintervall abgelaufen ist wurde der Graph neu gezeichnet. Würde das gerne etwas schneller hinbekommen 😉

                                          ch90045C Offline
                                          ch90045C Offline
                                          ch90045
                                          wrote on last edited by ch90045
                                          #4066

                                          Guten Morgen in die Runde,

                                          ich bin ein wenig ratlos - vor ca. 2 Wochen habe ich meine Daikin Klimaanlage mit Jarvis abgebildet - alles hat funktioniert. Seit gestern bekomme ich aber Fehler, die ich nicht wirklich deuten kann und es geht NICHT mehr mit Jarvis. Ich bekomme folgende Fehlermeldung:

                                          Datatype for 48281f85-2e54-456d-96f0-6c10eae9f136.climateControl.fanControl.operationModes.cooling.fanSpeed.currentMode differs from expected, ignore state change! Please write correct datatype (number)
                                          

                                          Wenn ich mir die DP Eigenschaften ansehe, dann bekomme ich dies:

                                          {
                                            "type": "state",
                                            "common": {
                                              "type": "number",
                                              "read": true,
                                              "write": true,
                                              "states": {
                                                "0": "auto",
                                                "1": "quiet",
                                                "2": "fixed"
                                              },
                                              "name": "currentMode",
                                              "role": "level"
                                            },
                                            "native": {
                                              "managementPoint": "climateControl",
                                              "dataPoint": "fanControl",
                                              "dataPointPath": "/operationModes/cooling/fanSpeed/currentMode",
                                              "values": [
                                                "auto",
                                                "quiet",
                                                "fixed"
                                              ]
                                            },
                                            "from": "system.adapter.daikin-cloud.0",
                                            "user": "system.user.admin",
                                            "ts": 1694068597924,
                                            "_id": "daikin-cloud.0.48281f85-2e54-456d-96f0-6c10eae9f136.climateControl.fanControl.operationModes.cooling.fanSpeed.currentMode",
                                            "acl": {
                                              "object": 1636,
                                              "state": 1636,
                                              "owner": "system.user.christian",
                                              "ownerGroup": "system.group.administrator"
                                            }
                                          }
                                          

                                          Über den DP kann ich alles schalten - was/wo muss ich in Jarvis etwas ändern.

                                          Christian

                                          M 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          564

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe