fhempy is a FHEM binding to write modules in Python language

Overview

Download python Version LastCommit BuyCoffee

fhempy (BETA)

fhempy allows the usage of Python 3 (NOT 2!) language to write FHEM modules. Python 3.7 or higher is required, therefore I recommend using buster.

This repository includes following working modules:

Module Description
ble_presence Presence detection incl. RSSI for Bluetooth Low Energy
ble_reset Resets all Bluetooth interfaces every X hours
bt_presence Presence detection incl. RSSI for Bluetooth
discover_mdns Discover mDNS (e.g. googlecast) devices
discover_ble Discover Bluetooth LE devices
discover_upnp Discover UPnP devices
dlna_dmr Control DLNA MediaRenderer devices
eq3bt Control EQ3 Bluetooth thermostat
erelax_vaillant Control eRelax Vaillant
esphome Installs and starts the ESP Home dashboard for easy ESP Home device management
gfprobt Control GF Pro Bluetooth irrigation control
googlecast Control Cast devices and stream Spotify
helloworld Hello World example for developers to start writing their own module
meross Control Meross devices
miflora Xiaomi BLE Plant Sensor
miio Control Xiaomi WiFi devices
mitemp Xiaomi BLE Temperature/Humidity Sensor
nespresso_ble Nespresso Bluetooth coffee machine
object_detection TensorFlow Lite object detection
ring Ring doorbell/chime/cam
seatconnect Control your Seat/Cupra car
spotify Control Spotify Connect and use FHEM as Spotify Connect player
skodaconnect Control your skoda car
tuya Not recommended: Control tuya devices via local key
tuya_cloud Recommended: Control all tuya devices via cloud incl. real-time updates
warema Control Warema devices
wienerlinien Wiener Linien departure times
xiaomi_gateway3 Xiaomi Gateway V3 (only V3!)
xiaomi_tokens Retrieve all Xiaomi Tokens from Cloud

Installation

Python >=3.7 is required, Python 2 won't work!

Console

Debian 11 (Bullseye)

Copy & paste this command if you are running Debian Bullseye.

sudo apt install python3 python3-pip python3-dev libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libglib2.0-dev libdbus-1-dev bluez libbluetooth-dev git libprotocol-websocket-perl

Others

Use the following 2 commands if you run Debian 10 (Buster) or older (e.g. stretch, jessie, ...).

sudo apt install python3 python3-pip python3-dev libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libglib2.0-dev libdbus-1-dev bluez libbluetooth-dev git
sudo cpan Protocol::WebSocket

FHEM

update add https://raw.githubusercontent.com/dominikkarall/fhempy/master/controls_pythonbinding.txt
update
define local_pybinding BindingsIo fhempy

All further requirements are installed automatically via pip as soon as the specific module is used the first time.

Usage in FHEM (examples)

This are just a few examples for some modules, please see the modules readme linked in the table above for more details

  • define castdevice fhempy googlecast "Living Room"
  • define eq3bt fhempy eq3bt 00:11:22:33:44:66:77
  • define upnp fhempy discover_upnp

fhempy peers (e.g. extend Bluetooth range)

fhempy allows to run modules locally (same device as FHEM runs on) or on remote peers. Those remote peers only make sense if you want to extend the range of bluetooth or want to distribute the load of some modules to other more powerfull devices (e.g. video object detection).

Peer setup (short)

Only on remote peers, do not run this commands on the FHEM instance.

### WARNING: DO THIS COMMAND ONLY ON REMOTE PEER, NOT ON YOUR FHEM INSTANCE ###
pip3 install --upgrade fhempy
# systemd service installation
curl -sL https://raw.githubusercontent.com/dominikkarall/fhempy/master/install_systemd_fhempy.sh | sudo -E bash -

Peer setup (long)

The following steps are only needed if you want to install fhempy on a remote peer, you should not run them on your FHEM installation.

  • Install fhempy with user pi: pip3 install --upgrade fhempy
  • Make sure your main fhempy instance (within FHEM) is running
  • Test fhempy by just running it with user pi, type fhempy and enter. Wait a few seconds until it gets discovered and you see the incoming FHEM connection.
  • Systemd configuration for autostart
    • curl -sL https://raw.githubusercontent.com/dominikkarall/fhempy/master/install_systemd_fhempy.sh | sudo -E bash -
    • fhempy is run with user pi, you can change that in the fhempy.service file in /etc/systemd/system/
  • FHEM configuration
    • The remote peer is autodiscovered and will show up in FHEM as device e.g. fhempy_remote_192_168_1_50
    • You can move any device to the remote peer by changing the IODev of the device.
    • If autodiscovery doesn't work (it's based on zeroconf), you can define it with define fhempy_remote_IP BindingsIo IP:15733 fhempy

Log file

journalctl -u fhempy.service -f

Update

Just do set remote_pybinding update and the remote peer will install the new package via pip and restart afterwads.

Functionality

10_BindingsIo

This module is a DevIo device which builds a language neutral communicaton bridge in JSON via websockets.

10_fhempyServer

This module just starts the fhempy server instance

10_fhempy

This module is used as the bridge to BindingsIo. It calls BindingsIo with IOWrite.

fhempy

This is the Python server instance which handles JSON websocket messages from BindingsIo. Based on the message it executes the proper function and replies to BindingsIo via websocket.

Call flow

This example shows how Define function is called from the Python module.

  1. define castdevice fhempy googlecast "Living Room"
  2. fhempy sends IOWrite to BindingsIo
  3. BindingsIo sends a JSON websocket message to fhempy
  4. fhempy loads the corresponding module (e.g. googlecast), creates an instance of the object (e.g. googlecast) and calls the Define function on that instance
  5. Define function is executed within the Python context, as long as the function is executed, FHEM waits for the answer the same way as it does for Perl modules
  6. Python Define returns the result via JSON via websocket to BindingsIo

At any time within the functions FHEM functons like readingsSingleUpdate(...) can be called by using the fhem.py module (fhem.readingsSingleUpdate(...)). There are just a few functions supported at the moment.

Flow Chart

Write your own module

