Ankündigung

Einklappen
Keine Ankündigung bisher.

Telegram, Alternative zu WhatsApp

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Danke für deine Erweiterungen. Scheint soweit alles zu funktionieren.

    Nur das Initialisieren der chat_ids über

    Code:
        Chat_Ids:
            type: dict
            telegram_chat_ids: true
            cache: 'True'
            value: '{3234123342: 1}'
    funktioniert bei mir so nicht. Itemwert bleibt leer.

    Wenn ich meine Chat Ids manuell in das Item schreibe, gehts dann.


    Habe mir noch eine Funktion gemacht um auch von einer Webcam mit Authentication ein Bild schicken zu können.

    Hab dafür
    Code:
     photo_raw = requests.get(photofile_or_url)
    durch
    Code:
    photo_raw = requests.get(photofile_or_url, auth=('user','pass'))
    ersetzt.



    Kommentar


      Hat jemand eine Idee warum

      Code:
       
       value: '{3234123342: 1}'
      zum Initialisieren nicht funktioniert?
      Code:
         
       value: '{'3234123342': 1}'
      Tuts auch nicht. Finde nirgends ein Beispiel mit dict und value.

      Kommentar



        value: "{'3234123342': 1}"

        Kommentar


          Hallo,
          ich bekomme seit geraumer Zeit keine Nachrichten mehr an meinen Bot.

          Ich nutzte das aktuelle Develop, alles auf dem letzten Stand.

          Laut LOG wird der Plugin fehlerfrei geladen:
          Code:
          2019-04-05  21:31:21 INFO     Main         plugin 'telegram': Metadata paramlist = '['token', 'name', 'long_polling_timeout', 'welcome_msg', 'bye_msg', 'no_access_msg', 'no_write_access_msg']'
          2019-04-05  21:31:21 INFO     Main         plugin 'telegram': Metadata itemdeflist = '['telegram_message', 'telegram_info', 'telegram_text', 'telegram_value_match_regex', 'telegram_chat_ids']'
          2019-04-05  21:31:22 INFO     Main         plugin 'telegram': Metadata plugin_functionlist = '['msg_broadcast', 'photo_broadcast']'
          2019-04-05  21:31:22 INFO     Main         plugin 'telegram': Metadata get_plugin_function_defstrings -> '['msg_broadcast(msg, chat_id)', 'photo_broadcast(photofile_or_url, caption, chat_id)']'
          2019-04-05  21:31:22 INFO     Main         plugin 'telegram': Metadata get_plugin_function_defstrings -> '['msg_broadcast(msg:str, chat_id:int)', 'photo_broadcast(photofile_or_url:str, caption:str, chat_id:int)']'
          2019-04-05  21:31:22 INFO     Main         plugin 'telegram': Metadata get_plugin_function_defstrings -> '['msg_broadcast(msg, chat_id)', 'photo_broadcast(photofile_or_url, caption, chat_id)']'
          2019-04-05  21:31:22 INFO     Main         plugin 'telegram': Metadata get_plugin_function_defstrings -> '['msg_broadcast(msg:str, chat_id:int)', 'photo_broadcast(photofile_or_url:str, caption:str, chat_id:int)']'
          2019-04-05  21:31:23 INFO     Main         Loading '/usr/local/smarthome/plugins/telegram/locale.yaml' to 'dict'
          2019-04-05  21:31:23 INFO     Main         Plugin 'telegram': Loaded plugin translations = {'choose': {'fr': 'Choisissez parmi', 'de': 'Auswählen', 'en': '='}, 'unknown command %s': {'fr': 'commande inconnue %s:', 'de': 'Unbekanntes Kommando %s:', 'en': '='}, 'no items found with the attribute %s': {'fr': 'Ne pas trouvée une Item avec %s', 'de': 'Keine Items mit Attribut %s gefunden', 'en': '='}, 'Info from the items:': {'fr': 'Info sur les Items:', 'de': 'Infos von den Items:', 'en': '='}, 'I will hide the keyboard': {'fr': 'Je cache le clavier', 'de': 'Ich blende die Bedientasten aus', 'en': '='}}
          2019-04-05  21:31:23 INFO     Main         plugin 'telegram': value not found in plugin configuration file for parameter 'long_polling_timeout' -> using default value '120.0' instead
          2019-04-05  21:31:23 INFO     Main         plugin 'telegram': value not found in plugin configuration file for parameter 'welcome_msg' -> using default value 'SmarthomeNG Telegram Plugin is up and running' instead
          2019-04-05  21:31:23 INFO     Main         plugin 'telegram': value not found in plugin configuration file for parameter 'bye_msg' -> using default value 'SmartHomeNG Telegram Plugin stops' instead
          2019-04-05  21:31:23 INFO     Main         plugin 'telegram': value not found in plugin configuration file for parameter 'no_access_msg' -> using default value 'This bot does not know your chat id and thus does not trust it, you are not allowed to use this bot' instead
          2019-04-05  21:31:23 INFO     Main         plugin 'telegram': value not found in plugin configuration file for parameter 'no_write_access_msg' -> using default value 'This bot knows your chat id but you are not allowed to use this bot to write to items' instead
          2019-04-05  21:31:23 INFO     Main         Telegram bot is listening:
          2019-04-05  21:31:23 INFO     Main         Module http: Registering webinterface 'telegram' of plugin 'telegram' from pluginclass 'Telegram' instance ''
          2019-04-05  21:31:23 INFO     Main          - conf dict: '{'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/': {'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x76607670>>, 'tools.auth_basic.realm': 'shng_http_webif', 'tools.auth_basic.on': False, 'tools.staticdir.root': '/usr/local/smarthome/plugins/telegram/webif'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}}'
          2019-04-05  21:31:23 INFO     Main         self._applications['telegram'] = {'Pluginname': 'telegram', 'Description': 'Webinterface telegram of plugin telegram', 'Mount': '/telegram', 'Instance': '', 'Webifname': 'telegram', 'Pluginclass': 'Telegram', 'Conf': {'/gstatic': {'tools.staticdir.on': True, 'tools.staticdir.dir': '/usr/local/smarthome/modules/http/webif/gstatic'}, '/': {'tools.auth_basic.checkpassword': <bound method Http.validate_password of <modules.http.Http object at 0x76607670>>, 'tools.auth_basic.realm': 'shng_http_webif', 'tools.auth_basic.on': False, 'tools.staticdir.root': '/usr/local/smarthome/plugins/telegram/webif'}, '/static': {'tools.staticdir.on': True, 'tools.staticdir.dir': 'static'}}}
          2019-04-05  21:31:23 INFO     Main         Initialized plugin 'telegram' from from section 'telegram'
          Senden von Nachrichten über den Browser funktioniert auch, nur nicht über/von shNG.
          Laut backend ist das Plugin aktiv.

          Hat jemand Rat?

          Kommentar


            Debug log erstellen ... ?

            Kommentar


              Habe ich gemacht. Dort finde (zumindest ich) auch nichts auffälliges:
              Code:
              2019-04-06 08:48:31 CEST DEBUG    __init__          Main         init plugins.telegram  --  (__init__.py:__init__:85)
              2019-04-06 08:48:31 CEST INFO     __init__          Main         Telegram bot is listening: {'id': #########, 'first_name': 'smarthomeNG', 'username': 'miwe_smarthome_bot', 'is_bot': True}  --  (__init__.py:__init__:108)
              2019-04-06 08:48:31 CEST DEBUG    __init__          Main         init done  --  (__init__.py:__init__:125)
              2019-04-06 08:50:14 CEST DEBUG    __init__          Main         init plugins.telegram  --  (__init__.py:__init__:85)
              2019-04-06 08:50:14 CEST INFO     __init__          Main         Telegram bot is listening: {'username': 'miwe_smarthome_bot', 'id': #########, 'first_name': 'smarthomeNG', 'is_bot': True}  --  (__init__.py:__init__:108)
              2019-04-06 08:50:14 CEST DEBUG    __init__          Main         init done  --  (__init__.py:__init__:125)
              2019-04-06 08:50:33 CEST DEBUG    __init__          Main         init plugins.telegram  --  (__init__.py:__init__:85)
              2019-04-06 08:50:34 CEST INFO     __init__          Main         Telegram bot is listening: {'is_bot': True, 'first_name': 'smarthomeNG', 'id': #########, 'username': 'miwe_smarthome_bot'}  --  (__init__.py:__init__:108)
              2019-04-06 08:50:34 CEST DEBUG    __init__          Main         init done  --  (__init__.py:__init__:125)
              2019-04-06 08:50:58 CEST DEBUG    __init__          Main         parse item: licht.wohnzimmer.deckenambilight.onoff  --  (__init__.py:parse_item:175)
              2019-04-06 08:51:00 CEST DEBUG    __init__          Main         parse item: esp_easy.oellager  --  (__init__.py:parse_item:175)
              2019-04-06 08:51:00 CEST DEBUG    __init__          Main         parse item: esp_easy.wetterstation  --  (__init__.py:parse_item:175)
              2019-04-06 08:51:00 CEST DEBUG    __init__          Main         parse item: garage.torlinks.lage.oben  --  (__init__.py:parse_item:175)
              2019-04-06 08:51:00 CEST DEBUG    __init__          Main         parse item: garage.torlinks.lage.unten  --  (__init__.py:parse_item:175)
              2019-04-06 08:51:00 CEST DEBUG    __init__          Main         parse item: garage.torrechts.lage.oben  --  (__init__.py:parse_item:175)
              2019-04-06 08:51:00 CEST DEBUG    __init__          Main         parse item: garage.torrechts.lage.unten  --  (__init__.py:parse_item:175)
              2019-04-06 08:51:01 CEST DEBUG    __init__          Main         parse item: maintenance.watchdog.dailymail  --  (__init__.py:parse_item:175)
              2019-04-06 08:51:02 CEST DEBUG    __init__          Main         parse item: sonoff.sonoff_b1  --  (__init__.py:parse_item:175)
              2019-04-06 08:51:02 CEST DEBUG    __init__          Main         parse item: sonoff.sonoff_b2  --  (__init__.py:parse_item:175)
              2019-04-06 08:51:02 CEST DEBUG    __init__          Main         parse item: sonoff.sonoff_s1  --  (__init__.py:parse_item:175)
              2019-04-06 08:51:02 CEST DEBUG    __init__          Main         parse item: sonoff.sonoff_rf1  --  (__init__.py:parse_item:175)
              2019-04-06 08:51:02 CEST DEBUG    __init__          Main         parse item: sonoff.sonoff_rgbw1  --  (__init__.py:parse_item:175)
              2019-04-06 08:51:02 CEST DEBUG    __init__          Main         parse item: sonoff.sonoff_rgbw2  --  (__init__.py:parse_item:175)
              2019-04-06 08:51:03 CEST DEBUG    __init__          Main         parse item: raumtemp.ug.gaestezimmer.hum_ist.hum_krit  --  (__init__.py:parse_item:175)
              2019-04-06 08:51:12 CEST DEBUG    __init__          telegram     started polling the updater, Queue is <queue.Queue object at 0x69d19250>  --  (__init__.py:run:145)
              2019-04-06 08:51:12 CEST DEBUG    __init__          telegram     sent welcome message {}  --  (__init__.py:run:147)
              2019-04-06 08:51:12 CEST INFO     __init__          paho_mqtt    update item: sonoff.sonoff_s1  --  (__init__.py:update_item:209)
              2019-04-06 08:51:12 CEST INFO     __init__          paho_mqtt    send Message: sonoff_s1: Offline!  --  (__init__.py:update_item:249)
              2019-04-06 08:51:12 CEST INFO     __init__          paho_mqtt    update item: sonoff.sonoff_rgbw2  --  (__init__.py:update_item:209)
              2019-04-06 08:51:12 CEST INFO     __init__          paho_mqtt    send Message: sonoff_rgbw2: Offline!  --  (__init__.py:update_item:249)
              2019-04-06 08:51:12 CEST INFO     __init__          paho_mqtt    update item: sonoff.sonoff_b1  --  (__init__.py:update_item:209)
              2019-04-06 08:51:12 CEST INFO     __init__          paho_mqtt    send Message: sonoff_b1: Online!  --  (__init__.py:update_item:249)
              2019-04-06 08:51:12 CEST INFO     __init__          paho_mqtt    update item: sonoff.sonoff_b2  --  (__init__.py:update_item:209)
              2019-04-06 08:51:12 CEST INFO     __init__          paho_mqtt    send Message: sonoff_b2: Offline!  --  (__init__.py:update_item:249)
              2019-04-06 08:51:12 CEST INFO     __init__          paho_mqtt    update item: sonoff.sonoff_rgbw1  --  (__init__.py:update_item:209)
              2019-04-06 08:51:12 CEST INFO     __init__          paho_mqtt    send Message: sonoff_rgbw1: Offline!  --  (__init__.py:update_item:249)
              2019-04-06 08:51:12 CEST INFO     __init__          paho_mqtt    update item: esp_easy.wetterstation  --  (__init__.py:update_item:209)
              2019-04-06 08:51:12 CEST INFO     __init__          paho_mqtt    send Message: wetterstation: online!  --  (__init__.py:update_item:249)
              2019-04-06 08:51:12 CEST INFO     __init__          paho_mqtt    update item: sonoff.sonoff_rf1  --  (__init__.py:update_item:209)
              2019-04-06 08:51:12 CEST INFO     __init__          paho_mqtt    send Message: sonoff_rf1: Online!  --  (__init__.py:update_item:249)
              2019-04-06 08:51:12 CEST INFO     __init__          paho_mqtt    update item: esp_easy.oellager  --  (__init__.py:update_item:209)
              2019-04-06 08:51:12 CEST INFO     __init__          paho_mqtt    send Message: oellager: online!  --  (__init__.py:update_item:249)
              Meine Daten habe ich in den ersten Zeile unkenntlich gemacht.

              Kommentar


                Hm. Die Glaskugel ist noch dunkel. Config? Version Plugin? Version SmartHomeNG? Funktioniert ggf. die Welcome Message?

                Kommentar


                  Hi,
                  ich bin bei shNG als auch bei den Plugins auf der aktuelle#Telegram

                  Ich habe in der RPI Konsole python3 gestartet und konnte von dort telegram messages absenden. Die Kommunikation funktioniert also grundsatzlich.
                  Direkt aus shNG geht aber nicht. Es gibt weder die Willkommensnachricht, noch die Stopp-Nachricht.

                  Meine (unveränderte) Plugin Config:
                  Code:
                  telegram:
                      name: My Home
                      class_name: Telegram
                      class_path: plugins.telegram
                      token: 404137557:xxxxsC5xXNwSyU3F1PkxxxxO058IwyVbZpo
                      trusted_chat_ids: xxxxxxxx
                  Hier nochmal das Telegram Debug Log bei einem Neustart:
                  Code:
                  2019-04-07 09:55:03 CEST DEBUG    __init__          Main         stop telegram plugin  --  (__init__.py:stop:155)
                  2019-04-07 09:55:03 CEST DEBUG    __init__          Main         sent bye message  --  (__init__.py:stop:157)
                  2019-04-07 09:55:03 CEST DEBUG    __init__          Main         telegram plugin stopped  --  (__init__.py:stop:159)
                  2019-04-07 09:55:20 CEST DEBUG    __init__          Main         init plugins.telegram  --  (__init__.py:__init__:85)
                  2019-04-07 09:55:20 CEST INFO     __init__          Main         Telegram bot is listening: {'id': xxxxxxxxx, 'first_name': 'smarthomeNG', 'is_bot': True, 'username': 'miwe_smarthome_bot'}  --  (__init__.py:__init__:108)
                  2019-04-07 09:55:20 CEST DEBUG    __init__          Main         init done  --  (__init__.py:__init__:125)
                  2019-04-07 09:55:45 CEST DEBUG    __init__          Main         parse item: licht.wohnzimmer.deckenambilight.onoff  --  (__init__.py:parse_item:175)
                  2019-04-07 09:55:47 CEST DEBUG    __init__          Main         parse item: esp_easy.oellager  --  (__init__.py:parse_item:175)
                  2019-04-07 09:55:47 CEST DEBUG    __init__          Main         parse item: esp_easy.wetterstation  --  (__init__.py:parse_item:175)
                  2019-04-07 09:55:47 CEST DEBUG    __init__          Main         parse item: garage.torlinks.lage.oben  --  (__init__.py:parse_item:175)
                  2019-04-07 09:55:47 CEST DEBUG    __init__          Main         parse item: garage.torlinks.lage.unten  --  (__init__.py:parse_item:175)
                  2019-04-07 09:55:47 CEST DEBUG    __init__          Main         parse item: garage.torrechts.lage.oben  --  (__init__.py:parse_item:175)
                  2019-04-07 09:55:47 CEST DEBUG    __init__          Main         parse item: garage.torrechts.lage.unten  --  (__init__.py:parse_item:175)
                  2019-04-07 09:55:48 CEST DEBUG    __init__          Main         parse item: maintenance.watchdog.dailymail  --  (__init__.py:parse_item:175)
                  2019-04-07 09:55:48 CEST DEBUG    __init__          Main         parse item: sonoff.sonoff_b1  --  (__init__.py:parse_item:175)
                  2019-04-07 09:55:48 CEST DEBUG    __init__          Main         parse item: sonoff.sonoff_b2  --  (__init__.py:parse_item:175)
                  2019-04-07 09:55:48 CEST DEBUG    __init__          Main         parse item: sonoff.sonoff_s1  --  (__init__.py:parse_item:175)
                  2019-04-07 09:55:49 CEST DEBUG    __init__          Main         parse item: sonoff.sonoff_rf1  --  (__init__.py:parse_item:175)
                  2019-04-07 09:55:49 CEST DEBUG    __init__          Main         parse item: sonoff.sonoff_rgbw1  --  (__init__.py:parse_item:175)
                  2019-04-07 09:55:49 CEST DEBUG    __init__          Main         parse item: sonoff.sonoff_rgbw2  --  (__init__.py:parse_item:175)
                  2019-04-07 09:55:50 CEST DEBUG    __init__          Main         parse item: raumtemp.ug.gaestezimmer.hum_ist.hum_krit  --  (__init__.py:parse_item:175)
                  2019-04-07 09:56:00 CEST DEBUG    __init__          telegram     started polling the updater, Queue is <queue.Queue object at 0x69cd9250>  --  (__init__.py:run:145)
                  2019-04-07 09:56:00 CEST DEBUG    __init__          telegram     sent welcome message {}  --  (__init__.py:run:147)
                  2019-04-07 09:56:00 CEST INFO     __init__          paho_mqtt    update item: esp_easy.wetterstation  --  (__init__.py
                  Muss man in der PluginConfig die Zeichenketten in Hochkommas setzen?

                  Wer hat noch eine Idee?
                  Danke Euch.

                  Kommentar


                    Ja, lies mal die Readme der develop Version. (develop ist work in progress)
                    Da u.a. steht drin, das Du jetzt ein Item mit User-ID und Berechtigung benötigst.

                    Kommentar


                      bmx
                      Zitat von bmx Beitrag anzeigen
                      Ja, lies mal die Readme der develop Version. (develop ist work in progress)
                      Da u.a. steht drin, das Du jetzt ein Item mit User-ID und Berechtigung benötigst.
                      Ich habe die develop-readme bestimmt 10x gelesen, bevor ich nach Hilfe gefragt habe. Das die chat-ids vom der Plugin-Config in ein Item gewandet sind, habe ich wohl immer überlesen.
                      DANKE!

                      Kaum macht man es richtig, schon geht es auch wieder!

                      Kommentar


                        Hallo,

                        eine kleine Anregung:
                        Ich habe in dem Bereich was erweitert:
                        PHP-Code:
                            def mHandler(selfbotupdate):
                                
                        """
                                write the content (text) of the message in an SH-item
                                """
                                
                        if self.has_write_access_rightupdate.message.chat_id ):
                                    
                        text update.message.from_user.name ":"     # add username
                                    
                        text += update.message.text ":"              # add the message.text
                                    
                        text += str(update.message.chat_id)
                                    for 
                        item in self._items_text_message:
                                        
                        self.logger.debug("write item: {0} value: {1}".format(item.id(), text))
                                        
                        item(textcaller=self.get_fullname())      # write text to SH-item 

                        und zwar die Zeile um text += str(update.message.chat_id) hier noch die ChatID mit ins Item zu bekommen.
                        Das Item wird zerteilt in seine Bestandteile User, Text und ChatID.

                        Ich habe mir dann eine Logik gebaut mit der ich per Button bestimmte Aktionen ausführen kann.

                        Bild1.jpeg Bild2.jpeg

                        Hier mal mein Logik in Auszügen:
                        PHP-Code:
                        #!/usr/bin/env python3
                        # telegram_message.py
                        import telegram
                        from telegram import InlineKeyboardButton
                        InlineKeyboardMarkup
                        from telegram
                        .ext import Updater,CommandHandler,MessageHandler,Filters,CallbackQueryHandler
                        import logging
                        import locale
                        from datetime import datetime
                        bot 
                        telegram.Bot('xxxxxxxx:xxxxxxxxxxxxbmLzIR19WtMXmQ8mnuOxK0')

                        if 
                        sh.Info.Chat_ID() == '-xxxxxxxxxx':
                            
                        custom_keyboard_ubersicht = [['Wetter''Status'],['Location''Tanken'], ['Tore''Schalten']]
                            
                        custom_keyboard_wetter = [['zurück'], ['aktuell''historisch'], ['Diagramme']]
                            
                        custom_keyboard_diagramm = [['zurück'], ['Wetter'], ['Temperatur''Luftdruck'], ['Luftfeuchte']]
                            
                        custom_keyboard_location = [['zurück'], ['xxxx''xxxx''xxxxx'], ['xxxxx-Info''xxxxx-Info''xxxx-Info']]
                            
                        custom_keyboard_tanken = [['zurück'], ['Preise''Günstigste']]
                            
                        custom_keyboard_tore = [['zurück'], ['Gehtür''Fahrtor'], ['Garage-J''Garage-N'], ['Garage-W']]
                            
                        custom_keyboard_schalten = [['zurück'], ['NAS']]

                        if 
                        sh.Info.Chat_ID() == '-yyyyyyyyy':
                            
                        custom_keyboard_ubersicht = [['Wetter''Status'],['Location''Tanken'], ['Tore']]
                            
                        custom_keyboard_wetter = [['zurück'], ['aktuell''historisch'], ['Diagramme']]
                            
                        custom_keyboard_diagramm = [['zurück'], ['Wetter'], ['Temperatur''Luftdruck'], ['Luftfeuchte']]
                            
                        custom_keyboard_location = [['zurück'], ['xxxxx''xxxxx''xxxxx'], ['xxxx-Info''xxxx-Info''xxxxxx-Info']]
                            
                        custom_keyboard_tanken = [['zurück'], ['Preise''Günstigste']]
                            
                        custom_keyboard_tore = [['zurück'], ['Gehtür''Fahrtor'], ['Garage-J''Garage-N'], ['Garage-W']]

                        chat_id sh.Info.Chat_ID()

                        #Keyboard
                        if sh.Info.Message() == 'Übersicht' or sh.Info.Message() == "zurück":
                            
                        bot.send_message(chat_id=chat_idtext='Bitte auswählen:'reply_markup=telegram.ReplyKeyboardMarkup(custom_keyboard_ubersichtresize_keyboard=True))
                        if 
                        sh.Info.Message() == 'Location':
                            
                        bot.send_message(chat_id=chat_idtext='Bitte auswählen:'reply_markup=telegram.ReplyKeyboardMarkup(custom_keyboard_locationresize_keyboard=True))
                        if 
                        sh.Info.Message() == 'Tanken':
                            
                        bot.send_message(chat_id=chat_idtext='Bitte auswählen:'reply_markup=telegram.ReplyKeyboardMarkup(custom_keyboard_tankenresize_keyboard=True))
                        if 
                        sh.Info.Message() == 'Wetter':
                            
                        bot.send_message(chat_id=chat_idtext='Bitte auswählen:'reply_markup=telegram.ReplyKeyboardMarkup(custom_keyboard_wetterresize_keyboard=True))
                        if 
                        sh.Info.Message() == 'Diagramme':
                            
                        bot.send_message(chat_id=chat_idtext='Bitte auswählen:'reply_markup=telegram.ReplyKeyboardMarkup(custom_keyboard_diagrammresize_keyboard=True))
                        if 
                        sh.Info.Message() == 'Tore':
                            
                        bot.send_message(chat_id=chat_idtext='Bitte auswählen:'reply_markup=telegram.ReplyKeyboardMarkup(custom_keyboard_toreresize_keyboard=True))
                        if 
                        sh.Info.Message() == 'Schalten':
                            
                        bot.send_message(chat_id=chat_idtext='Bitte auswählen:'reply_markup=telegram.ReplyKeyboardMarkup(custom_keyboard_schaltenresize_keyboard=True))

                            
                        #Massages
                        #Wetter
                        if sh.Info.Message() == 'aktuell':
                            
                        bot.sendMessage(chat_id=chat_id, \
                                
                        text='<b>Wetter:</b>\n<i>aktuelle. Temp.:</i> ' str(sh.Wetterstation.Wetter_var.w_temperatur()) + ' °C \
                                \n<i>gefühlte Temp.:</i> ' 
                        str(sh.Wetterstation.Wetter_var.w_windchill()) + ' °C \
                                \n<i>rel. Luftfeuchte:</i> ' 
                        str(sh.Wetterstation.Wetter_var.w_feuchte_rel()) + ' % \
                                \n<i>Regen letzte h:</i> ' 
                        str(sh.Wetterstation.Wetter_var.w_regen_letzte_h()) + ' l/m² \
                                \n<i>Regen heute:</i> ' 
                        str(sh.Wetterstation.Wetter_var.w_regen_mm_heute()) + ' l/m² \
                                \n<i>Luftdruck:</i> ' 
                        str(sh.Wetterstation.Wetter_var.w_barometer()) + ' hPa \
                                \n<i>Luftdrucktrend:</i> ' 
                        str(sh.Wetterstation.Wetter_var.w_barotrend()) + \
                                
                        '\n<i>Wind Mittel:</i> {:3.2f}'.format(sh.Wetterstation.Wetter_var.w_wind_mittel.w_wind_mittel_kmh()) + ' km/h \
                                \n<i>Wind Spitze:</i> {:3.2f}'
                        .format(sh.Wetterstation.Wetter_var.w_wind_mittel.w_wind_mittel_kmh()) + ' km/h ' \
                                , 
                        parse_mode=telegram.ParseMode.HTML)

                        if 
                        sh.Info.Message() == 'historisch':
                            
                        bot.sendMessage(chat_id=chat_id, \
                                
                        text='<b>Wetter:</b>\n<b>Gestern:</b>\n<i>min. Temp.:</i> ' str(sh.Wetterstation.Wetter_var.w_temperatur.TempMinGestern()) + ' °C \
                                \n<i>max Temp.:</i> ' 
                        str(sh.Wetterstation.Wetter_var.w_temperatur.TempMaxGestern()) + ' °C \
                                \n<i>Regenmenge:</i> ' 
                        str(sh.Wetterstation.Wetter_var.w_regen_mm_gestern()) + ' l/m² \
                                \n<b>diese Woche:</b> \
                                \n<i>min. Temp.:</i> ' 
                        str(sh.Wetterstation.Wetter_var.w_temperatur.TempMinWoche()) + ' °C \
                                \n<i>max. Temp.:</i> ' 
                        str(sh.Wetterstation.Wetter_var.w_temperatur.TempMaxWoche()) + ' °C \
                                \n<b>dieser Monat:</b> \
                                \n<i>min. Temp:</i> ' 
                        str(sh.Wetterstation.Wetter_var.w_temperatur.TempMinMonat()) + ' °C \
                                \n<i>max. Temp:</i> ' 
                        str(sh.Wetterstation.Wetter_var.w_temperatur.TempMaxMonat()) + ' °C '\
                                , 
                        parse_mode=telegram.ParseMode.HTML

                        Über die ChatID können für jeden "Nutzer" eigene Keyboards definiert werden. Es wurden bei jedem "Nutzer" eine eigene Gruppe in Telegram erstellt und als Gruppenmitglieder der Bot und der "Nutzer" selbst. Somit ist sichergestellt das jeder "Nutzer" auch nur die Infos zurückbekommt die er gerade "angefordert" hat.

                        Ich habe mir damit solche Spielereien realisiert wie: Garagen- und Hoftor öffnen, NAS per WOL starten, Daten der Wetterstation abfragen, günstigste Tankstelle im Umkreis von x km anzeigen. Der Fantasie sind hier sicherlich keine Grenzen gesetzt.

                        Das was ich noch nicht hinbekommenhabe ist das auch mit InlineKeyboard zu realisieren. Somit könnte man besser auf bestimmte Aktionen reagieren.

                        Gruß grisu911
                        Angehängte Dateien

                        Kommentar


                          toll was Du Dir da zusammengebaut hast.. wenn ich unterwegs bin hole ich mir mit dem telegram-plugin auch gerne den Status von Wetter + Co,..

                          wie holst bzw. wie schickst Du Dir denn Diagramme von SH?


                          Zitat von grisu911 Beitrag anzeigen
                          Das was ich noch nicht hinbekommenhabe ist das auch mit InlineKeyboard zu realisieren. Somit könnte man besser auf bestimmte Aktionen reagieren.
                          hab auch schon einmal versucht mit InlineKeyboard zu experimentieren, bin aber auch nicht weiter gekommen. Wäre interessant um Item-Werte zu Ändern.. bisher habe ich testweise im Plugin eine Funktion eingebaut um Items (boolean) zu toggeln,..

                          Code:
                          #wenn das Item True ist wird eine Logik getriggert welche das Bild der Kamera sendet
                          Trigger_Kamera:
                              type: bool
                              autotimer: 2 = 0
                              floor: trigger
                              visu_acl: rw
                              value: 0
                              telegram_control:
                              - name: Kamera,    # Kamera Button wird in telegram im Menu "Control" angelegt
                              - type: toggle          # Beim Klicken auf den Button "Kamera" Toggelt das Item auf 1 (für 2 Sekunden wegen autotimer)
                          Gruß Ivan

                          Kommentar


                            Die Diagramme hole ich mir von Grafana, welches auf einer anderen virtuellen Maschine als Docker läuft.
                            Auf der Maschine wo Smarthome.py läuft wird per crontab jede Minute ein Image vom Grafana Diagramm abgelegt:
                            Code:
                            * * * * * /usr/bin/curl -s 'http://user:pass@192.168.178.100:3000/render/d-solo/a2epkjemz/wetterstation?orgId=1&panelId=6&from=now-12h&width=800&height=600&timeout=45' > /home/smarthome/img/luftfeuchte.png &>/dev/nul$
                            gesendet wird es dann mit:
                            Code:
                            if sh.Info.Message() == 'Luftfeuchte':
                                bot.sendPhoto(chat_id=chat_id, photo=open('/home/smarthome/img/luftfeuchte.png', 'rb'))
                            Sicherlich nicht die eleganteste Variante, aber es reicht mir ersteinmal.

                            Kommentar


                              Habe einen Raspberry mit alten 1.5 Image von OnkelAndy hochgerüstet auf 1.6 und will dort jetzt das telegram Plugin nutzen, jetzt bekomm ich noch den Fehler aus dem Pulgin beim hochlaufen:
                              Code:
                              2019-08-01  08:17:23 INFO     Main         Loading '/usr/local/smarthome/plugins/telegram/plugin.yaml' to 'OrderedDict'
                              2019-08-01  08:17:24 INFO     Main         plugin 'telegram': Metadata paramlist = '['token', 'name', 'long_polling_timeout', 'welcome_msg', 'bye_msg', 'no_access_msg', 'no_write_access_msg', 'pretty_thread_names']'
                              2019-08-01  08:17:24 INFO     Main         plugin 'telegram': Metadata itemdeflist = '['telegram_message', 'telegram_info', 'telegram_text', 'telegram_value_match_regex', 'telegram_chat_ids']'
                              2019-08-01  08:17:24 INFO     Main         plugin 'telegram': Metadata plugin_functionlist = '['msg_broadcast', 'photo_broadcast']'
                              2019-08-01  08:17:24 INFO     Main         plugin 'telegram': Metadata get_plugin_function_defstrings -> '['msg_broadcast(msg, chat_id)', 'photo_broadcast(photofile_or_url, caption, chat_id)']'
                              2019-08-01  08:17:24 INFO     Main         plugin 'telegram': Metadata get_plugin_function_defstrings -> '['msg_broadcast(msg:str, chat_id:int)', 'photo_broadcast(photofile_or_url:str, caption:str, chat_id:int)']'
                              2019-08-01  08:17:24 INFO     Main         plugin 'telegram': Metadata get_plugin_function_defstrings -> '['msg_broadcast(msg, chat_id)', 'photo_broadcast(photofile_or_url, caption, chat_id)']'
                              2019-08-01  08:17:24 INFO     Main         plugin 'telegram': Metadata get_plugin_function_defstrings -> '['msg_broadcast(msg:str, chat_id:int)', 'photo_broadcast(photofile_or_url:str, caption:str, chat_id:int)']'
                              2019-08-01  08:17:24 INFO     Main         Loading '/usr/local/smarthome/plugins/telegram/locale.yaml' to 'dict'
                              2019-08-01  08:17:24 INFO     Main         Plugin 'telegram': Loaded plugin translations = {'no items found with the attribute %s': {'fr': 'Ne pas trouvée une Item avec %s', 'en': '=', 'de': 'Keine Items mit Attribut %s gefunden'}, 'I will hide the keyboard': {'fr': 'Je cache le clavier', 'en': '=', 'de': 'Ich blende die Bedientasten aus'}, 'choose': {'fr': 'Choisissez parmi', 'en': '=', 'de': 'Auswählen'}, 'Info from the items:': {'fr': 'Info sur les Items:', 'en': '=', 'de': 'Infos von den Items:'}, 'unknown command %s': {'fr': 'commande inconnue %s:', 'en': '=', 'de': 'Unbekanntes Kommando %s:'}}
                              2019-08-01  08:17:24 INFO     Main         plugin 'telegram': value not found in plugin configuration file for parameter 'long_polling_timeout' -> using default value '120.0' instead
                              2019-08-01  08:17:24 INFO     Main         plugin 'telegram': value not found in plugin configuration file for parameter 'welcome_msg' -> using default value 'SmarthomeNG Telegram Plugin is up and running' instead
                              2019-08-01  08:17:24 INFO     Main         plugin 'telegram': value not found in plugin configuration file for parameter 'bye_msg' -> using default value 'SmartHomeNG Telegram Plugin stops' instead
                              2019-08-01  08:17:24 INFO     Main         plugin 'telegram': value not found in plugin configuration file for parameter 'no_access_msg' -> using default value 'This bot does not know your chat id and thus does not trust it, you are not allowed to use this bot' instead
                              2019-08-01  08:17:24 INFO     Main         plugin 'telegram': value not found in plugin configuration file for parameter 'no_write_access_msg' -> using default value 'This bot knows your chat id but you are not allowed to use this bot to write to items' instead
                              2019-08-01  08:17:24 INFO     Main         plugin 'telegram': value not found in plugin configuration file for parameter 'pretty_thread_names' -> using default value 'True' instead
                              2019-08-01  08:17:31 ERROR    Main         Plugin 'telegram' from section 'telegram' exception: Unauthorized
                              Traceback (most recent call last):
                                File "/usr/local/smarthome/lib/plugin.py", line 145, in __init__
                                  plugin_thread = PluginWrapper(smarthome, plugin, classname, classpath, args, instance, self.meta, self._gtrans)
                                File "/usr/local/smarthome/lib/plugin.py", line 627, in __init__
                                  exec("self.plugin.__init__(smarthome{0}{1})".format("," if len(arglist) else "", argstring))
                                File "<string>", line 1, in <module>
                                File "/usr/local/smarthome/plugins/telegram/__init__.py", line 109, in __init__
                                  self.logger.info("Telegram bot is listening: {0}".format(self._bot.getMe()))
                                File "/usr/local/lib/python3.5/dist-packages/telegram/bot.py", line 65, in decorator
                                  result = func(self, *args, **kwargs)
                                File "/usr/local/lib/python3.5/dist-packages/telegram/bot.py", line 204, in get_me
                                  result = self._request.get(url, timeout=timeout)
                                File "/usr/local/lib/python3.5/dist-packages/telegram/utils/request.py", line 253, in get
                                  result = self._request_wrapper('GET', url, **urlopen_kwargs)
                                File "/usr/local/lib/python3.5/dist-packages/telegram/utils/request.py", line 221, in _request_wrapper
                                  raise Unauthorized(message)
                              telegram.error.Unauthorized: Unauthorized
                              Kann mir jemand da weiterhelfen? Die gleiche Plugin Konfig nutze ich auf einem anderen System und da läufts. Danke

                              Kommentar


                                Zitat von bmx Beitrag anzeigen
                                Ja, lies mal die Readme der develop Version. (develop ist work in progress)
                                Da u.a. steht drin, das Du jetzt ein Item mit User-ID und Berechtigung benötigst.
                                Hast Du obiges bereits berücksichtigt und umgesetzt? Aus develop ist für 1.6 ja release geworden ...


                                Kommentar

                                Lädt...
                                X