معرفی شرکت ها


fhem-0.6.5


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Python API for FHEM home automation server
ویژگی مقدار
سیستم عامل -
نام فایل fhem-0.6.5
نام fhem
نسخه کتابخانه 0.6.5
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Dominik Schloesser
ایمیل نویسنده dsc@dosc.net
آدرس صفحه اصلی http://github.com/domschl/python-fhem
آدرس اینترنتی https://pypi.org/project/fhem/
مجوز MIT
[![PyPI version](https://badge.fury.io/py/fhem.svg)](https://badge.fury.io/py/fhem) [![TravisCI Test Status](https://travis-ci.org/domschl/python-fhem.svg?branch=master)](https://travis-ci.org/domschl/python-fhem) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/116e9e988d934aaa9cfbfa5b8aef7f78)](https://www.codacy.com/app/dominik.schloesser/python-fhem?utm_source=github.com&utm_medium=referral&utm_content=domschl/python-fhem&utm_campaign=Badge_Grade) [![License](http://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat)](LICENSE) [![Docs](https://img.shields.io/badge/docs-stable-blue.svg)](https://domschl.github.io/python-fhem/index.html) # python-fhem Python FHEM (home automation server) API Simple API to connect to the [FHEM home automation server](https://fhem.de/) via sockets or http(s), using the telnet or web port on FHEM with optional SSL (TLS) and password or basicAuth support. **Note:** Python 2.x deprecation warning. `python-fhem` versions 0.6.x will be the last versions supporting Python 2.x. ## Installation ### PIP installation (PyPI) See the [PyPI page](https://pypi.python.org/pypi?:action=display&name=fhem) for additional information about the package. ```bash pip install [-U] fhem ``` ### From source In `python-fhem/fhem`: Get a copy of README for the install (required by setup.py): ```bash cp ../README.md . ``` then: ```bash pip install [-U] . ``` or, as developer installation, allowing inplace editing: ```bash pip install [-U] -e . ``` ## History * 0.6.4 (2020-03-24): Bug fix for [#21](https://github.com/domschl/python-fhem/issues/21), Index out-of-range in event loop background thread for non-standard event formats. * 0.6.3 (2019-09-26): Bug fixes for socket connection exceptions [#18](https://github.com/domschl/python-fhem/issues/18) by [TK67](https://forum.fhem.de/index.php/topic,63816.msg968089.html#msg968089) [FHEM forum] and EventQueue crashes in datetime parsing [#19](https://github.com/domschl/python-fhem/issues/19) by party-pansen. Self-test now also covers FhemEventQueue() class. * 0.6.2 (2019-06-06): Bug fix, get_device_reading() could return additional unrelated readings. [#14](https://github.com/domschl/python-fhem/issues/14). Default blocking mode for telnet has been set to non-blocking. This can be changed with parameter `blocking=True` (telnet only). Use of HTTP(S) is recommended (superior performance and faster) * [build environment] (2019-07-22): Initial support for TravisCI automated self-tests. * 0.6.1 (2018-12-26): New API used telnet non-blocking on get which caused problems (d1nd141, [#12](https://github.com/domschl/python-fhem/issues/12)), fixed by using blocking telnet i/o. * 0.6.0 (2018-12-16): Enhanced and expanded get-API (Andre0512 [#10](https://github.com/domschl/python-fhem/pull/10)). See [online documentation](https://domschl.github.io/python-fhem/doc/_build/html/index.html), especially the new get() method for details on the new functionality. Proprietary logging functions marked deprecated. * 0.5.5 (2018-08-26): Documentation cleanup, automatic documentation with sphinx. * 0.5.3 (2018-08-26): Fix syntax in exception handler * 0.5.2 (2018-06-09): Fix for crash on invalid csrf-return * 0.5.1 (2018-01-29): Removed call to logging.basicConfig(), since it was unnecessary and causes breakage if other modules use this too. (heilerich [#8](https://github.com/domschl/python-fhem/issues/8)) * 0.5: API cleanup (breaking change!). Removed deprecated functions: sendCmd, sendRcvCmd, getDevState, getDevReading (replaced with PEP8 conform names, s.b.). Renamed parameter ssl= -> use_ssl= * 0.4.4: Merged python logger support (ChuckMoe, [#6](https://github.com/domschl/python-fhem/commit/25843d79986031cd654f87781f37d1266d0b116b)) * 0.4.3: Merged API extensions for getting time of last reading change (logi85, [#5](https://github.com/domschl/python-fhem/commit/11719b41b29a8c2c6192210e3848d9d8aedc5337)) * 0.4.2: deprecation error message fixed (Ivermue, [#4](https://github.com/domschl/python-fhem/commit/098cd774f2f714267645adbf2ee4556edf426229)) * 0.4.0: csrf token support (FHEM 5.8 requirement) ## Usage ### Set and get transactions Default telnet connection without password and without encryption: ```python import logging import fhem logging.basicConfig(level=logging.DEBUG) ## Connect via HTTP, port 8083: fh = fhem.Fhem("myserver.home.org", protocol="http", port=8083) # Send a command to FHEM (this automatically connects() in case of telnet) fh.send_cmd("set lamp on") # Get temperatur of LivingThermometer temp = fh.get_device_reading("LivingThermometer", "temperature") # return a dictionary with reading-value and time of last change: # {'Value': 25.6, 'Time': datetime.datetime(2019, 7, 27, 8, 19, 24)} print("The living-room temperature is {}, measured at {}".format(temp["Value"], temp["Time"])) # Output: The living-room temperature is 25.6, measured at 2019-07-27 08:19:24 # Get a dict of kitchen lights with light on: lights = fh.get_states(group="Kitchen", state="on", device_type="light", value_only=True) # Get all data of specific tvs tvs = fh.get(device_type=["LGTV", "STV"]) # Get indoor thermometers with low battery low = fh.get_readings(name=".*Thermometer", not_room="outdoor", filter={"battery!": "ok"}) # Get temperature readings from all devices that have a temperature reading: all_temps = fh.get_readings('temperature') ``` HTTPS connection: ```python fh = fhem.Fhem('myserver.home.org', port=8085, protocol='https') ``` Self-signed certs are accepted (since no `cafile` option is given). To connect via https with SSL and basicAuth: ```python fh = fhem.Fhem('myserver.home.org', port=8086, protocol='https', cafile=mycertfile, username="myuser", password="secretsauce") ``` If no public certificate `cafile` is given, then self-signed certs are accepted. ### Connect via default protocol telnet, default port 7072: (deprecated) *Note*: Connection via telnet is not reliable for large requests, which includes everything that uses wildcard-funcionality. ```python fh = fhem.Fhem("myserver.home.org") ``` To connect via telnet with SSL and password: ```python fh = fhem.Fhem("myserver.home.org", port=7073, use_ssl=True, password='mysecret') fh.connect() if fh.connected(): # Do things ``` It is recommended to use HTTP(S) to connect to Fhem instead. ## Event queues (currently telnet only) The library can create an event queue that uses a background thread to receive and dispatch FHEM events: ```python try: # Python 3.x import queue except: # Python 2.x import Queue as queue import fhem que = queue.Queue() fhemev = fhem.FhemEventQueue("myserver.home.org", que) while True: ev = que.get() # FHEM events are parsed into a Python dictionary: print(ev) que.task_done() ``` # Documentation see: [python-fhem documentation](https://domschl.github.io/python-fhem/index.html) # References * [Fhem home automation project page](https://fhem.de/) * [Fhem server wiki](https://wiki.fhem.de/)


نحوه نصب


نصب پکیج whl fhem-0.6.5:

    pip install fhem-0.6.5.whl


نصب پکیج tar.gz fhem-0.6.5:

    pip install fhem-0.6.5.tar.gz