Check helloworld example for writing an own module. Be aware that no function which is called from FHEM is allowed to run longer than 1s. In general no blocking code should be used with asyncio. If you want to call blocking code, use run_in_executor (see googlecast code).

Comments
  • tuya local does not map readings anymore

    tuya local does not map readings anymore

    My tuya local devices defined with product id (registered in mappings.py) do not update the readings anymore. the readings stay as dp_xx and do not show the right name and is not commandable anymore (happy heating season began, so i realized now with my heating devices...)

    list of one of my devices:

    Internals: DEF tuya QgDtdkPRBJ9g360K 002009445cxxxxxxxxxx 192.168.0.66 a5bxxxxxxxxx DEVICEID 002009445xxxxxxxxx FHEMPYTYPE tuya FUUID 632b1976-f33f-8cc0-c94d-8e6eada133216fe4 FVERSION 10_fhempy.pm:0.182830/2019-01-16 IODev [fhempy_local] NAME [flKonvektor] NR 1102 PYTHONTYPE tuya STATE Istwert: 23°C Sollwert: 22°C Schalter: 0 Stufe: off Lamellen: 0 TYPE fhempy eventCount 16 READINGS: 2022-09-21 16:27:09 dp_01 0 2022-09-21 16:27:09 dp_02 22 2022-09-21 16:27:02 dp_03 23 2022-09-21 16:24:58 dp_04 off 2022-09-21 16:25:00 dp_07 0 2022-09-21 16:20:30 state online args: [flKonvektor] fhempy tuya QgDtdkPRBJ9g360K 002009445xxxxxxx 192.168.0.66 a5b48a00xxxxxxxx argsh: Attributes: DbLogExclude .* IODev [fhempy_local] alias Konvektor Flur devStateIcon on:[email protected] off:[email protected] gassistantName Konvektor genericDeviceType aircondition group Konvektor homebridgeMapping { "On": { "reading": "Power", "valueOff": "off", "cmdOn": "Power on", "cmdOff": "Power off" }, "TemperatureControlSetCelsius": { "reading": "TempSet", "cmd": "TempSet", "minCelsius": 0, "maxCelsius": 300, "stepCelsius": 10, "formatUx": "C" }, "TemperatureControlAmbientCelsius": { "reading": "TempCurrent" } } icon vent_used_air realRoom Flur Erdgeschoss room 00_Haus,20_Flur,43_FhemPy,61_Heizung,62_Lueftung,73_GoogleHome userattr PythonModuleStatus PythonModuleStatus_map structexclude webCmd Power:TempSet:Mode:Shake webCmdLabel Schalter :Sollwert :Stufe :Lamellen

    opened by jfmennedy 60
  • cryptography installation fails

    cryptography installation fails

    hey ich bins mal wieder gg nachdem das alte problem für mich gelöst war lief eigentlich alles pefekt mit FHEMPY. Allerdings hab ich seit ein paar Tagen ständig "timeout" Meldungen im log und es geht garnix mehr...... weder lassen sich meine Steckdosen schalten noch kann ich Daten auslesen. Ich hänge eine FHEM.log und eine FHEMPY.log mit frisch aufgesetztem Lokalem Device an ;-)

    Schalten per APP funktioniert allerdings fehlerfrei

    In der Fhem.txt steht nur der relevante teil drinn, sollte die vollständige datei gebraucht werden einfach melden. Die FhemPY.txt ist gekürzt, der Fehler wiederholt sich ständig und die Datei erreicht in 5 min 10MB

    fhem-2022-08.log fhempy-2022-08-18.log

    opened by kleinerDrache 57
  • miflora -

    miflora - "set (...) update" does not update

    Howdey...

    Unfortunately it looks like, that a new miflora device does just not poll any readings.

    attr miAloe poll_type interval
    

    will just not react on the interval at all (there is no difference to the "manual" setting).

    set miAloe update
    

    will just not do anything.

    Speaking of that, new devices remain in a timeout or offline state:

    Internals:
       CFGFN      
       DEF        miflora C4:7C:8D:66:AF:99
       FUUID      5fad833e-f33f-e5c5-631e-c1f4b4f280e67e95
       IODev      bndAPi
       MAC        C4:7C:8D:66:AF:99
       NAME       miPineapple
       NR         544
       PYTHONTYPE miflora
       STATE      PythonBinding offline
       TYPE       PythonModule
       READINGS:
         2020-11-12 19:47:48   state           PythonBinding offline
       args:
         miPineapple
         PythonModule
         miflora
         C4:7C:8D:66:AF:99
       argsh:
    Attributes:
       IODev      bndAPi
       poll_type  manual
       update_interval 14400
       userattr   hci_device poll_type:interval,manual update_interval
    
    Internals:
       CFGFN      
       DEF        miflora C4:7C:8D:66:B0:33
       FUUID      5fad84b4-f33f-e5c5-57e4-288f08abaceb999a
       IODev      bndAPi
       MAC        C4:7C:8D:66:B0:33
       NAME       miVenus
       NR         829
       PYTHONTYPE miflora
       STATE      PythonBinding timeout
       TYPE       PythonModule
       READINGS:
         2020-11-12 19:53:54   state           PythonBinding timeout
       args:
         miVenus
         PythonModule
         miflora
         C4:7C:8D:66:B0:33
       argsh:
    Attributes:
       IODev      bndAPi
       poll_type  manual
       update_interval 14400
       userattr   hci_device poll_type:interval,manual update_interval
    

    It looks like the first test device came only online as I (acciendently of sorts) updated the oldfashioned module "XiaomiBTLESens" and readings are frozen up, not matter if "set miAloe update" or "poll_type" is set to interval:

    Internals:
       DEF        miflora C4:7C:8D:66:B0:EF
       FUUID      5fa82801-f33f-e5c5-29e0-79a1cf54407afcba
       FVERSION   10_PythonModule.pm:0.182830/2019-01-16
       IODev      bndAPi
       MAC        C4:7C:8D:66:B0:EF
       NAME       miAloe
       NR         407
       PYTHONTYPE miflora
       STATE      online
       TYPE       PythonModule
       READINGS:
         2020-11-09 23:19:14   battery         99
         2020-11-11 03:26:55   conductivity    16
         2020-11-08 18:19:25   firmware        3.2.1
         2020-11-11 03:26:55   light           53
         2020-11-10 23:22:09   moisture        6
         2020-11-08 18:19:25   name            Flower care
         2020-11-09 23:19:14   presence        online
         2020-11-10 23:22:09   state           online
         2020-11-11 03:26:55   temperature     19.2
         2020-11-09 23:21:48   update_interval 14400
       args:
         miAloe
         PythonModule
         miflora
         C4:7C:8D:66:B0:EF
       argsh:
    Attributes:
       IODev      bndAPi
       poll_type  manual
       update_interval 14400
       userattr   hci_device poll_type:interval,manual update_interval
    

    It will merely update when I update the old module "XiaomiBTLESens".

    Connection to the peer is ok, as the other module "eq3bt" works just fine.

    no-issue-activity 
    opened by VinceMasuka 50
  • Fhempy server offline

    Fhempy server offline

    Hello,

    I have a problem with the fhempy server staying offline.

    Yesterday I updated my raspbian jessie (8) tot 9, then from 9 to 10, and finally from 10 to 11. I did this because I wanted to install Python 3 and that didn't work anymore on version 8 (this version is obsolete). So currently I'm running Rasbian 11. My FHEM is still running okay. So far so good.

    So I installed Python version 3.7 like the instruction: https://github.com/dominikkarall/fhempy/blob/master/README.md

    Then I entered the instructions in FHEM:

    1. update add https://raw.githubusercontent.com/dominikkarall/fhempy/master/controls_pythonbinding.txt
    2. update
    3. define fhempy_local BindingsIo fhempy

    So now the fhempyserver won't go online (stays red). Fhempylocal is green. See the picture: image

    This is what the fhempy log file shows: image

    What can I do to solve the problem?

    opened by maartenvullings 36
  • 'utf-8' codec can't decode byte

    'utf-8' codec can't decode byte

    Da mein Englisch praktisch NICHT existent ist schreibe ich einfach in Deutsch.

    Ich kann ein Tuya Device nicht nutzen da es nicht sauber erkannt wird.

    Log sagt: 2022-06-12 16:04:34,258 - ERROR - Spuelmaschiene_2130760170039f609c1b: Failed create_device Traceback (most recent call last): File "/opt/fhem/.local/lib/python3.10/site-packages/fhempy/lib/tuya/tuya.py", line 403, in create_device await self._create_cloudmapping_dev() File "/opt/fhem/.local/lib/python3.10/site-packages/fhempy/lib/tuya/tuya.py", line 333, in _create_cloudmapping_dev status = await self._connected_device.status() File "/opt/fhem/.local/lib/python3.10/site-packages/fhempy/lib/tuya/pytuya/init.py", line 481, in status status = await self.exchange(STATUS) File "/opt/fhem/.local/lib/python3.10/site-packages/fhempy/lib/tuya/pytuya/init.py", line 466, in exchange payload = self._decode_payload(msg.payload) File "/opt/fhem/.local/lib/python3.10/site-packages/fhempy/lib/tuya/pytuya/init.py", line 586, in _decode_payload payload = payload.decode() UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe7 in position 1: invalid continuation byte

    Genutztes Device: Gosund EP2-AR

    Per Tuya-Cloud einwandfreie Funktion mit fhempy, locale Variante bringt Fehler von oben, andere EP2-AR laufen einwandfrei.

    opened by kleinerDrache 32
  • can not connect to Device

    can not connect to Device

    Hi, I have some trouble with Tuya as well as with Tuya Cloud. Likly due to all this ID I strugle to use the right one.

    in Tuya IOT Platform I am able to link to my Tuya App, which is afterwards visible from both ends ( IOT Platform as well as inside the App) as a result I can see a UID inside IOT Platform

    However I am not able to see the Device which is visible and function with no problem inside Tuya App. I guess here is already the Error. Inside the Tuya App there is a Virtuell-ID, and IP, a MAC and the TimeZone Europe/Berlin. Inside IOT Patform the Device Management is on Western Europe ( after adding Central Europe the Device is visible inside IOT Platform)

    in fhem tuya_system shows "ready" but no device is found likly the DeviceID used is wrong, it is neither the Virtual ID inside the Tuya App, nor the UID of the linked Tuya App.

    In the individual Device setup I struggle to identify the Product-ID and I do not get the difference of DEVICE_ID and LOCAL_KEY

    Now i struggle to see what to do next.

    I hope you have a hint for me. Many Thanks.

    opened by Heiner1967 32
  • Error after first Install

    Error after first Install

    I have setup the environment in fhem and get in the logfile the follow log entry's:

    021-09-14 13:18:31,927 - ERROR - asyncio: Task exception was never retrieved future: exception=BadTypeInNameException() created at /usr/lib/python3.7/asyncio/tasks.py:325> source_traceback: Object created at (most recent call last): File "FHEM/bindings/python/bin/fhempy", line 113, in fpb.run() File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 470, in run asyncio.get_event_loop().run_forever() File "/usr/lib/python3.7/asyncio/base_events.py", line 539, in run_forever self._run_once() File "/usr/lib/python3.7/asyncio/base_events.py", line 1767, in _run_once handle._run() File "/usr/lib/python3.7/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/lib/python3.7/asyncio/selector_events.py", line 962, in _read_ready self._protocol.datagram_received(data, addr) File "/opt/fhem/.local/lib/python3.7/site-packages/zeroconf/_core.py", line 295, in datagram_received self.zc.handle_response(msg) File "/opt/fhem/.local/lib/python3.7/site-packages/zeroconf/_core.py", line 735, in handle_response self.record_manager.async_updates_from_response(msg) File "/opt/fhem/.local/lib/python3.7/site-packages/zeroconf/_handlers.py", line 436, in async_updates_from_response self.async_updates_complete() File "/opt/fhem/.local/lib/python3.7/site-packages/zeroconf/_handlers.py", line 369, in async_updates_complete listener.async_update_records_complete() File "/opt/fhem/.local/lib/python3.7/site-packages/zeroconf/_services/browser.py", line 412, in async_update_records_complete self._fire_service_state_changed_event(event) File "/opt/fhem/.local/lib/python3.7/site-packages/zeroconf/_services/browser.py", line 427, in _fire_service_state_changed_event state_change=state_change, File "/opt/fhem/.local/lib/python3.7/site-packages/zeroconf/_services/init.py", line 55, in fire h(**kwargs) File "/opt/fhem/.local/lib/python3.7/site-packages/zeroconf/_services/browser.py", line 178, in on_change getattr(listener, ON_CHANGE_DISPATCH[state_change])(zeroconf, service_type, name) File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/core/discover_fhempy/discover_fhempy.py", line 20, in update_service asyncio.create_task(self.foundDevice(zc, type, name)) File "/usr/lib/python3.7/asyncio/tasks.py", line 325, in create_task return loop.create_task(coro) Traceback (most recent call last): File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/core/discover_fhempy/discover_fhempy.py", line 31, in foundDevice info = await self.zeroconf.async_get_service_info(type, name) File "/opt/fhem/.local/lib/python3.7/site-packages/zeroconf/asyncio.py", line 233, in async_get_service_info info = AsyncServiceInfo(type, name) File "/opt/fhem/.local/lib/python3.7/site-packages/zeroconf/_services/info.py", line 124, in init raise BadTypeInNameException zeroconf._exceptions.BadTypeInNameException

    opened by xerion3800 31
  • Event Listener Errors

    Event Listener Errors

    Hi Dominik,

    the Event Listener creates these errors without stop, which leads in shutdown of fhempy server after a certain time

    Mai 16 12:05:58 pi fhempy[2444]: 2022-05-16 12:05:58,012 - ERROR - fhempy.lib.fhem_pythonbinding: fhempy failed to handle message(id: 44592980) Mai 16 12:05:58 pi fhempy[2444]: 2022-05-16 12:05:58,013 - ERROR - fhempy.lib.fhem_pythonbinding: Failed to handle message: {"args":[24321.9],"defargsh":null,"msgtype":"event","function":"event","FHEMPYTYPE"> Mai 16 12:05:58 pi fhempy[2444]: Traceback (most recent call last): Mai 16 12:05:58 pi fhempy[2444]: File "/home/pi/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 164, in _onMessage Mai 16 12:05:58 pi fhempy[2444]: await self.handle_message(msg, hash) Mai 16 12:05:58 pi fhempy[2444]: File "/home/pi/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 186, in handle_message Mai 16 12:05:58 pi fhempy[2444]: await self.handle_event(hash, msg) Mai 16 12:05:58 pi fhempy[2444]: File "/home/pi/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 209, in handle_event Mai 16 12:05:58 pi fhempy[2444]: event_arr = event.split(": ") Mai 16 12:05:58 pi fhempy[2444]: AttributeError: 'float' object has no attribute 'split' Mai 16 12:05:58 pi fhempy[2444]: During handling of the above exception, another exception occurred: Mai 16 12:05:58 pi fhempy[2444]: Traceback (most recent call last): Mai 16 12:05:58 pi fhempy[2444]: File "/home/pi/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 142, in onMessage Mai 16 12:05:58 pi fhempy[2444]: await self._onMessage(payload) Mai 16 12:05:58 pi fhempy[2444]: File "/home/pi/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 167, in _onMessage Mai 16 12:05:58 pi fhempy[2444]: await self.sendBackError(hash, "fhempy failed to handle message") Mai 16 12:05:58 pi fhempy[2444]: File "/home/pi/.local/lib/python3.9/site-packages/fhempy/lib/fhem_pythonbinding.py", line 120, in sendBackError Mai 16 12:05:58 pi fhempy[2444]: fhem.setFunctionInactive(hash) Mai 16 12:05:58 pi fhempy[2444]: File "/home/pi/.local/lib/python3.9/site-packages/fhempy/lib/fhem.py", line 37, in setFunctionInactive Mai 16 12:05:58 pi fhempy[2444]: element = function_active.pop() Mai 16 12:05:58 pi fhempy[2444]: IndexError: pop from empty list

    opened by jfmennedy 28
  • fhempy docker container

    fhempy docker container

    Kann es sein, dass tinytuya in den Requirements fehlt?

    Hier wird es importiert: https://github.com/fhempy/fhempy/blob/6b3639e76a0eb1c99f93cc73e746acaa3730cf3a/FHEM/bindings/python/fhempy/lib/tuya/tuya.py#L7

    Hier wird von einem Problem im Container berichtet und da fehlt tinytuya: https://github.com/fhem/fhempy-docker/issues/33

    opened by sidey79 24
  • failed to install fhempy - has no attribute 'MutableMapping'

    failed to install fhempy - has no attribute 'MutableMapping'

    Hi,

    ich habe Probleme fhempy zu installieren. Im fhempy Log steht jede Minute

    2021-12-27 02:45:29,557 - ERROR    - __main__: Failed to install fhempy, exit now...
    AttributeError: module 'collections' has no attribute 'MutableMapping'
      File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/_vendor/pyparsing.py", line 943, in <module>
      File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/extern/__init__.py", line 43, in load_module
      File "<frozen importlib._bootstrap>", line 632, in _load_backward_compatible
      File "<frozen importlib._bootstrap>", line 672, in _load_unlocked
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/_vendor/packaging/requirements.py", line 9, in <module>
      File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 77, in <module>
        __import__(modulename, globals(), locals(), level=0)
      File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 33, in vendored
        vendored("pkg_resources")
      File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 73, in <module>
        from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning
      File "/usr/lib/python3/dist-packages/pip/__init__.py", line 22, in <module>
        __import__(pkg_name)
      File "/usr/lib/python3.10/runpy.py", line 110, in _get_module_details
        return _get_module_details(pkg_main_name, error)
      File "/usr/lib/python3.10/runpy.py", line 146, in _get_module_details
        mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
      File "/usr/lib/python3.10/runpy.py", line 187, in _run_module_as_main
    2021-12-27 02:45:29,556 - ERROR    - __main__: Unable to install package fhempy>=0.1.12: Traceback (most recent call last):
    2021-12-27 02:45:28,062 - INFO     - __main__: Attempting install of fhempy>=0.1.12
    2021-12-27 02:45:28,062 - WARNING  - __main__: Failed to load fhempy: No module named 'fhempy'
    

    Python 3.10 habe ich installiert.

     python --version
    Python 2.7.17
    
     python3 --version
    Python 3.10.1
    

    Mit pip3 install fhempy bekomme ich das:

    Traceback (most recent call last):
      File "/usr/bin/pip3", line 9, in <module>
        from pip import main
      File "/usr/lib/python3/dist-packages/pip/__init__.py", line 22, in <module>
        from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning
      File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 73, in <module>
        vendored("pkg_resources")
      File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 33, in vendored
        __import__(modulename, globals(), locals(), level=0)
      File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 77, in <module>
      File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/_vendor/packaging/requirements.py", line 9, in <module>
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 672, in _load_unlocked
      File "<frozen importlib._bootstrap>", line 632, in _load_backward_compatible
      File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/extern/__init__.py", line 43, in load_module
      File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/_vendor/pyparsing.py", line 943, in <module>
    AttributeError: module 'collections' has no attribute 'MutableMapping'
    
    opened by TWART016 20
  • python setup.py egg_info

    python setup.py egg_info" failed with error code 1

    I try to install fhempy but fail

    first i install on my Pi Python 3.7 by executing Code: [Auswählen] sudo apt install python3 python3-pip python3-dev libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libglib2.0-dev libdbus-1-dev bluez libbluetooth-dev and Code: [Auswählen] sudo cpan Protocol::WebSocket

    then i extended the updateosurces in fhem by Code: [Auswählen] update add https://raw.githubusercontent.com/dom... and executed update then i create in fhem Code: [Auswählen] define local_pybinding BindingsIo Python

    it generate as well the Pytonbinding_15733 which get to active, but my local-pybinding is only "opened"

    fhempy_log says: Unable to install package fhempy>=0.1.12: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-9ja41_su/websockets/

    What can i do to get this fixed?

    opened by Heiner1967 19
  • ERROR: empty name in readingsBeginUpdate

    ERROR: empty name in readingsBeginUpdate

    Hallo und gutes neues Jahr!

    Gestern ist mein FHEM-Log mit folgender Fehlermeldung vollgelaufen: 2023.01.04 11:10:34 1: ERROR: empty name in readingsBeginUpdate 2023.01.04 11:10:34 1: stacktrace: 2023.01.04 11:10:34 1: main::readingsBeginUpdate called by (eval 268166) (1) 2023.01.04 11:10:34 1: (eval) called by ./FHEM/10_BindingsIo.pm (561) 2023.01.04 11:10:34 1: main::BindingsIo_processMessage called by ./FHEM/10_BindingsIo.pm (676) 2023.01.04 11:10:34 1: main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296) 2023.01.04 11:10:34 1: main::BindingsIo_Read called by fhem.pl (3976) 2023.01.04 11:10:34 1: main::CallFn called by fhem.pl (784) Use of uninitialized value $d in hash element at fhem.pl line 4691. Use of uninitialized value $name in concatenation (.) or string at fhem.pl line 5030. 2023.01.04 11:10:34 1: readingsUpdate(,state,offline) missed to call readingsBeginUpdate first. 2023.01.04 11:10:34 1: stacktrace: 2023.01.04 11:10:34 1: main::readingsBulkUpdate called by fhem.pl (5012) 2023.01.04 11:10:34 1: main::readingsBulkUpdateIfChanged called by (eval 268166) (1) 2023.01.04 11:10:34 1: (eval) called by ./FHEM/10_BindingsIo.pm (561) 2023.01.04 11:10:34 1: main::BindingsIo_processMessage called by ./FHEM/10_BindingsIo.pm (676) 2023.01.04 11:10:34 1: main::BindingsIo_readWebsocketMessage called by ./FHEM/10_BindingsIo.pm (296) 2023.01.04 11:10:34 1: main::BindingsIo_Read called by fhem.pl (3976) 2023.01.04 11:10:34 1: main::CallFn called by fhem.pl (784) Use of uninitialized value $d in hash element at fhem.pl line 4766. Use of uninitialized value $dev in hash element at fhem.pl line 3839.

    Der Block wiederholt sich innerhalb von ein paar Sekunden 3-mal.

    Leider finde ich keinen direkten Auslöser. Gestern kam es durchgehend, wodurch das Log mal eben auf 250MB angewachsen ist, bis ich den fhempy-Server gestoppt habe.

    Ich habe dann FHEM und auch fhempy auf die aktuelle Version aktualisiert. Heute kommt der dreifach wiederholende Gesamtfehlerblock alle 5 Minuten.

    Ich habe mal alle noch vorhandenen Logs durchforstet und festgestellt, dass es immer wieder einmal Tage mit diesen Einträgen gibt. Dann liegen wieder viele Monate bis zum nächsten Vorkommen dazwischen. Solange es nur ein paar Einträge sind sehe ich kein Problem. Wenn es allerdings, so wie gestern, den Speicher komplett voll schreibt, schon.

    Irgend eine Idee?

    Viele Grüße Dieter

    opened by RockFan89 2
  • tuya_cloud_connector login fehler: request time is invalid

    tuya_cloud_connector login fehler: request time is invalid

    Erst mal noch nen gesundes Neues!

    parallel habe ich zum testen auch tuya_cloud im Einsatz. Die hatte in der Version 0.1.526 gut funktioniert. Jetzt nach dem update aud 0.1.538 bleibt der connector offline und ich bekomme folgenden fehler:

    2023-01-03 12:14:41,656 - ERROR - tuya_cloud_connector: Tuya login error response: {'code': 1013, 'msg': 'request time is invalid', 'success': False, 't': 1672746629471, 'tid': 'd1fcff608b5c11ed9155f6a8c25a9394'}

    opened by klauswitt 1
  • RGB control on RGB+CCT bulb is not working.

    RGB control on RGB+CCT bulb is not working.

    Hi,

    since version 528 local access to my RGB+CCT bulb is working now particially. Colour changing with colour_data_v2 command is not working. Set command is existing but doesnt lead to an colour change. State is still on "Initializing..." but the bulb can be switched by the "switch_led" command.

    On tuya_cloud pendant of the bulb set name on/off can be used for switching and colour_data_v2 is also working.

    Device listing (ids changed):

    Internals: CFGFN
    DEF tuya 4r27hrbrtno6k7q5 2sagtyg4ns8xxozdcukxhn 192.168.123.67 kbuxy3tw7874ya22 3.4 key secret DEVICEID 2sagtyg4ns8xxozdcukxhn FHEMPYTYPE tuya FUUID 639e4b34-f33f-d13c-162d-9d4d95c2509f7dc8 IODev fhempy_local NAME tuya_local_2sagtyg4ns8xxozdcukxhn NR 570 PYTHONTYPE tuya STATE Initializing... TYPE fhempy eventCount 39 READINGS: 2022-12-18 00:05:26 active_time 1670189824 2022-12-18 00:05:26 biz_type 18 2022-12-18 23:07:31 bright_value_v2 10.0 2022-12-18 00:05:26 category dj 2022-12-18 00:05:26 countdown_1 0.0 2022-12-18 00:05:26 create_time 1670189824 2022-12-18 00:05:32 cycle_timing AAAA 2022-12-18 00:05:26 do_not_disturb off 2022-12-18 00:05:26 icon smart/icon/ay1525830333575gYi61/d9a5f9bcc5fa2d6c047b8a56b2e691b0.png 2022-12-18 00:05:26 id 2sagtyg4ns8xxozdcukxhn 2022-12-18 00:05:26 ip 65.131.124.168 2022-12-18 00:05:26 lat 50.1365 2022-12-18 00:05:26 local_key kbuxy3tw7874ya22 2022-12-18 00:05:26 lon 8.6244 2022-12-18 00:05:26 name M-TCV1 2022-12-18 23:06:08 online 1 2022-12-18 00:05:26 owner_id 72805765 2022-12-18 00:05:32 power_memory AAEAAAAAAAABHgAA 2022-12-18 00:05:26 product_id 4r27hrbrtno6k7q5 2022-12-18 00:05:26 product_name M-TCV1 2022-12-18 00:05:32 random_timing AAAA 2022-12-18 00:05:31 rhythm_mode AAAAAAA= 2022-12-18 00:05:31 sleep_mode AAA= 2022-12-18 23:06:03 state Initializing... 2022-12-18 00:05:26 sub 0 2022-12-18 23:07:39 switch_led off 2022-12-18 00:05:26 temp_value_v2 56.0 2022-12-18 00:05:26 time_zone +01:00 2022-12-18 00:05:26 uid eu1669756723579ISkWj 2022-12-18 00:05:26 update_time 1671138004 2022-12-18 00:05:26 uuid 8243228dfa810dd7 2022-12-18 00:05:31 wakeup_mode AAA= 2022-12-18 23:07:23 work_mode white args: tuya_local_2sagtyg4ns8xxozdcukxhn fhempy tuya 4r27hrbrtno6k7q5 2sagtyg4ns8xxozdcukxhn 192.168.178.47 kbuxy3tw7874ya22 3.4 key secret argsh: Attributes: alias M-TCV1 dp_20 switch_led dp_209 cycle_timing dp_21 work_mode dp_210 random_timing dp_22 bright_value_v2 dp_23 temp_value_v2 dp_24 colour_data_v2 dp_25 scene_data_v2 dp_26 countdown_1 dp_27 music_data dp_28 control_data dp_30 rhythm_mode dp_31 sleep_mode dp_32 wakeup_mode dp_33 power_memory dp_34 do_not_disturb group tuya room fhempy tuya_spec_functions [{'code': 'switch_led', 'dp_id': 20, 'type': 'Boolean', 'values': {}, 'desc': 'switch led'}, {'code': 'work_mode', 'dp_id': 21, 'type': 'Enum', 'values': {'range': ['white', 'colour', 'scene', 'music']}, 'desc': 'work mode'}, {'code': 'bright_value_v2', 'dp_id': 22, 'type': 'Integer', 'values': {'min': 10, 'max': 1000, 'scale': 0, 'step': 1}, 'desc': 'bright value v2'}, {'code': 'temp_value_v2', 'dp_id': 23, 'type': 'Integer', 'values': {'min': 0, 'max': 1000, 'scale': 0, 'step': 1}, 'desc': 'temp value v2'}, {'code': 'colour_data_v2', 'dp_id': 24, 'type': 'Json', 'values': {'h': {'min': 0, 'scale': 0, 'unit': '', 'max': 360, 'step': 1}, 's': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}, 'v': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}}, 'desc': 'colour data v2'}, {'code': 'scene_data_v2', 'dp_id': 25, 'type': 'Json', 'values': {'scene_num': {'min': 1, 'scale': 0, 'max': 8, 'step': 1}, 'scene_units': {'unit_change_mode': {'range': ['static', 'jump', 'gradient']}, 'unit_switch_duration': {'min': 0, 'scale': 0, 'max': 100, 'step': 1}, 'unit_gradient_duration': {'min': 0, 'scale': 0, 'max': 100, 'step': 1}, 'bright': {'min': 0, 'scale': 0, 'max': 1000, 'step': 1}, 'temperature': {'min': 0, 'scale': 0, 'max': 1000, 'step': 1}, 'h': {'min': 0, 'scale': 0, 'unit': '', 'max': 360, 'step': 1}, 's': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}, 'v': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}}}, 'desc': 'scene data v2'}, {'code': 'countdown_1', 'dp_id': 26, 'type': 'Integer', 'values': {'unit': 's', 'min': 0, 'max': 86400, 'scale': 0, 'step': 1}, 'desc': 'countdown 1'}, {'code': 'music_data', 'dp_id': 27, 'type': 'Json', 'values': {'change_mode': {'range': ['direct', 'gradient']}, 'bright': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}, 'temperature': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}, 'h': {'min': 0, 'scale': 0, 'unit': '', 'max': 360, 'step': 1}, 's': {'min': 0, 'scale': 0, 'unit': '', 'max': 255, 'step': 1}, 'v': {'min': 0, 'scale': 0, 'unit': '', 'max': 255, 'step': 1}}, 'desc': 'music data'}, {'code': 'control_data', 'dp_id': 28, 'type': 'Json', 'values': {'change_mode': {'range': ['direct', 'gradient']}, 'bright': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}, 'temperature': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}, 'h': {'min': 0, 'scale': 0, 'unit': '', 'max': 360, 'step': 1}, 's': {'min': 0, 'scale': 0, 'unit': '', 'max': 255, 'step': 1}, 'v': {'min': 0, 'scale': 0, 'unit': '', 'max': 255, 'step': 1}}, 'desc': 'control data'}, {'code': 'rhythm_mode', 'dp_id': 30, 'type': 'Raw', 'values': {'maxlen': 255}, 'desc': 'rhythm mode'}, {'code': 'sleep_mode', 'dp_id': 31, 'type': 'Raw', 'values': {'maxlen': 255}, 'desc': 'sleep mode'}, {'code': 'wakeup_mode', 'dp_id': 32, 'type': 'Raw', 'values': {'maxlen': 255}, 'desc': 'wakeup mode'}, {'code': 'power_memory', 'dp_id': 33, 'type': 'Raw', 'values': {}, 'desc': 'power memory'}, {'code': 'do_not_disturb', 'dp_id': 34, 'type': 'Boolean', 'values': {}, 'desc': 'do not disturb'}, {'code': 'cycle_timing', 'dp_id': 209, 'type': 'Raw', 'values': {}, 'desc': 'cycle timing'}, {'code': 'random_timing', 'dp_id': 210, 'type': 'Raw', 'values': {}, 'desc': 'random timing'}] tuya_spec_status [{'code': 'switch_led', 'dp_id': 20, 'type': 'Boolean', 'values': {}}, {'code': 'work_mode', 'dp_id': 21, 'type': 'Enum', 'values': {'range': ['white', 'colour', 'scene', 'music']}}, {'code': 'bright_value_v2', 'dp_id': 22, 'type': 'Integer', 'values': {'min': 10, 'max': 1000, 'scale': 0, 'step': 1}}, {'code': 'temp_value_v2', 'dp_id': 23, 'type': 'Integer', 'values': {'min': 0, 'max': 1000, 'scale': 0, 'step': 1}}, {'code': 'colour_data_v2', 'dp_id': 24, 'type': 'Json', 'values': {'h': {'min': 0, 'scale': 0, 'unit': '', 'max': 360, 'step': 1}, 's': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}, 'v': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}}}, {'code': 'scene_data_v2', 'dp_id': 25, 'type': 'Json', 'values': {'scene_num': {'min': 1, 'scale': 0, 'max': 8, 'step': 1}, 'scene_units': {'unit_change_mode': {'range': ['static', 'jump', 'gradient']}, 'unit_switch_duration': {'min': 0, 'scale': 0, 'max': 100, 'step': 1}, 'unit_gradient_duration': {'min': 0, 'scale': 0, 'max': 100, 'step': 1}, 'bright': {'min': 0, 'scale': 0, 'max': 1000, 'step': 1}, 'temperature': {'min': 0, 'scale': 0, 'max': 1000, 'step': 1}, 'h': {'min': 0, 'scale': 0, 'unit': '', 'max': 360, 'step': 1}, 's': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}, 'v': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}}}}, {'code': 'countdown_1', 'dp_id': 26, 'type': 'Integer', 'values': {'unit': 's', 'min': 0, 'max': 86400, 'scale': 0, 'step': 1}}, {'code': 'music_data', 'dp_id': 27, 'type': 'Json', 'values': {'change_mode': {'range': ['direct', 'gradient']}, 'bright': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}, 'temperature': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}, 'h': {'min': 0, 'scale': 0, 'unit': '', 'max': 360, 'step': 1}, 's': {'min': 0, 'scale': 0, 'unit': '', 'max': 255, 'step': 1}, 'v': {'min': 0, 'scale': 0, 'unit': '', 'max': 255, 'step': 1}}}, {'code': 'control_data', 'dp_id': 28, 'type': 'Json', 'values': {'change_mode': {'range': ['direct', 'gradient']}, 'bright': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}, 'temperature': {'min': 0, 'scale': 0, 'unit': '', 'max': 1000, 'step': 1}, 'h': {'min': 0, 'scale': 0, 'unit': '', 'max': 360, 'step': 1}, 's': {'min': 0, 'scale': 0, 'unit': '', 'max': 255, 'step': 1}, 'v': {'min': 0, 'scale': 0, 'unit': '', 'max': 255, 'step': 1}}}, {'code': 'rhythm_mode', 'dp_id': 30, 'type': 'Raw', 'values': {'maxlen': '255'}}, {'code': 'sleep_mode', 'dp_id': 31, 'type': 'Raw', 'values': {'maxlen': '255'}}, {'code': 'wakeup_mode', 'dp_id': 32, 'type': 'Raw', 'values': {'maxlen': '255'}}, {'code': 'power_memory', 'dp_id': 33, 'type': 'Raw', 'values': {}}, {'code': 'do_not_disturb', 'dp_id': 34, 'type': 'Boolean', 'values': {}}, {'code': 'cycle_timing', 'dp_id': 209, 'type': 'Raw', 'values': {}}, {'code': 'random_timing', 'dp_id': 210, 'type': 'Raw', 'values': {}}]

    opened by klauswitt 3
  • skodaconnect: setting vor EV Cars, feedback message

    skodaconnect: setting vor EV Cars, feedback message

    added a setting for ev-Cars corrected the slider for chargelimit and current
    added some glue code to set state to "connected" and "set_..."

    opened by fbuescher 1
  • Googlecast Verbesserungsvorschläge

    Googlecast Verbesserungsvorschläge

    Hello Dominik,

    Vorab : ich finde es großartig was du hier alles ablieferst und zusatzmodule für FHEM raus bringst. Zur Zeit benutze ich den Tuya-cloud-connector und den Googlecast.

    Da ich Zuhause mehrere Nest Audios mit einander in einer Gruppe habe würde ich diese gerne mit dem Googlecast Modul speisen. Leider kann ich kein YouTube Link in den Gruppen abspielen. Einzeln klappt es. Vielleicht kann man dieses noch fixen ?

    Wie wäre es evtl auch die Gruppen mit einer YouTube Playlist zu speisen ? Und eventuell noch eine Shuffle funktion für die Playlists.

    Danke Dir und weiter so =)

    opened by saulous 2
