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

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Pushover + Command = Telegram

NEWS

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

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

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

Pushover + Command = Telegram

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
137 Beiträge 23 Kommentatoren 33.2k Aufrufe
  • Ä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.
  • coyoteC Offline
    coyoteC Offline
    coyote
    Most Active
    schrieb am zuletzt editiert von
    #21

    Hallo Bluefox, so richtig funktioniert es leider immer noch nicht.

    Sende ich eine Nachricht mit "Zeit" bekomme ich die Uhrzeit zurück und nochmal "Zeit"

    Sende ich eine Nachricht mit "Wie spät" bekomme ich auch die Uhrzeit und "Wie spät"

    Hier das log dazu:

    TypeError:	2016-02-22 06:08:46	error	at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:323:16)
    TypeError:	2016-02-22 06:08:46	error	at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/index.js:247:12)
    TypeError:	2016-02-22 06:08:46	error	at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20)
    TypeError:	2016-02-22 06:08:46	error	at Decoder. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
    TypeError:	2016-02-22 06:08:46	error	at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:333:8)
    TypeError:	2016-02-22 06:08:46	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
    TypeError:	2016-02-22 06:08:46	error	at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
    TypeError:	2016-02-22 06:08:46	error	at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12)
    TypeError:	2016-02-22 06:08:46	error	at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10)
    TypeError:	2016-02-22 06:08:46	error	at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
    TypeError:	2016-02-22 06:08:46	error	at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
    TypeError:	2016-02-22 06:08:46	error	at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1951:34)
    TypeError:	2016-02-22 06:08:46	error	at Adapter.emit (events.js:107:17)
    TypeError:	2016-02-22 06:08:46	error	at Adapter. (/opt/iobroker/node_modules/iobroker.telegram/main.js:24:14)
    TypeError:	2016-02-22 06:08:46	error	at processMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:90:29)
    TypeError:	2016-02-22 06:08:46	error	at sendMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:60:18)
    TypeError:	2016-02-22 06:08:46	error	undefined is not a function
    message	2016-02-22 06:08:46	error	messagebox.system.adapter.telegram.0 [object Object] undefined is not a function
    text2command-0	2016-02-22 06:08:46	info	sendTo "send" to system.adapter.telegram.0 from system.adapter.text2command.0: {"text":1,"response":"Ich habe gehoert nur \"1\""}
    text2command-0	2016-02-22 06:08:46	info	processText: "1"
    telegram-0	2016-02-22 06:08:46	info	sendTo "send" to system.adapter.text2command.0 from system.adapter.telegram.0: 1
    text2command-0	2016-02-22 06:08:46	info	sendTo "send" to system.adapter.telegram.0 from system.adapter.text2command.0: {"text":"Zeit","id":182393659,"user":"Frank","response":"06:08"}
    text2command-0	2016-02-22 06:08:46	info	sendTo "send" to system.adapter.telegram.0 from system.adapter.text2command.0: {"text":"Zeit","id":182393659,"user":"Frank","response":"06:08"}
    text2command-0	2016-02-22 06:08:46	info	processText: "Zeit"
    telegram-0	2016-02-22 06:08:46	info	sendTo "send" to system.adapter.text2command.0 from system.adapter.telegram.0: {"text":"Zeit","id":182393659,"user":"Frank"}
    TypeError:	2016-02-22 06:08:24	error	at Manager.ondata (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:323:16)
    TypeError:	2016-02-22 06:08:24	error	at Decoder.add (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/index.js:247:12)
    TypeError:	2016-02-22 06:08:24	error	at Decoder.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/component-emitter/index.js:134:20)
    TypeError:	2016-02-22 06:08:24	error	at Decoder. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
    TypeError:	2016-02-22 06:08:24	error	at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:333:8)
    TypeError:	2016-02-22 06:08:24	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
    TypeError:	2016-02-22 06:08:24	error	at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
    TypeError:	2016-02-22 06:08:24	error	at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12)
    TypeError:	2016-02-22 06:08:24	error	at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10)
    TypeError:	2016-02-22 06:08:24	error	at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
    TypeError:	2016-02-22 06:08:24	error	at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
    TypeError:	2016-02-22 06:08:24	error	at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1951:34)
    TypeError:	2016-02-22 06:08:24	error	at Adapter.emit (events.js:107:17)
    TypeError:	2016-02-22 06:08:24	error	at Adapter. (/opt/iobroker/node_modules/iobroker.telegram/main.js:24:14)
    TypeError:	2016-02-22 06:08:24	error	at processMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:90:29)
    TypeError:	2016-02-22 06:08:24	error	at sendMessage (/opt/iobroker/node_modules/iobroker.telegram/main.js:60:18)
    TypeError:	2016-02-22 06:08:24	error	undefined is not a function
    message	2016-02-22 06:08:24	error	messagebox.system.adapter.telegram.0 [object Object] undefined is not a function
    text2command-0	2016-02-22 06:08:24	info	sendTo "send" to system.adapter.telegram.0 from system.adapter.text2command.0: {"text":1,"response":"Ich habe gehoert nur \"1\""}
    text2command-0	2016-02-22 06:08:24	info	processText: "1"
    telegram-0	2016-02-22 06:08:24	info	sendTo "send" to system.adapter.text2command.0 from system.adapter.telegram.0: 1
    text2command-0	2016-02-22 06:08:23	info	sendTo "send" to system.adapter.telegram.0 from system.adapter.text2command.0: {"text":"Wie spät","id":182393659,"user":"Frank","response":"06:08"}
    text2command-0	2016-02-22 06:08:23	info	sendTo "send" to system.adapter.telegram.0 from system.adapter.text2command.0: {"text":"Wie spät","id":182393659,"user":"Frank","response":"06:08"}
    text2command-0	2016-02-22 06:08:23	info	processText: "Wie spät"
    telegram-0	2016-02-22 06:08:23	info	sendTo "send" to system.adapter.text2command.0 from system.adapter.telegram.0: {"text":"Wie spät","id":182393659,"user":"Frank"}
    

    9054_netatmo2.png

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      stephan61
      schrieb am zuletzt editiert von
      #22

      kann ich damit auch scenen schalten?

      eÉinzeln Aktoren funktionieren und schalte " Licht im Wohnzimmer ein" geht auch. :D

      Gruss Stephan

      1 Antwort Letzte Antwort
      0
      • OstfrieseUnterwegsO Offline
        OstfrieseUnterwegsO Offline
        OstfrieseUnterwegs
        schrieb am zuletzt editiert von
        #23

        @stephan61:

        kann ich damit auch scenen schalten?

        eÉinzeln Aktoren funktionieren und schalte " Licht im Wohnzimmer ein" geht auch. :D

        Gruss Stephan `

        Bei mir geht das so:
        944_55.png

        Meinst Du das?

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          stephan61
          schrieb am zuletzt editiert von
          #24

          Das war die Lösung

          Danke Stephan

          1 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            Solear
            schrieb am zuletzt editiert von
            #25

            Ich liebe den Telegram Adapter!

            In Verbindung mit dem text2command kann ich wunderbar alles mögliche von unterwegs steuern und abfragen.

            So wie ich das verstehe, kann man Telegram auf iobroker nicht direkt anschreiben, sondern es läuft über text2command.

            Kann man sich vielleicht eine Liste der Schlüsselwörter von dort zusenden lassen über "help" zum Beispiel? Ich verliere langsam die Übersicht welche Schlüsselwörter ich eingesetzt habe ("Kellerfeuchte", "Kellertemperatur", "Bad Licht an", "Webcam Foto") :oops:

            iobroker als LXC unter Proxmox

            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              mayer
              schrieb am zuletzt editiert von
              #26

              > So wie ich das verstehe, kann man Telegram auf iobroker nicht direkt anschreiben, sondern es läuft über text2command.

              Funktioniert auch direkt. Ich habe einen eigenen kleinen 'Bot' für Telegram als Script laufen, welcher auf bestimmte Befehle wartet und dann die entsprechenden Aktionen ausführt.

              z.B. Alarmmeldung für eine offene Haustür abschalten:

              on("telegram.0.communicate.request", function (obj) {
              	if  (obj.newState.val == "[xxx]Tuer" || obj.newState.val == "[xxx]/tuer") {      
                      	sendTo('telegram.0', "Befehl empfangen! Tueralarm wurde abgeschaltet.");  
                  	setState("hm-rega.0.16504"/*Tuernochoffen*/,false);  
                  	setState("telegram.0.communicate.request","leer");
                 }
              });
              
              

              Der Telegram Adapter ist sehr zuverlässig und reagiert sofort auf eingehende Befehle. Es lassen sich auch über BotFather Kommandos vordefinieren und dann direkt in Telegram auswählen und senden. Super Sache.

              Gruss

              1 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                Solear
                schrieb am zuletzt editiert von
                #27

                Danke für das Beispiel! Ja, den sendto telegram Befehl kenne und nutze ich.

                Ich meinte, ob man aus der telegram App iobroker anschreiben kann. Wo ich mit einer On Funktion drauf lauschen kann.

                Momentan mache ich das über den Umweg text2command, indem ich dort etwas in eine Variable schreibe die ich in einem Script als Auslöser abfrage.

                Gesendet von iPhone mit Tapatalk

                iobroker als LXC unter Proxmox

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  mayer
                  schrieb am zuletzt editiert von
                  #28

                  Steht doch im Code:

                  on("telegram.0.communicate.request", function (obj)
                  
                  1 Antwort Letzte Antwort
                  0
                  • ruhr70R Offline
                    ruhr70R Offline
                    ruhr70
                    schrieb am zuletzt editiert von
                    #29

                    @mayer:

                    Der Telegram Adapter ist sehr zuverlässig und reagiert sofort auf eingehende Befehle. Es lassen sich auch über BotFather Kommandos vordefinieren und dann direkt in Telegram auswählen und senden. Super Sache. `

                    Danke für das Beispiel!

                    Hast Du für den letzten Teil ein konkretes Beispiel und den Syntax dazu (vordefinierte Kommandos über BotFather)?

                    Adapter: Fritzbox, Unify Circuit
                    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                    1 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      mayer
                      schrieb am zuletzt editiert von
                      #30

                      > Hast Du für den letzten Teil ein konkretes Beispiel und den Syntax dazu (vordefinierte Kommandos über BotFather)?

                      • BotFather starten

                      • /setcommands eingeben

                      • ioBroker Bot auswählen

                      • Liste mit Kommandos eingeben

                      z.B.

                      tuer - Türalarm abschalten

                      fenster - Fensteralarm abschalten

                      aussenfotos - Kamerabilder anfordern

                      • die ganze Liste senden

                      • fertig

                      Die Liste vordefinierten Kommandos kann im Telegram Chat dann aufgeklappt werden über die '/' Taste (neben dem Smily) und das Kommando kann direkt zum Senden ausgewählt werden.

                      In "telegram.0.communicate.request" steht dann folgendes '[xxx]/tuer". Wobei 'XXX' für den Chatnamen steht, welcher mitgesendet wird.

                      Per Script frage ich dann ab:

                      z.B.:

                      if  (obj.newState.val == "[xxx]Tuer" || obj.newState.val == "[xxx]/tuer") {
                      

                      Es ist auch möglich ein eigenes Keybord zu definieren, welches dann Im Chatfenster angezeigt wird. Damit lassen sich die Kommandos direkt auf Tasten legen. Dazu muss aber ein Webserver laufen. Vielleicht integriert ja Bluefox einmal sowas direkt in den Adapter.

                      Gruss

                      1 Antwort Letzte Antwort
                      0
                      • ruhr70R Offline
                        ruhr70R Offline
                        ruhr70
                        schrieb am zuletzt editiert von
                        #31

                        Danke!

                        Habe etwas für den zweiten Punkt gebraucht ;-)

                        @Name_des_Bots nach dem /setcommands

                        Klasse Tipp!

                        Adapter: Fritzbox, Unify Circuit
                        Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                        1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          Solear
                          schrieb am zuletzt editiert von
                          #32

                          @mayer:

                          • BotFather starten

                          • /setcommands eingeben

                          • ioBroker Bot auswählen

                          • Liste mit Kommandos eingeben

                          z.B.

                          tuer - Türalarm abschalten

                          fenster - Fensteralarm abschalten

                          aussenfotos - Kamerabilder anfordern

                          • die ganze Liste senden

                          • fertig

                          Die Liste vordefinierten Kommandos kann im Telegram Chat dann aufgeklappt werden über die '/' Taste (neben dem Smily) und das Kommando kann direkt zum Senden ausgewählt werden. `

                          Genial! Klappt super!

                          Meine Ubuntu Telegram App zeigt mit Klick auf / die Befehlliste an.

                          Die App auf dem iPhone leider nicht, obwohl der / neben dem Smily da ist. Kommt bestimmt dem einem Update irgendwann.

                          edit: Doch es geht nun, es hat nur einen Tag gedauert. Vermutlich hätte ein Neustart des iPhones sofort alle Befehle angezeigt. Nun werden mit Klick auf / die Befehle angezeigt. genial!

                          text2command muss man dann auch in den Telegram Adaptereinstellunen deaktivieren, oder mit einer 2. Telegramm-Instanz verbinden.

                          Also ich muss noch einmal sagen: iobroker in Verbindung mit Telegram = genial! So stelle ich mir Hausautomatisation vor.

                          iobroker als LXC unter Proxmox

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            Solear
                            schrieb am zuletzt editiert von
                            #33

                            Es wird immer besser mit Telegram!

                            Man kann praktisch eigene Befehlsdialoge erstellen.

                            Wenn iobroker einen Text "/beispieltext" sendet, also mit einem / davor, dann wandelt Telegram das in einem ausführbaren Befehl um. Man kann dann mit dem Finger einfach rauftippen, um diesen Befehl auszuführen.

                            Natürlich muss auf iobroker ein Skript auf diesen Telegrambefehl dann lauschen.

                            Als Beispiel: Über den in Telegram hinterlegten Befehl /keller kommt eine Abfrage und Anzeige aller Kellermessdaten. Im selben Text erscheint auch die Frage, ob man die Kellerfenster (außerhalb der Automatik) öffnen möchte. Da kann man dann raufklicken oder es ignorieren.

                            Einfach genial!

                            1145_telegram.png
                            Hier die letzten beiden Zeilen: klicken und der geklickte Befehl wird als neuer Befehl gesendet. :D :D

                            So kann man ganze Dialoge führen bzw. situationsabhängige Befehle auswählen ohne diese jeweils einzeln irgendwo aufrufen zu müssen.

                            Die einzige Frage, die für mich noch offen ist:

                            Kann man irgendwie im zu sendenden Text für Telegram Absätze einfügen?

                            Mit dem Workaround

                            '                         Text'
                            

                            geht es zwar auch, dann findet ein Zeilenumbruch statt aber nur wenn die Leerzeichen länger sind als die Breite des Telegramfensters. Und im Code sieht es auch nicht schön aus. Hat da jemand einen Tipp? Man könnte auch mehrere Sprechblasen senden, aber schöner wäre eine Sprechblase mit Absätzen.

                            iobroker als LXC unter Proxmox

                            1 Antwort Letzte Antwort
                            0
                            • M Offline
                              M Offline
                              mayer
                              schrieb am zuletzt editiert von
                              #34

                              Zeilenumbruch geht mit````
                              \n

                              
                              Gruss
                              1 Antwort Letzte Antwort
                              0
                              • S Offline
                                S Offline
                                starfish
                                schrieb am zuletzt editiert von
                                #35

                                wie kann man mit text2command ccu-systemvariablen setzen?

                                edit:

                                hat sich erledigt, man muss nur das Variablennummer-objekt manuell eingeben (z.B. hm-rega.0.11732) - die Variablen erscheinen nicht in der Auswahlliste (bei mir zumindest).

                                Richtig cooler Adapter, das eröffnet zusammen mit Telegram ganz neue Möglichkeiten. Danke Bluefox.

                                1 Antwort Letzte Antwort
                                0
                                • S Offline
                                  S Offline
                                  Solear
                                  schrieb am zuletzt editiert von
                                  #36

                                  Ich war eine Woche im Ausland, und konnte wunderbar über Telegram mit iobroker "kommunizieren", Webcambild schicken lassen, Stromverbräuche und Gaszähler abfragen, Kellerfreuchte überwachen.

                                  Lief alles stabil durch.

                                  Also Danke noch einmal für diesen tollen Adapter! 8-) Endlich kann man auf die Hausdaten zugreifen, wenn man es selbst möchte. Früher ging das ja nur einseitig ala "Pushover sendet jeden Tag den Status". Das nutze ich nur noch bei Klingel oder Alarmmeldungen, um mich selbst etwas "freier" von den Meldungen zu machen.

                                  iobroker als LXC unter Proxmox

                                  1 Antwort Letzte Antwort
                                  0
                                  • S Offline
                                    S Offline
                                    simpixo
                                    schrieb am zuletzt editiert von
                                    #37

                                    Kannst du vielleicht die Scripte veröffentlichen!? Würde mich interessieren wie das gelöst wurde

                                    Danke schon mal dafür [emoji6][emoji1360]

                                    Gesendet von meinem iPhone mit Tapatalk

                                    1 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      Solear
                                      schrieb am zuletzt editiert von
                                      #38

                                      Ja, hatte ich weiter oben schon, aber hier noch einmal die überarbeiteten Beispiele:

                                      Ist jeweils ein Skript im Skriptordner "Telegram"

                                      Kellerdaten

                                      ! ````
                                      // #####################################################
                                      // Kellerdaten anzeigen
                                      ! on("telegram.0.communicate.request", function (obj) {
                                      if (obj.newState.val == "[Henrik]kellerdaten" || obj.newState.val == "[Henrik]/kellerdaten") {

                                         var kellerfrid = "hm-rpc.0.LEQ108xxxx.1.HUMIDITY"/*Temperatur Feuchtesensor Keller Mitte.HUMIDITY*/;  // Kellerfeuchte relativ
                                         var kellerfaid = "javascript.0.Keller.Feuchtegehalt"/*Keller.Feuchtegehalt*/;   // Kellerfeuchte absolut
                                         var aussenfrid = "javascript.0.Aussen.rel_Feuchte"/*Aussen.rel_Feuchte*/;
                                         var aussenfaid = "javascript.0.Aussen.Feuchtegehalt"/*Aussen.Feuchtegehalt*/;   // Außenfeuchte absolut
                                         var kellerfenstwaid = "hm-rpc.0.MEQ028xxxx3.1.STATE"/*Fenstersensor Keller Waschraum.STATE*/; // Kellerfenster Waschraum
                                         var kellerfenstsiid = "hm-rpc.0.MEQ028xxxx6.1.STATE"/*Fenstersensor Keller Sicherungsraum.STATE*/; // Kellerfenster Sicherungsraum
                                         var lueftenid = "javascript.0.Lueften.Lueften"/*Lueften.Lueften*/;
                                      

                                      ! var kellerfr = getState(kellerfrid).val;
                                      var kellerfa = getState(kellerfaid).val;
                                      var aussenfr = getState(aussenfrid).val;
                                      var aussenfa = getState(aussenfaid).val;
                                      var lueften = getState(lueftenid).val;
                                      var kellerfenstwa = getState(kellerfenstwaid).val;
                                      var kellerfenstsi = getState(kellerfenstsiid).val;

                                         sendTo('telegram', '#Kellerfeuchte ' + kellerfr + ' % / ' + kellerfa + ' g/kg' +
                                      
                                                           '\n' + '#Außenfeuchte ' + aussenfr + ' % / ' + aussenfa + ' g/kg' +        //   Zeilenumbruch: \n 
                                                           '\n' + '#Lüftenmöglich ' + lueften + 
                                                           '\n' + '#Fensteroffen ' + kellerfenstwa + ' / ' + kellerfenstsi +
                                                           '\n' + 
                                                           '\n' + 'Kellerfenster ' +
                                                           '\n' + '- schließen? /kellerfensterschliessen' +                           // Neuer BEfehl wird angezeigt! Skript Kellerfensterschließen erforderlich!
                                                           '\n' + '- öffnen? /kellerfensteroeffnen' +
                                                           '\n' + 
                                                           '\n' + 'Was noch?' +
                                                           '\n' + '/verbrauchsdaten' +
                                                           '\n' + '/torfoto'); 
                                         setState("telegram.0.communicate.request","leer");
                                      

                                      }
                                      });

                                      ! ````

                                      Verbrauchsdaten

                                      ! ````
                                      ! // #####################################################
                                      // Verbrauchsdaten
                                      ! on("telegram.0.communicate.request", function (obj) {
                                      if (obj.newState.val == "[Henrik]verbrauchsdaten" || obj.newState.val == "[Henrik]/verbrauchsdaten") {

                                         var stromhausid = "hm-rpc.0.MEQ03xxxx.1.POWER";
                                         var stromhaus = getState(stromhausid).val;
                                      
                                         var strommessid = "hm-rpc.0.MEQ02xxxx.2.POWER"/*Strommessstecker Waschmaschine:2.POWER*/;
                                         var strommess = getState(strommessid).val;
                                      
                                         var gashausid = "hm-rpc.0.MEQ038xxxx.1.GAS_POWER";
                                         var gashaus = getState(gashausid).val;
                                      
                                         sendTo('telegram', 'Stromverbrauch Haus: ' + stromhaus + ' Watt' +
                                                     '\n' + 'Strommessstecker: ' + strommess + ' Watt' +
                                                     '\n' +
                                                     '\n' + 'Gasverbrauch: ' + gashaus + ' m3' +
                                                     '\n' + 
                                                     '\n' + 'Was noch?' +
                                                     '\n' + '/torfoto' +
                                                     '\n' + '/kellerdaten');
                                      
                                         setState("telegram.0.communicate.request","leer");
                                      

                                      }
                                      });

                                      
                                       ****Webcamfoto****
                                      
                                      >! ````
                                      // ###################################################
                                      // Webcamfoto schicken
                                      >! on("telegram.0.communicate.request", function (obj) {
                                         if  (obj.newState.val == "[Henrik]torfoto" || obj.newState.val == "[Henrik]/torfoto") {      
                                             getfoto(); 
                                             setState("telegram.0.communicate.request","leer");
                                         }
                                      });
                                      >! function getfoto() {
                                              exec ("wget --user=xxxx --password=xxxxx -N -P /home/henrik/iobroker/cache http://192.168.1.xxx/dms?nowprofileid=1.jpg");
                                              sendphoto();                                    // Rufe Funktion sendphoto auf
                                      
                                              sendTo('telegram', 'Was noch?' +
                                                         '\n' + '/verbrauchsdaten' +
                                                         '\n' + '/kellerdaten');
                                              setState("telegram.0.communicate.request","leer");
                                      
                                      }
                                      >! function sendphoto() {                      // Warteschleife, 2 Sekunden, damit das Bild erzeugt wird
                                          setTimeout(waittime, 3000);    
                                      }
                                      >! function waittime() {                       // Nach der Warteschleife, sende das Bild per Telegram
                                          sendTo('telegram', "/home/henrik/iobroker/cache/dms?nowprofileid=1.jpg");  
                                      }
                                      

                                      Im Prinzip ist es für Telegram wichtig, mit einem on Skript auf Telegram auf einem bestimmten Befehl zu lauschen und diesen dann nach der Abfrage zurückzusetzen:

                                      on("telegram.0.communicate.request", function (obj) {
                                         if  (obj.newState.val == "[Henrik]torfoto" || obj.newState.val == "[Henrik]/torfoto") {      // Hier wird gelauscht auf den Befehl "torfoto" oder "/torfoto"
                                             getfoto(); 															  // nun eine Funktion ausführen
                                             setState("telegram.0.communicate.request","leer");						  // Telegrambefehl zurücksetzen
                                         }
                                      });
                                      

                                      In Telegram über den Botfather kann man Befehle definieren, so dass man auf der Tastatur nur auf das / klicken muss um die vorher gespeicherten Befehle auflisten zu lassen.

                                      In meinen Telegramantworten liste ich mit "Was noch? /verbrauchsdaten /foto /etc" noch direkt die weiteren (sinnvollen) Möglichkeiten auf. Diese Befehle kann ich dann nacheinander antippen und abfragen.

                                      Siehe Foto

                                      1145_bildschirmfoto_vom_2016-05-05_21-54-08.png

                                      iobroker als LXC unter Proxmox

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

                                        Hallo,

                                        tolles Werkzeug, danke für die ausführliche Darstellung. Es braucht zwar einige Zeit zum Einstellen / Skripten, aber dann klappt das wunderbar. Nutze diese "Dialoge" für die Lichtsteuerung. Vor allem in Verbindung mit dem Scenes-Adapter sehr mächtig.

                                        Danke!

                                        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
                                        • ruhr70R Offline
                                          ruhr70R Offline
                                          ruhr70
                                          schrieb am zuletzt editiert von
                                          #40

                                          Sehr fein :-) Das sind wirklich schöne Beispiele.

                                          Anbei noch ein RegEx für die Abfrage:

                                          on({id:"telegram.1.communicate.request",change:'any'}, function (obj) {
                                              if  (obj.newState.val.match(/(\[.+\])(\/|)klima/i)) {
                                          

                                          Einmal habe ich im on() change:'any' genutzt, damit man das gleiche Kommando zweimal schicken kann.

                                          Und das RegEx reagiert auf jeden Usernamen, dem Stichwort mit und ohne "/" und Groß-/Kleinschreibung wird ignoriert.

                                          Nach dem Stichwort (hier: "Klima") kann der weitere Text dahinter im Skript auch noch ausgewertet werden.

                                          Adapter: Fritzbox, Unify Circuit
                                          Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                          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

                                          723

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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