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. Entwicklung
  4. Widget circle-menu

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    544

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

Widget circle-menu

Geplant Angeheftet Gesperrt Verschoben Entwicklung
34 Beiträge 8 Kommentatoren 5.8k Aufrufe 1 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
    pix
    schrieb am zuletzt editiert von
    #15

    Hallo Dominic,

    Adapter mit Widget Set entpackt, taucht in Admin auf und lässt sich installieren. Danach allerdings keine Änderung in VIS (7.7), finde die Widgets in der Widgetauswahl nicht.

    Admin/Instanzen (log level fehlt noch) 261_bildschirmfoto_2015-11-29_um_18.40.32.jpg
    Übrigens: @Communicate:

    cd /opt/iobroker
    iobroker visdebug communicate
    ```` `  brachte die Anzeige der iobroker Hilfe:
    

    ! MacMini-Ethernet:iobroker pix$ ./iobroker visdebug communicate
    ! Commands:
    ! iobroker setup [–objects <host>] [–states <host>] [custom]
    ! iobroker start
    ! iobroker stop
    ! iobroker start <adapter>iobroker stop <adapter>iobroker start all
    ! iobroker restart
    ! iobroker restart <adapter>iobroker add <adapter>[–enabled] [–host <host>] [–port <port>]
    ! iobroker install <adapter>iobroker del <adapter>iobroker del <adapter>. <instance>iobroker update [repository url] [–updatable]
    ! iobroker upgrade [repository url]
    ! iobroker upgrade self [repository url]
    ! iobroker upgrade <adapter>[repository url]
    ! iobroker upload <adapter>iobroker upload all
    ! iobroker object get <id>iobroker object chmod <object-mode>[state-mode] <id>iobroker object chown <user><group><id>iobroker object list <id>iobroker state get <id>iobroker state getplain <id>iobroker state set <id><value>[ack]
    ! iobroker list <type>[filter]
    ! iobroker chmod <mode><file>iobroker chown <user><group><file>iobroker touch <file>iobroker rm <file>iobroker adduser <user>[–ingroup group] [–password pass]
    ! iobroker deluser <user>iobroker passwd <user>[–password pass]
    ! iobroker set <adapter>. <instance>[–port port] [–ip address] [–ssl
    ! true|false]
    ! iobroker clean
    ! iobroker backup
    ! iobroker restore <backup name/or/path="">Optionen:
    ! --objects [Standard: "127.0.0.1"]
    ! –states [Standard: "127.0.0.1"]
    ! –lang [Standard: "en"]</backup></instance></adapter></user></user></user></file></file></file></group></user></file></mode></type></value></id></id></id></id></id></group></user></id></object-mode></id></adapter></adapter></instance></adapter></adapter></adapter></port></host></adapter></adapter></adapter></adapter></host></host>

    :?:

    Gruß,

    Pix

    ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

    1 Antwort Letzte Antwort
    0
    • C Offline
      C Offline
      Communicate
      schrieb am zuletzt editiert von
      #16

      Welche ja Controller version hast du?

      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        pix
        schrieb am zuletzt editiert von
        #17

        Js-Controller 0.7.14

        Gesendet von meinem iPhone mit Tapatalk

        ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

        1 Antwort Letzte Antwort
        0
        • C Offline
          C Offline
          Communicate
          schrieb am zuletzt editiert von
          #18

          ah, ok. dann haben wir da schon das Problem.

          Hier in diesem Thread hat Bluefox erwähnt, dass man dafür mindestens 0.7.15 benötigt:

          <url url="http://forum.iobroker.net/viewtopic.php?f=30&amp;t=1556&amp;hilit=widget+entwicklung#p13205">[http://forum.iobroker.net/viewtopic.php?f=30&t=1556&hilit=widget+entwicklung#p13205 " target="_blank">](</s><LINK_TEXT text=)[<link_text text="http://forum.iobroker.net/viewtopic.php … ng#p13205
          ">http://forum.iobroker.net/viewtopic.php?f=30&t=1556&hilit=widget+entwicklung#p13205</link_text>](</s><LINK_TEXT text=)</url>

          Man kann die 0.7.15 wie folgt installieren:

          cd /opt/iobroker
          sudo iobroker stop
          sudo npm install https://github.com/ioBroker/ioBroker.js-controller/tarball/master
          sudo iobroker start
          

          Magst Du berichten, ob es geklappt hat - danach können wir dann gemeinsam weiter an den Widgets entwickeln…

          Grüße aus dem stürmischen Norden

          Dominic

          1 Antwort Letzte Antwort
          0
          • P Offline
            P Offline
            pix
            schrieb am zuletzt editiert von
            #19

            Hallo,

            leider habe ich das Update auf 0.7.15 gemacht, bevor ich mehr gelesen habe. Jetzt ist mein Produktivsystem wieder mal abgeschmiert.

            Log (ganzer Vorgang im Textfile-Anhang)

            ! ├── npm@2.14.13
            ! ├── rimraf@2.4.4
            ! └─┬ socket.io-adapter@0.3.1
            ! └─┬ debug@1.0.2
            ! └── ms@0.6.2
            ! npm WARN ENOENT ENOENT: no such file or directory, open '/Users/pix/Documents/iobroker/package.json'
            ! npm WARN ENOENT ENOENT: no such file or directory, open '/Users/pix/Documents/iobroker/node_modules/ftp-response-parser/package.json'
            ! npm WARN ENOENT ENOENT: no such file or directory, open '/Users/pix/Documents/iobroker/node_modules/jsftp/package.json'
            ! npm WARN ENOENT ENOENT: no such file or directory, open '/Users/pix/Documents/iobroker/node_modules/mqtt-packet/package.json'
            ! npm WARN ENOENT ENOENT: no such file or directory, open '/Users/pix/Documents/iobroker/node_modules/node_modules/package.json'
            ! npm WARN ENOENT ENOENT: no such file or directory, open '/Users/pix/Documents/iobroker/node_modules/through2/package.json'
            ! npm WARN EPACKAGEJSON iobroker No description
            ! npm WARN EPACKAGEJSON iobroker No repository field.
            ! npm WARN EPACKAGEJSON iobroker No README data
            ! npm WARN EPACKAGEJSON iobroker No license field.
            ! MacMini-Ethernet:iobroker pix$ ./iobroker start
            ! Starting ioBroker controller daemon…
            ! /Users/pix/Documents/iobroker/node_modules/daemonize2/lib/daemonize.js:136
            ! throw new Error(msg.error);
            ! ^
            ! Error: Error: Cannot find module 'socket.io'
            ! at Function.Module._resolveFilename (module.js:337:15)
            ! at Function.Module._load (module.js:287:25)
            ! at Module.require (module.js:366:17)
            ! at require (module.js:385:17)
            ! at Object. <anonymous>(/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/lib/objects/objectsInMemServer.js:8:16)
            ! at Module._compile (module.js:425:26)
            ! at Object.Module._extensions..js (module.js:432:10)
            ! at Module.load (module.js:356:32)
            ! at Function.Module._load (module.js:311:12)
            ! at Module.require (module.js:366:17)
            ! at ChildProcess. <anonymous>(/Users/pix/Documents/iobroker/node_modules/daemonize2/lib/daemonize.js:136:19)
            ! at emitTwo (events.js:87:13)
            ! at ChildProcess.emit (events.js:172:7)
            ! at handleMessage (internal/child_process.js:686:10)
            ! at Pipe.channel.onread (internal/child_process.js:440:11)
            ! MacMini-Ethernet:iobroker pix$</anonymous></anonymous>

            Zum Glück habe ich TimeMachine und heute etwas Zeit. 261_fehler.txt

            Gruß

            Pix

            ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

            1 Antwort Letzte Antwort
            0
            • C Offline
              C Offline
              Communicate
              schrieb am zuletzt editiert von
              #20

              Oh :-( das tut mir leid. Vielleicht kann bluefox hier unterstützen

              von unterwegs gesendet

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                mc-hollin
                schrieb am zuletzt editiert von
                #21

                So, ich hab dein Widget auch mal installiert.

                Ging soweit alles ohne Fehler.

                Im VIS wird das Widget-Packet "communicate" auch angezeigt.

                Leider sehe ich kein Widget.

                Meine js.controller Version ist 0.7.15

                Mir ist Aufgefallen, dass bei der Instanz kein Default-Log eingestellt ist.

                Gruß

                Holger

                1 Antwort Letzte Antwort
                0
                • C Offline
                  C Offline
                  Communicate
                  schrieb am zuletzt editiert von
                  #22

                  Hmm. Den visdebug communicate hast du aber gemacht, oder?

                  von unterwegs gesendet

                  1 Antwort Letzte Antwort
                  0
                  • C Offline
                    C Offline
                    Communicate
                    schrieb am zuletzt editiert von
                    #23

                    Sonst muss bluefox hier mal mit unterstützen.

                    von unterwegs gesendet

                    1 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      mc-hollin
                      schrieb am zuletzt editiert von
                      #24

                      Hier die Ausgabe von visdebug:

                      ! D:\Hausserver-Entwicklung\ioBroker>node node_modules/iobroker.js-controller/iobroker.js visdebug communicate
                      ! Upload "D:\Hausserver-Entwicklung\ioBroker\node_modules\ioBroker.vis\www\index.html.original"
                      ! Upload "D:\Hausserver-Entwicklung\ioBroker\node_modules\ioBroker.vis\www\edit.html.original"
                      ! Modify "D:\Hausserver-Entwicklung\ioBroker\node_modules\ioBroker.vis\www\cache.manifest"
                      ! Upload "D:/Hausserver-Entwicklung/ioBroker/node_modules/iobroker.vis-communicate/widgets"
                      ! Upload "D:/Hausserver-Entwicklung/ioBroker/node_modules/iobroker.vis-communicate/widgets/communicate/css/Cicle Fina.ttf"
                      ! Upload "D:/Hausserver-Entwicklung/ioBroker/node_modules/iobroker.vis-communicate/widgets/communicate/css/style.css"
                      ! Upload "D:/Hausserver-Entwicklung/ioBroker/node_modules/iobroker.vis-communicate/widgets/communicate/img/sani_heating_temp.svg"
                      ! Upload "D:/Hausserver-Entwicklung/ioBroker/node_modules/iobroker.vis-communicate/widgets/communicate.html"

                      1 Antwort Letzte Antwort
                      0
                      • C Offline
                        C Offline
                        Communicate
                        schrieb am zuletzt editiert von
                        #25

                        Das sieht eigentlich gut aus.

                        Hast du mal einen reboot probiert? Aber das ist jetzt nur stochern im Nebel.

                        @Bluefox: haben wir etwas vergessen?

                        von unterwegs gesendet

                        1 Antwort Letzte Antwort
                        0
                        • M Offline
                          M Offline
                          mc-hollin
                          schrieb am zuletzt editiert von
                          #26

                          Ich hab mal mit "jqui-mfd" verglichen.

                          Hier liegt noch eine "doc.html" im Verzeichnis "ioBroker\node_modules\iobroker.vis-jqui-mfd\widgets\jqui-mfd".

                          Ist die eventuell für die Ansicht zuständig?

                          1 Antwort Letzte Antwort
                          0
                          • C Offline
                            C Offline
                            Communicate
                            schrieb am zuletzt editiert von
                            #27

                            Nein, eigentlich nicht. Das eigentliche widget steht in communicate.html und in styles.css

                            von unterwegs gesendet

                            1 Antwort Letzte Antwort
                            0
                            • M Offline
                              M Offline
                              mc-hollin
                              schrieb am zuletzt editiert von
                              #28

                              Hab jetzt den ioBroker Dienst neu gestartet und den ganzen Rechner neu gebootet.

                              Beides ohne Erfolg.

                              1 Antwort Letzte Antwort
                              0
                              • C Offline
                                C Offline
                                Communicate
                                schrieb am zuletzt editiert von
                                #29

                                Hmm.

                                Du hast ein Testsystem, oder?

                                Ich hoffe auch mit Backup.

                                Wenn ja, probier mal folgendes:

                                cd /opt/iobroker/node_modules/iobroker.vis-communicate

                                npm install

                                1 Antwort Letzte Antwort
                                0
                                • M Offline
                                  M Offline
                                  mc-hollin
                                  schrieb am zuletzt editiert von
                                  #30

                                  Ja, läuft auf einem Testsystem unter Windows 10.

                                  Leider hat "npm install" auch nichts gebracht.

                                  Ich hab auf dem Testsystem node 4.2.2 laufen.

                                  Ob das was zu sagen hat?

                                  Hier das Ergebnis:

                                  ! D:\Hausserver-Entwicklung\ioBroker\node_modules\iobroker.vis-communicate>npm install
                                  ! npm WARN deprecated lodash@0.9.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^3.0.0.
                                  ! npm WARN deprecated lodash@2.4.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^3.0.0.
                                  ! grunt-exec@0.4.6 node_modules\grunt-exec
                                  ! grunt-contrib-copy@0.8.2 node_modules\grunt-contrib-copy
                                  ! ├── file-sync-cmp@0.1.1
                                  ! └── chalk@1.1.1 (escape-string-regexp@1.0.3, ansi-styles@2.1.0, supports-color@2.0.0, has-ansi@2.0.0, strip-ansi@3.0.0)
                                  ! grunt-contrib-clean@0.6.0 node_modules\grunt-contrib-clean
                                  ! └── rimraf@2.2.8
                                  ! grunt-http@1.6.0 node_modules\grunt-http
                                  ! ├── aws-sign2@0.5.0
                                  ! ├── oauth-sign@0.4.0
                                  ! ├── tunnel-agent@0.4.1
                                  ! ├── async@0.9.2
                                  ! ├── tough-cookie@2.2.1
                                  ! ├── http-signature@0.10.1 (assert-plus@0.1.5, ctype@0.5.3, asn1@0.1.11)
                                  ! ├── hawk@2.3.1 (cryptiles@2.0.5, boom@2.10.1, sntp@1.0.9, hoek@2.16.3)
                                  ! ├── form-data@0.1.4 (mime@1.2.11, combined-stream@0.0.7)
                                  ! └── request@2.47.0 (caseless@0.6.0, forever-agent@0.5.2, stringstream@0.0.5, json-stringify-safe@5.0.1, mime-types@1.0.2, qs@2.3.3, node-uuid@1.4.7, combined-stream@0.0.7, bl@0.9.4, hawk@1.1.1)
                                  ! grunt@0.4.5 node_modules\grunt
                                  ! ├── eventemitter2@0.4.14
                                  ! ├── dateformat@1.0.2-1.2.3
                                  ! ├── getobject@0.1.0
                                  ! ├── which@1.0.9
                                  ! ├── colors@0.6.2
                                  ! ├── async@0.1.22
                                  ! ├── lodash@0.9.2
                                  ! ├── rimraf@2.2.8
                                  ! ├── hooker@0.2.3
                                  ! ├── grunt-legacy-util@0.2.0
                                  ! ├── exit@0.1.2
                                  ! ├── coffee-script@1.3.3
                                  ! ├── iconv-lite@0.2.11
                                  ! ├── underscore.string@2.2.1
                                  ! ├── nopt@1.0.10 (abbrev@1.0.7)
                                  ! ├── minimatch@0.2.14 (sigmund@1.0.1, lru-cache@2.7.3)
                                  ! ├── glob@3.1.21 (inherits@1.0.2, graceful-fs@1.2.3)
                                  ! ├── grunt-legacy-log@0.1.2 (grunt-legacy-log-utils@0.1.1, lodash@2.4.2, underscore.string@2.3.3)
                                  ! ├── findup-sync@0.1.3 (lodash@2.4.2, glob@3.2.11)
                                  ! └── js-yaml@2.0.5 (esprima@1.0.4, argparse@0.1.16)
                                  ! grunt-replace@0.9.3 node_modules\grunt-replace
                                  ! ├── chalk@1.1.1 (escape-string-regexp@1.0.3, ansi-styles@2.1.0, supports-color@2.0.0, strip-ansi@3.0.0, has-ansi@2.0.0)
                                  ! ├── lodash@3.10.1
                                  ! └── applause@0.4.3 (cson-parser@1.3.0, js-yaml@3.4.6)
                                  ! grunt-contrib-compress@0.13.0 node_modules\grunt-contrib-compress
                                  ! ├── prettysize@0.0.3
                                  ! ├── chalk@0.5.1 (escape-string-regexp@1.0.3, ansi-styles@1.1.0, supports-color@0.2.0, strip-ansi@0.3.0, has-ansi@0.1.0)
                                  ! └── archiver@0.13.1 (buffer-crc32@0.2.5, async@0.9.2, lazystream@0.1.0, lodash@2.4.2, readable-stream@1.0.33, tar-stream@1.1.5, glob@4.3.5, zip-stream@0.5.2)
                                  ! grunt-contrib-jshint@0.11.3 node_modules\grunt-contrib-jshint
                                  ! ├── hooker@0.2.3
                                  ! └── jshint@2.8.0 (strip-json-comments@1.0.4, exit@0.1.2, minimatch@2.0.10, shelljs@0.3.0, console-browserify@1.1.0, cli@0.6.6, htmlparser2@3.8.3, lodash@3.7.0)
                                  ! grunt-jscs@2.3.0 node_modules\grunt-jscs
                                  ! ├── vow@0.4.11
                                  ! ├── hooker@0.2.3
                                  ! ├── lodash@3.10.1
                                  ! └── jscs@2.5.1 (to-double-quotes@2.0.0, to-single-quotes@2.0.0, reserved-words@0.1.1, strip-json-comments@1.0.4, natural-compare@1.2.2, estraverse@4.1.1, pathval@0.1.1, jscs-preset-wikimedia@1.0.0, esprima@2.7.0, exit@0.1.2, xmlbuilder@3.1.0, commander@2.9.0, strip-bom@2.0.0, chalk@1.1.1, cli-table@0.3.1, glob@5.0.15, minimatch@3.0.0, resolve@1.1.6, jscs-jsdoc@1.2.0, vow-fs@0.3.4, js-yaml@3.4.6, babel-jscs@2.0.5, htmlparser2@3.8.3, prompt@0.2.14, jsonlint@1.6.2, escope@3.3.0, babel-core@5.8.34)
                                  Was mir leider überhaupt nichts sagt :shock:

                                  1 Antwort Letzte Antwort
                                  0
                                  • C Offline
                                    C Offline
                                    Communicate
                                    schrieb am zuletzt editiert von
                                    #31

                                    Jetzt nochmal den visdebug teil

                                    von unterwegs gesendet

                                    1 Antwort Letzte Antwort
                                    0
                                    • C Offline
                                      C Offline
                                      Communicate
                                      schrieb am zuletzt editiert von
                                      #32

                                      so, ich habe jetzt eine idee woran es liegen könnte.

                                      ersetze mal bitte folgende dateien mit diesen:

                                      515_archiv.zip.txt

                                      (datei in zip unbenennen, dann entpacken)

                                      /opt/iobroker/node_modules/iobroker.vis-communicate/widgets/communicate.html

                                      /opt/iobroker/node_modules/iobroker.vis-communicate/widgets/communicate/css/style.css

                                      danach dann nochmal

                                      iobroker visdebug communicate

                                      @PIX: da osx ja auch case sensitive ist: das Verzeichnis muss "iobroker.vis-communicate" heissen nicht ioBroker.vis-communicate

                                      Bei mc-hollin hat es jetzt funktioniert - jetzt gehts an gemeinsame Entscheiden, welche Eigenschaften administriebar sein sollen und ans

                                      weiterentwickeln.

                                      Es sind jetzt überigens zwei Widgets geworden, einmal Circle und einmal Corner-Menu.

                                      Für das Circle Widget, musst bei der CSS-Lasche noch noch folgendes erfasst werden:

                                      @import "http://netdna.bootstrapcdn.com/font-awe … wesome.css";

                                      Beim Menu Widget kann man bis jetzt die Eigenschaften Link1, Link2, Link3 und Link4 nutzen (sonst sieht man auch keinen Text im Widget)

                                      Wenn jemand Ahnung von CSS hat - das können wir bestimmt auch gut gebrauchen.

                                      Gruß

                                      Dominic

                                      1 Antwort Letzte Antwort
                                      0
                                      • V Offline
                                        V Offline
                                        vore
                                        schrieb am zuletzt editiert von
                                        #33

                                        Hallo!

                                        Seit ihr weiter gekommen? Hätte auch Interesse dran.

                                        Gruß

                                        Vore

                                        1 Antwort Letzte Antwort
                                        0
                                        • H Nicht stören
                                          H Nicht stören
                                          Hansi1234
                                          schrieb am zuletzt editiert von Hansi1234
                                          #34

                                          @Communicate said in Widget circle-menu:

                                          @import "http://netdna.bootstrapcdn.com/font-awe … wesome.css";

                                          Wurden hier schon Fortschritte gemacht? Finde die Idee toll. Bei FHEM wurde das sehr toll umgesetzt.

                                          EDIT: Sehe gerade, dass es ein neueres Thema darüber gibt:
                                          link text

                                          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

                                          628

                                          Online

                                          32.6k

                                          Benutzer

                                          81.9k

                                          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