Releases(v0.1.540)
Owner
Dominik
Dominik
Fairstructure - Structure your data in a FAIR way using google sheets or TSVs

Fairstructure - Structure your data in a FAIR way using google sheets or TSVs. These are then converted to LinkML, and from there other formats

Linked data Modeling Language 23 Dec 01, 2022
Whatsapp-bot - Whatsapp chatbot build with python and twilio

Whatsapp-bot This is a Whatsapp Chatbot that responds with quotes, reply owners

arinzejustinng 1 Jan 14, 2022
EpikCord.py - This is an API Wrapper for Discord's API for Python

EpikCord.py - This is an API Wrapper for Discord's API for Python! We've decided not to fork discord.py and start completely from scratch for a new, better structuring system!

EpikHost 28 Oct 10, 2022
Trading Strategies (~50%) developed by GreenT on QuantConnect platform over the autumn quarter

Trading Strategies ~50% of codes from the Applied Financial Technology Course. Contributors: Claire W. Derrick T. Frank L. Utkarsh T. Course Leads: Dy

Utkarsh 2 Feb 07, 2022
The best Fortnite all-in-one lobby bot!

Recommended to use on Python v3.8 stable for bot. FLB The best free Fortnite lobby bot experience! Discord server: PDennSploit Softworks LLC Getting S

