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. ioBroker Allgemein
  4. Text2command + Telegrambot - "künstliche Intelligenz" scripten?

NEWS

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

Text2command + Telegrambot - "künstliche Intelligenz" scripten?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
38 Beiträge 16 Kommentatoren 9.7k Aufrufe 2 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
    #9

    Kurze Rückmeldung:

    Die Funktion Inline Keyboard scheint in der OS X Telegram APP nicht zu funktionieren. Unter iOS ohne Probleme.

    Wenn ich die Funktion für das unten eingeblendete Keyboard umschreibe, funktioniert die Ausgabe nicht korrekt. Dann wird der Beschriftungstext wieder an Telegram geschickt. Da muss es noch einen anderen Befehl gebe.

    sendTo('telegram', {
                user: benutzer,
                text: 'Für welchen Raum möchtest du die Temperatur abfragen?',
                reply_markup: {
                    keyboard: [
                        [{ text: 'WC', callback_data: '%TempWC'}],
                        [{ text: 'Schlafzimmer', callback_data: '%TempSchlafzimmer'}],
                        [{ text: 'Bad', callback_data: '%TempBad'}]
                    ],
                    one_time_keyboard: true
                 }
            });
    

    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
    • BuZZyB Offline
      BuZZyB Offline
      BuZZy
      schrieb am zuletzt editiert von
      #10

      Normales Keyboard mit Buttons wo die Antwort dann als Nachricht an den Bot zurückgeschickt wird ist:

      sendTo('telegram.0', {
          text:   'Press button',
          reply_markup: {
              keyboard: [
                  ['Line 1, Button 1', 'Line 1, Button 2'],
                  ['Line 2, Button 3', 'Line 2, Button 4']
              ],
              resize_keyboard:   true,
              one_time_keyboard: true
          }
      });
      

      Um das zu verwenden müsste man aber wiederum die if Abfrage (z.B. %TempSchlafzimmer) genau auf "Temperatur Schlafzimmer" ändern und die Beschriftung des Buttons dementsprechend natürlich auch "Temperatur Schlafzimmer" nennen.

      Fand diese Lösung nicht so "elegant" deswegen habe ich mich für das Inline Keyboard entschieden.

      Verwende Telegram ausschließlich auf Android. Da funktioniert es (wie bei iOS) ohne Probleme.

      Gruß,

      Alex

      1 Antwort Letzte Antwort
      0
      • A Offline
        A Offline
        anubiss1337
        schrieb am zuletzt editiert von
        #11

        moin,

        ne ganz doofe Frage:

        Ich Sende via Telegram:

        "Temperaturen alle"

        Und bekomme als Antwort:

        Wohnzimmer X °C

        Büro X°C

        usw….

        wie bekomme ich so etwas hin?

        hab schon versucht den Code von BuZZy zu verändern aber da verzweifele ich am Zeilenumbruch. Hier mein Versuch:

        if (befehl.search(/(?=.*(\bTEMP\b|\bTEMPERATUR\b|\bWARM\b|\bKALT\b))(?=.*(\ALL\b|\bÜBERALL\b|\bALLE\b)).+/ig) != -1) {
                sendTo('telegram', {
                    user: benutzer,
                    text: 'Wohnzimmer ' + getState("hm-rpc.0.OEQ0295648.1.TEMPERATURE").val + '°C!' +
                      'Büro ' + getState("hm-rpc.0.OEQ0295648.1.TEMPERATURE").val + '°C!',
                          });
            } 
        
        

        hab überhaupt keine Ahnung vom Scripten also entschuldigt meine Unwissenheit.

        Danke für Eure Hilfe.

        P.S. Ansonsten klappt Buzzy's Script bei mir wunderbar, nur möchte ich diese Funktion noch haben damit ich auf mal alle Temp. sehe.

        1 Antwort Letzte Antwort
        0
        • BuZZyB Offline
          BuZZyB Offline
          BuZZy
          schrieb am zuletzt editiert von
          #12

          @anubiss1337:

          Wie bekomme ich so etwas hin?

          hab überhaupt keine Ahnung vom Scripten also entschuldigt meine Unwissenheit. `
          Kein Problem - brauchst dich nicht zu entschuldigen. :)

          Zur Frage:

          \n = Zeilenumbruch

          Also um ein Zeilenumbruch zwischen "°C!" und "Büro" einzufügen musst du es so machen:

          if (befehl.search(/(?=.*(\bTEMP\b|\bTEMPERATUR\b|\bWARM\b|\bKALT\b))(?=.*(\bALL\b|\bÜBERALL\b|\bALLE\b)).+/ig) != -1) {
                  sendTo('telegram', {
                      user: benutzer,
                      text: 'Wohnzimmer ' + getState("hm-rpc.0.OEQ0295648.1.TEMPERATURE").val + '°C!\nBüro ' + getState("hm-rpc.0.OEQ0295648.1.TEMPERATURE").val + '°C!',
                            });
              } 
          
          

          P.s.: In der Abfrage (?=.*(\bALL\b|\bÜBERALL\b|\bALLE\b)).+/ig) hast du bei "ALL" das \b vorne (bestimmt aus versehen) gelöscht. Hab es mal wieder eingefügt für dich.. ;)

          Gruß

          1 Antwort Letzte Antwort
          0
          • dslraserD Offline
            dslraserD Offline
            dslraser
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #13

            Ich habe das mal für mich umgebaut. Ob es korrekt ist (bin Anfänger) weiß ich nicht, aber es funktioniert.

            Die Abfrage in Telegram habe ich auf ein Wort gekürzt. Geht mit dem Wort Temperatur oder warm oder kalt.

            Vielleicht braucht/will das Jemand so nutzen

            on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
                var stateval = getState('telegram.0.communicate.request').val;              // Statevalue in Variable schreiben
                var benutzer = stateval.substring(1,stateval.indexOf("]"));                 // Benutzer aus Statevalue extrahieren
                var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length);   // Befehl/Text aus Statevalue extrahieren
            
                 if (befehl.search(/(?=.*(\bTEMPERATUR\b|\bWARM\b|\bKALT\b)).+/ig) != -1) {
                    sendTo('telegram', {
                        user: benutzer,
                        text: 'Für welchen Raum möchtest du die Temperatur abfragen?',
                        reply_markup: {
                            inline_keyboard: [
                                [{ text: 'alle Räume', callback_data: '%Tempalle'}],
                                [{ text: 'Flur', callback_data: '%TempFlur'}],
                                [{ text: 'Wohnzimmer', callback_data: '%TempWohnzimmer'}],
                                [{ text: 'Badezimmer', callback_data: '%TempBadezimmer'}], 
                                [{ text: 'Gästezimmer', callback_data: '%TempGaestezimmer'}],
                                [{ text: 'Schlafzimmer', callback_data: '%TempSchlafzimmer'}],
                            ]
                         }
                    });
                }    
            
            // Auswahl alle Räume oder einzeln.
                else if (befehl === "%Tempalle") {
                        sendTo('telegram', {
                        user: benutzer,
                        text: "Temperatur alle Räume angefragt",
                        answerCallbackQuery: {
                        text: 'Flur ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C\nWonzimmer ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C\nBadezimmer ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C\nGästezimmer ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C\nSchlafzimmer ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                        showAlert: true
                        }
                    });
                } 
                else if (befehl === "%TempFlur") {
                        sendTo('telegram', {
                        user: benutzer,
                        text: "Flurtemperatur angefragt",
                        answerCallbackQuery: {
                        text: 'Die Temperatur im im Flur beträgt ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                        showAlert: true
                        }
                    });
                } 
                else if (befehl === "%TempSchlafzimmer") {
                        sendTo('telegram', {
                        user: benutzer,
                        text: "Schlafzimmertemperatur angefragt",
                        answerCallbackQuery: {
                        text: 'Die Temperatur im Schlafzimmer beträgt ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                        showAlert: true
                        }
                    });
                }
                else if (befehl === "%TempGaestezimmer") {
                        sendTo('telegram', {
                        user: benutzer,
                        text: "Gästezimmertemperatur angefragt",
                        answerCallbackQuery: {
                        text: 'Die Temperatur im Gästezimmer beträgt ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                        showAlert: true
                        }
                    });
                }
                else if (befehl === "%TempWohnzimmer") {
                        sendTo('telegram', {
                        user: benutzer,
                        text: "Wohnzimmertemperatur angefragt",
                        answerCallbackQuery: {
                        text: 'Die Temperatur im Wohnzimmer beträgt ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                        showAlert: true
                        }
                    });
                }
                else if (befehl === "%TempBadezimmer") {
                        sendTo('telegram', {
                        user: benutzer,
                        text: "Badezimmertemperatur angefragt",
                        answerCallbackQuery: {
                        text: 'Die Temperatur im Badezimmer beträgt ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                        showAlert: true
                        }
                    });
                }
            });
            

            3822_temp.jpg
            3822_tempalle.jpg
            3822_raum.jpg

            1 Antwort Letzte Antwort
            0
            • UhulaU Offline
              UhulaU Offline
              Uhula
              schrieb am zuletzt editiert von
              #14

              Da die Möglichkeiten von text2command nicht ausreichen um eine Konversation stattfinden zu lassen, kommt man um die Realisierung mit einem Script nicht herum. Ich bin gerade dabei eine ioBroker-AI/KI zu schreiben, mit der man, ähnlich dem Google-Assistenten, kommunizieren kann. Soll heißen, die sich Kontexte merkt und auch Nachfragen zu Befehlen stellt.

              Bsp:

              Sofalicht

              < Was soll mit dem Sofalicht gemacht werden? Einschalten, ausschalten, ist es eingeschaltet, ist es ausgeschaltet

              Einschalten

              < Das Sofalicht wurde eingeschaltet

              Das Licht im Flur dimmen

              < Gerne, auf welchen Wert im Bereich 0 bis 100?

              Auf 40

              < Das Licht im Flur wurde auf 40 gedimmt

              usw.

              Der AI ist es dabei egal, ob die Anfragen/Antworten via Spracherkennung/Sprachausgabe oder Telegram-Chat erfolgen, sie untersucht lediglich die eingehenden Textphrasen und interpretiert sie. Damit es nicht zu langweilig wird, sind natürlich Antwortvarianten implementiert.

              Bsp:

              Schalte bitte das Sofalicht ein

              < Das Sofalicht wurde eingeschaltet.

              oder < Jo, habs eingeschaltet

              oder < Sofalicht ist an

              oder < ….

              Die Steuerung erfolgt über RegEx-Keyworte und weiteren Angaben, die je ioBroker-State individuell vergeben werden können. Ich nutze absichtlich nicht die vorhandenen Aufzählungen um flexibel zu bleiben. Nichts ist eintöniger als immer die gleiche Antwort zu erhalten. Natürlich gibt es auch Konversations-Objekte ohne ioBroker-States dahinter - um das Gefühl zu haben, ioBroker könne wirklich kommunizieren.

              Bsp:

              Hallo

              < Hallo, was kann ich für dich tun?

              Wie heißt du?

              < Man nennt mich Haus!

              Wie spät ist es?

              < Es ist 20 Uhr 13

              Schalte das Licht aus?

              < Gerne, aber wo? Wohnzimmer, Flur, Küche, überall

              Überall

              < Nun ist es dunkel.

              Medienabghängig sind auch erweiterte Antworten möglich. So wird beim Telegram-Chat z.B. auch die Möglichkeit der Inline- und/oder Static-Buttons als Antwort möglich sein.

              Wie weit ich bin? Erst am Anfang ;-)

              Aber, WENN es mal sinnvoll anwendbar ist, erfahrt ihr es zuerst ...

              Uhula - Leise und Weise
              Ex: ioBroker on Gigabyte NUC Proxmox

              BBTownB 1 Antwort Letzte Antwort
              0
              • DutchmanD Offline
                DutchmanD Offline
                Dutchman
                Developer Most Active Administrators
                schrieb am zuletzt editiert von
                #15

                @Uhula:

                Wie weit ich bin? Erst am Anfang [emoji6]

                Aber, WENN es mal sinnvoll anwendbar ist, erfahrt ihr es zuerst … `

                Da bin ich aber sehr gespannt das klinkt ja super was du da vor hast !

                –-----------------------

                Send from mobile device

                1 Antwort Letzte Antwort
                0
                • rantanplanR Online
                  rantanplanR Online
                  rantanplan
                  schrieb am zuletzt editiert von
                  #16

                  @Uhula:

                  Da die Möglichkeiten von text2command nicht ausreichen um eine Konversation stattfinden zu lassen, kommt man um die Realisierung mit einem Script nicht herum. Ich bin gerade dabei eine ioBroker-AI/KI zu schreiben, mit der man, ähnlich dem Google-Assistenten, kommunizieren kann. Soll heißen, die sich Kontexte merkt und auch Nachfragen zu Befehlen stellt. `
                  Und alles OHNE Cloud :!: :!:

                  Ich muss mal in meinen alten Unterlagen schauen. Da gab es mal etwas (vor ca. 30 Jahren :shock: ).

                  Grüße

                  Rantanplan

                  CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                  1 Antwort Letzte Antwort
                  0
                  • T Offline
                    T Offline
                    tempestas
                    schrieb am zuletzt editiert von
                    #17

                    klingt sehr spannend.

                    Bzgl. rantanplans > Und alles OHNE Cloud :!: :!:
                    wäre meine Frage, ob das so stimmt? Ich dachte, eine (Amazon-)Cloud bzw die dahinter stehende Rechenpower sei zwingend notwendig, um Sprache in Befehle zu wandeln?

                    <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                    1 Antwort Letzte Antwort
                    0
                    • rantanplanR Online
                      rantanplanR Online
                      rantanplan
                      schrieb am zuletzt editiert von
                      #18

                      @tempestas:

                      wäre meine Frage, ob das so stimmt? Ich dachte, eine (Amazon-)Cloud bzw die dahinter stehende Rechenpower sei zwingend notwendig, um Sprache in Befehle zu wandeln? `
                      Hier geht es, glaub ich, nicht um eine Sprachsteuerung.

                      Ehr eine text basierte "Unterhaltung" wie z.B. mit Telegram.

                      Grüße

                      Rantanplan

                      CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                      1 Antwort Letzte Antwort
                      0
                      • dslraserD Offline
                        dslraserD Offline
                        dslraser
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #19

                        Hallo,

                        eine Frage an die Profis. Ich möchte das gleiche Script

                        ! on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
                        ! var stateval = getState('telegram.0.communicate.request').val; // Statevalue in Variable schreiben
                        ! var benutzer = stateval.substring(1,stateval.indexOf("]")); // Benutzer aus Statevalue extrahieren
                        ! var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length); // Befehl/Text aus Statevalue extrahieren
                        ! if (befehl.search(/(?=.*(\bTEMPERATUR\b|\bWARM\b|\bKALT\b)).+/ig) != -1) {
                        ! sendTo('telegram', {
                        ! user: benutzer,
                        ! text: 'Für welchen Raum möchtest du die Temperatur abfragen?',
                        ! reply_markup: {
                        ! inline_keyboard: [
                        ! [{ text: 'alle Räume', callback_data: '%Tempalle'}],
                        ! [{ text: 'Flur', callback_data: '%TempFlur'}],
                        ! [{ text: 'Wohnzimmer', callback_data: '%TempWohnzimmer'}],
                        ! [{ text: 'Badezimmer', callback_data: '%TempBadezimmer'}],
                        ! [{ text: 'Gästezimmer', callback_data: '%TempGaestezimmer'}],
                        ! [{ text: 'Schlafzimmer', callback_data: '%TempSchlafzimmer'}],
                        ! ]
                        ! }
                        ! });
                        ! }
                        ! // Auswahl alle Räume oder einzeln.
                        ! else if (befehl === "%Tempalle") {
                        ! sendTo('telegram', {
                        ! user: benutzer,
                        ! text: "Temperatur alle Räume angefragt",
                        ! answerCallbackQuery: {
                        ! text: 'Flur ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C\nWonzimmer ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C\nBadezimmer ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C\nGästezimmer ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C\nSchlafzimmer ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                        ! showAlert: true
                        ! }
                        ! });
                        ! }
                        ! else if (befehl === "%TempFlur") {
                        ! sendTo('telegram', {
                        ! user: benutzer,
                        ! text: "Flurtemperatur angefragt",
                        ! answerCallbackQuery: {
                        ! text: 'Die Temperatur im im Flur beträgt ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                        ! showAlert: true
                        ! }
                        ! });
                        ! }
                        ! else if (befehl === "%TempSchlafzimmer") {
                        ! sendTo('telegram', {
                        ! user: benutzer,
                        ! text: "Schlafzimmertemperatur angefragt",
                        ! answerCallbackQuery: {
                        ! text: 'Die Temperatur im Schlafzimmer beträgt ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                        ! showAlert: true
                        ! }
                        ! });
                        ! }
                        ! else if (befehl === "%TempGaestezimmer") {
                        ! sendTo('telegram', {
                        ! user: benutzer,
                        ! text: "Gästezimmertemperatur angefragt",
                        ! answerCallbackQuery: {
                        ! text: 'Die Temperatur im Gästezimmer beträgt ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                        ! showAlert: true
                        ! }
                        ! });
                        ! }
                        ! else if (befehl === "%TempWohnzimmer") {
                        ! sendTo('telegram', {
                        ! user: benutzer,
                        ! text: "Wohnzimmertemperatur angefragt",
                        ! answerCallbackQuery: {
                        ! text: 'Die Temperatur im Wohnzimmer beträgt ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                        ! showAlert: true
                        ! }
                        ! });
                        ! }
                        ! else if (befehl === "%TempBadezimmer") {
                        ! sendTo('telegram', {
                        ! user: benutzer,
                        ! text: "Badezimmertemperatur angefragt",
                        ! answerCallbackQuery: {
                        ! text: 'Die Temperatur im Badezimmer beträgt ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                        ! showAlert: true
                        ! }
                        ! });
                        ! }
                        ! }); nutzen um mir den Status der Batterien meiner Geräte anzeigen zu lassen. Der Status wird mit 0/1 - (voll/leer) angezeigt. Was muß ich ändern das mir bei 0 = voll und bei 1 = leer auch die Worte/Text und nicht 0/1 angezeigt wird ?

                        Den Volt Zustand bzw die tatsächlich Volt Anzeige wäre ja genauso wie bei Temperatur, halt nur die Begriffe austauschen.

                        1 Antwort Letzte Antwort
                        0
                        • rantanplanR Online
                          rantanplanR Online
                          rantanplan
                          schrieb am zuletzt editiert von
                          #20

                          Hallo dslraser

                          Das würde besser in die Rubrik "scripten" passen.

                          Grüße

                          Rantanplan

                          CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                          1 Antwort Letzte Antwort
                          0
                          • dslraserD Offline
                            dslraserD Offline
                            dslraser
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #21

                            @rantanplan:

                            Hallo dslraser

                            Das würde besser in die Rubrik "scripten" passen.

                            Grüße `
                            soll ich die Frage dort nochmal stellen ? (Ich wollte nix doppelt fragen)

                            Aber hast Recht, da passt es besser hin, dann stelle ich es da auch noch rein.

                            LG

                            1 Antwort Letzte Antwort
                            0
                            • UhulaU Offline
                              UhulaU Offline
                              Uhula
                              schrieb am zuletzt editiert von
                              #22

                              @tempestas:

                              Ich dachte, eine (Amazon-)Cloud bzw die dahinter stehende Rechenpower sei zwingend notwendig, um Sprache in Befehle zu wandeln? `
                              Das schon. Aber es macht für mich einen deutlichen Unterschied ob ich die Cloud lediglich dazu nutze um aus einer Sound Datei einen Text zu machen, oder ob ich in der Cloud "erlaube" meine Geräte zu steuern (also diese dort bekannt zu machen). Letzeres gefällt mir gar nicht. Noch besser wäre ein offline-Sprach2Text - gibt es bestimmt bald als Hardware-Plug für den Pi ;-)

                              Meiner ioBroker-AI wird es egal sein, es reagiert mit Textantworten auf Textfragen/-befehle, egal aus welcher Quelle diese auch kommen. Selbst die Spracherkennung der ioBroker-App sollte dann funktionieren.

                              • Sprache > Sprache2Text > AI > Text2Sprache > Sprache

                              • Telegram-Chat > AI > Telegram-Chat

                              • vis-Textinput > AI > vis-Textoutput

                              Sorry für off topic - ich halte mich hier nun raus.

                              Uhula - Leise und Weise
                              Ex: ioBroker on Gigabyte NUC Proxmox

                              1 Antwort Letzte Antwort
                              0
                              • T Offline
                                T Offline
                                tempestas
                                schrieb am zuletzt editiert von
                                #23

                                wieso raushalten? ist doch genau richtig hier. Klingt alles sehr spannend (und meilenweit über meinem Können :)

                                Wäre schön, Alexa wieder einzumotten.

                                <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                                1 Antwort Letzte Antwort
                                0
                                • HomoranH Nicht stören
                                  HomoranH Nicht stören
                                  Homoran
                                  Global Moderator Administrators
                                  schrieb am zuletzt editiert von
                                  #24

                                  Ich erinnere mich noch an mein erstes Handy mit Sprachsteuerung. Ich glaube da wurde ein Sample mit dem anzurufenden Namen abgelegt und anschließend als Vergleich genutzt.

                                  Ein paar Schlüsselworte müsste man doch so auch abspeichern können.

                                  Und was tts angeht, kann das auch jedes kleine Navi im offline modus.

                                  Gruß

                                  Rainer

                                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  1 Antwort Letzte Antwort
                                  0
                                  • rantanplanR Online
                                    rantanplanR Online
                                    rantanplan
                                    schrieb am zuletzt editiert von
                                    #25

                                    @Uhula:

                                    Sorry für off topic - ich halte mich hier nun raus. `

                                    Wie Homoran schon sagte, passt doch hier rein.

                                    Und wenn Du dieses Projekt genau so professionell angehst wie Dein "Material Design" kann man wirklich gespannt sein.

                                    Grüße

                                    Rantanplan

                                    CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                    1 Antwort Letzte Antwort
                                    0
                                    • AlCalzoneA Offline
                                      AlCalzoneA Offline
                                      AlCalzone
                                      Developer
                                      schrieb am zuletzt editiert von
                                      #26

                                      @Uhula:

                                      Meiner ioBroker-AI wird es egal sein, es reagiert mit Textantworten auf Textfragen/-befehle, egal aus welcher Quelle diese auch kommen. Selbst die Spracherkennung der ioBroker-App sollte dann funktionieren. `
                                      Ööööhhh, bitte halte uns hier unbedingt auf dem Laufenden! Klingt hoch interessant!

                                      Das würde sich übrigens ziemlich genial als Adapter machen.

                                      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                      1 Antwort Letzte Antwort
                                      0
                                      • HomoranH Nicht stören
                                        HomoranH Nicht stören
                                        Homoran
                                        Global Moderator Administrators
                                        schrieb am zuletzt editiert von
                                        #27

                                        Schon gelesen?

                                        https://www.heise.de/newsticker/meldung … 04454.html

                                        Gruß

                                        Rainer

                                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                        1 Antwort Letzte Antwort
                                        0
                                        • lobomauL Offline
                                          lobomauL Offline
                                          lobomau
                                          schrieb am zuletzt editiert von
                                          #28

                                          Das Script gefällt mir, habe ich eingebaut. Funktioniert korrekt, gibt bei mir aber einen error, der aber nicht die Funktion beeinträchtigt!? Vielleicht muss ich den user manuell eintragen?

                                          telegram.1	2017-11-29 23:00:05.879	error	Cannot send answerCallbackQuery [user - undefined]: Error: ETELEGRAM: 400 Bad Request: QUERY_ID_INVALID
                                          

                                          @dslraser:

                                          Ich habe das mal für mich umgebaut. Ob es korrekt ist (bin Anfänger) weiß ich nicht, aber es funktioniert.

                                          Die Abfrage in Telegram habe ich auf ein Wort gekürzt. Geht mit dem Wort Temperatur oder warm oder kalt.

                                          Vielleicht braucht/will das Jemand so nutzen

                                          on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
                                              var stateval = getState('telegram.0.communicate.request').val;              // Statevalue in Variable schreiben
                                              var benutzer = stateval.substring(1,stateval.indexOf("]"));                 // Benutzer aus Statevalue extrahieren
                                              var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length);   // Befehl/Text aus Statevalue extrahieren
                                          
                                               if (befehl.search(/(?=.*(\bTEMPERATUR\b|\bWARM\b|\bKALT\b)).+/ig) != -1) {
                                                  sendTo('telegram', {
                                                      user: benutzer,
                                                      text: 'Für welchen Raum möchtest du die Temperatur abfragen?',
                                                      reply_markup: {
                                                          inline_keyboard: [
                                                              [{ text: 'alle Räume', callback_data: '%Tempalle'}],
                                                              [{ text: 'Flur', callback_data: '%TempFlur'}],
                                                              [{ text: 'Wohnzimmer', callback_data: '%TempWohnzimmer'}],
                                                              [{ text: 'Badezimmer', callback_data: '%TempBadezimmer'}], 
                                                              [{ text: 'Gästezimmer', callback_data: '%TempGaestezimmer'}],
                                                              [{ text: 'Schlafzimmer', callback_data: '%TempSchlafzimmer'}],
                                                          ]
                                                       }
                                                  });
                                              }    
                                              
                                          // Auswahl alle Räume oder einzeln.
                                              else if (befehl === "%Tempalle") {
                                                      sendTo('telegram', {
                                                      user: benutzer,
                                                      text: "Temperatur alle Räume angefragt",
                                                      answerCallbackQuery: {
                                                      text: 'Flur ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C\nWonzimmer ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C\nBadezimmer ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C\nGästezimmer ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C\nSchlafzimmer ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                                                      showAlert: true
                                                      }
                                                  });
                                              } 
                                              else if (befehl === "%TempFlur") {
                                                      sendTo('telegram', {
                                                      user: benutzer,
                                                      text: "Flurtemperatur angefragt",
                                                      answerCallbackQuery: {
                                                      text: 'Die Temperatur im im Flur beträgt ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                                                      showAlert: true
                                                      }
                                                  });
                                              } 
                                              else if (befehl === "%TempSchlafzimmer") {
                                                      sendTo('telegram', {
                                                      user: benutzer,
                                                      text: "Schlafzimmertemperatur angefragt",
                                                      answerCallbackQuery: {
                                                      text: 'Die Temperatur im Schlafzimmer beträgt ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                                                      showAlert: true
                                                      }
                                                  });
                                              }
                                              else if (befehl === "%TempGaestezimmer") {
                                                      sendTo('telegram', {
                                                      user: benutzer,
                                                      text: "Gästezimmertemperatur angefragt",
                                                      answerCallbackQuery: {
                                                      text: 'Die Temperatur im Gästezimmer beträgt ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                                                      showAlert: true
                                                      }
                                                  });
                                              }
                                              else if (befehl === "%TempWohnzimmer") {
                                                      sendTo('telegram', {
                                                      user: benutzer,
                                                      text: "Wohnzimmertemperatur angefragt",
                                                      answerCallbackQuery: {
                                                      text: 'Die Temperatur im Wohnzimmer beträgt ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                                                      showAlert: true
                                                      }
                                                  });
                                              }
                                              else if (befehl === "%TempBadezimmer") {
                                                      sendTo('telegram', {
                                                      user: benutzer,
                                                      text: "Badezimmertemperatur angefragt",
                                                      answerCallbackQuery: {
                                                      text: 'Die Temperatur im Badezimmer beträgt ' + getState("hm-rpc.0..1.ACTUAL_TEMPERATURE").val + '°C',
                                                      showAlert: true
                                                      }
                                                  });
                                              }
                                          });
                                          ```` ` 

                                          Host: NUC8i3 mit Proxmox:

                                          • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                                          • Slave: Pi4
                                          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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          801

                                          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