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:rc_dot@green off:rc_dot@grey 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
Python binding to the OneTimeSecret API

Thin Python binding for onetimesecret.com API. Unicode-safe. Description of API itself you can find here: https://onetimesecret.com/docs/api Usage:

Vladislav Stepanov 10 Jun 12, 2022
Python binding for Terraform.

Python libterraform Python binding for Terraform. Installation $ pip install libterraform NOTE Please install version 0.3.1 or above, which solves the

Prodesire 28 Dec 29, 2022
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
A Python IRC bot with dynamically loadable modules

pybot This is a modular, plugin-based IRC bot written in Python. Plugins can bedynamically loaded and unloaded at runtime. A design goal is the abilli

Jeff Kent 1 Aug 20, 2021
Botto - A discord bot written in python that uses the hikari and lightbulb modules to make this bot

❓ About Botto Hi! This is botto, a discord bot written in python that uses the h

null 3 Sep 13, 2022
❤️ Hi There Im EzilaX ❤️ A next gen powerful telegram group manager bot 😱 for manage your groups and have fun with other cool modules Made By Sadew Jayasekara 🔥

❤️ EzilaX v1 ❤️ Unmaintained. The new repo of @EzilaXBot is Public. (It is no longer based on this source code. The completely rewritten bot available

Sadew Jayasekara 18 Nov 24, 2021
❤️A next gen powerful telegram group manager bot for manage your groups and have fun with other cool modules

Natsuki Based on Python Telegram Bot Contributors Video Tutorial: Complete guide on deploying @TheNatsukiBot's clone on Heroku. ☆ Video by Sadew Jayas

Pawan Theekshana 8 Oct 6, 2022
Amanda-A next gen powerful telegram group manager bot for manage your groups and have fun with other cool modules.

Amanda-A next gen powerful telegram group manager bot for manage your groups and have fun with other cool modules.

Team Amanda 4 Oct 21, 2022
This repository contains modules that extend / modify parts of Odoo ERP

Odoo Custom Addons This repository contains addons that extend / modify parts of Odoo ERP. Addons list account_cancel_permission Only shows the button

Daniel Luque 3 Dec 28, 2022
Cloudshell-sandbox-reporter - Helper modules and classes for writing to Cloudshell sandbox console

Cloudshell Sandbox Reporter This project provides utility classes for formatting

QualiLab 2 Sep 7, 2022
Unofficial instagram API, give you access to ALL instagram features (like, follow, upload photo and video and etc)! Write on python.

Instagram-API-python Unofficial Instagram API to give you access to ALL Instagram features (like, follow, upload photo and video, etc)! Written in Pyt

Vladimir Bezrukov 1 Nov 19, 2021
Check and write all account info + Check nitro on account

Discord-Token-Checker Check and write all account info + Check nitro on account Also check https://github.com/GuFFy12/Discord-Token-Parser (Parse disc

null 36 Jan 1, 2023
This project is based on discord.py and is meant to be a 'Quick Start Bot' to cut down on the time it takes to write complex discord bots.

This project is based on discord.py and is meant to be a 'Quick Start Bot' to cut down on the time it takes to write complex discord bots.

Alec Ibarra 1 Mar 3, 2022
Check AWS S3 instances for read/write/delete access

s3sec Test AWS S3 buckets for read/write/delete access This tool was developed to quickly test a list of s3 buckets for public read, write and delete

0xmoot 114 Dec 6, 2022
Telegram Google Translater Bot Can Translate Any Language To Your Selected Language

?? TELEGRAM GOOGLE TRANSLATER ?? • ⚡ INSTALLING ⚡ • • ✅ OFFICIAL SUPPORTS ✅ •

⚝ANKIT KUMAR⚝ 2 Jan 16, 2022
Official Python client for the MonkeyLearn API. Build and consume machine learning models for language processing from your Python apps.

MonkeyLearn API for Python Official Python client for the MonkeyLearn API. Build and run machine learning models for language processing from your Pyt

MonkeyLearn 157 Nov 22, 2022
Python library for the DeepL language translation API.

The DeepL API is a language translation API that allows other computer programs to send texts and documents to DeepL's servers and receive high-quality translations. This opens a whole universe of opportunities for developers: any translation product you can imagine can now be built on top of DeepL's best-in-class translation technology.

DeepL 535 Jan 4, 2023
Asynchronous and also synchronous non-official QvaPay client for asyncio and Python language.

Asynchronous and also synchronous non-official QvaPay client for asyncio and Python language. This library is still under development, the interface could be changed.

Leynier Gutiérrez González 8 Sep 18, 2021