Payson Holmes 2 May 11, 2022
A free, minimal, lightweight, cross-platform, easily expandable Twitch IRC/API bot.

parky's twitch bot A free, minimal, lightweight, cross-platform, easily expandable Twitch IRC/API bot. Features 🔌 Connect to Twitch IRC chat! 🔌 Conn

Andreas Schneider 10 Dec 30, 2022
Twitter bot to know the number of dislikes of a YouTube video

YT_dislikes is a twitter bot that allows you to know the number of dislikes (and likes) of a YouTube video. Now it is not possible to see the number o

1 Jan 08, 2022
Repositorio que contiene el material mostrado en la primera PyCON de Chile

Buenas prácticas de desarrollo en Python Repositorio que contiene el material mostrado en la primera PyCON de Chile, realizada del 5 al 7 de Noviembre

Erick Castillo 5 Feb 01, 2022
Battle Pass farming tft bot

Tft bot Bot para farmar pontos do Passe de Batalha do TFT Descrição A cada partida de tft jogada você ganha 100 pontos no passe, porém você não precis

Leonardo Gonçalves 4 Jan 27, 2022
Linkvertise-bypass - Tools pour bypass les liens Linkvertise

Installation | Important | Discord 🌟 Comme Linkvertise bypass est gratuit, les

GalackQSM 3 Aug 31, 2022
TwitterBot-ImageCollector - Twitter bot that collects images from likes saves the image

TwitterBot-ImageCollector Bot de Twitter que recolecta imagenes a partir de los

Gx3 Studios 4 Jun 01, 2022
A superb Telegram VoiceChat Player. Powered by FalconRoBo.

𝕱𝖆𝖑𝖈𝖔𝖓𝕸𝖚𝖘𝖎𝖈 A sᴜᴘᴇʀʙ Tᴇʟᴇɢʀᴀᴍ VᴏɪᴄᴇCʜᴀᴛ Pʟᴀʏᴇʀ, ᴍᴀᴅᴇ ᴜsɪɴɢ Lᴀᴛᴇsᴛ Pʏᴛʜᴏɴ ᴀɴᴅ Pʏʀᴏɢʀᴀᴍ. 𝑷𝒐𝒘𝒆𝒓𝒆𝒅 𝒃𝒚 𝑭𝒂𝒍𝒄𝒐𝒏𝑹𝒐𝑩𝒐 FalconMusic

FalconRoBo 2 Oct 21, 2022
Chatbot construido com o framework Rasa para responder dúvidas referentes ao COVID-19.

Racom Chatbot Chatbot construido com o framework Rasa. Como executar Necessário instalar Docker e Docker Compose. Para inicializar a aplicação, basta

Vinícius Souza 4 Jul 28, 2022
Telegram 聊天機器人,追蹤momo降價、重新上架

簡介 price-tracker-bot is a telegram bot that can trace the price on momoshop. 功能 降價通知 上架通知 收藏商品 清空已收藏商品 顯示目前已收藏商品 Demo Bot Telegram bot search @momo_pr

92 Dec 28, 2022
A Happy and lightweight Python Package that Provides an API to search for articles on Google News and returns a JSON response.

A Happy and lightweight Python Package that Provides an API to search for articles on Google News and returns a JSON response.

Muhammad Abdullah 273 Dec 31, 2022
Python wrapper for Revolt API

defectio is a direct implementation of the entire Revolt API and provides a way to authenticate and start communicating with Revolt servers. Similar interface to discord.py

Leon Bowie 26 Sep 18, 2022
Biblioteca Python que extrai dados de mercado do Bacen (Séries Temporais)

Pybacen This library was developed for economic analysis in the Brazilian scenario (Investments, micro and macroeconomic indicators) Installation Inst

42 Jan 05, 2023
Discord bot for the IOTA Wiki

IOTA Wiki Bot Discord bot for the IOTA Wiki Report Bug · Request Feature About The Project This is a Discord bot for the IOTA Wiki. It's currently use

IOTA Community 2 Nov 14, 2021
This Is A Python Program To Showcase Two Modules (Gratient And Fade)

Hellooo, It's PndaBoi Here! This Is A Python Program To Showcase Two Modules (Gratient And Fade). I Really Like Both Of These Modules So I Decided To

PndaBoi! 6 May 31, 2022
This is a Anti Channel Ban Robots

AntiChannelBan This is a Anti Channel Ban Robots delete and ban message sent by channels Heroku Deployment 💜 Heroku is the best way to host ur Projec

BᵣₐyDₑₙ 25 Dec 10, 2021