• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

rytilahti / python-miio
72%
master: 74%

Build:
Build:
LAST BUILD BRANCH: fix/bump_cryptography_dep
DEFAULT BRANCH: master
Repo Added 26 Sep 2017 10:59PM UTC
Files 47
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH revise_broadcast_discovery
branch: revise_broadcast_discovery
CHANGE BRANCH
x
Reset
  • revise_broadcast_discovery
  • 0.3.0
  • 0.3.1
  • 0.3.2
  • 0.3.3
  • 0.3.4
  • 0.3.5
  • 0.3.6
  • 0.3.7
  • 0.3.8
  • 0.3.9
  • 0.4.0
  • 0.4.1
  • 0.4.2
  • 0.4.3
  • 0.4.4
  • 0.4.5
  • 0.4.6
  • 0.4.7
  • 0.4.8
  • 0.5.0
  • 0.5.0.1
  • 0.5.1
  • 0.5.2
  • 0.5.2.1
  • 0.5.3
  • add-license-1
  • add_miottemplate
  • add_missing_docu
  • add_readthedocs_config
  • add_timezone_config
  • add_unittest_base
  • add_unpause
  • add_updater
  • add_viomi_v8
  • airpurifiermiot/fix/wrong_property_command
  • allow_discovery_without_ip_token
  • androidbackup_runtime_dep
  • apidocs_update
  • appdirs_for_cachefile
  • aqaracam
  • azure-pipelines
  • be_less_noisy_on_retries
  • blackify
  • bump_python_req
  • change_volume
  • cleanup_property_getting
  • common_cli_improvements
  • doc/apidoc_build
  • doc/improve_doc_presentation
  • doc/separate_modules
  • drop_pretty_cron
  • drop_py34_support
  • enumize
  • errors_to_exceptions
  • extend_yeelight
  • extend_yeelight_support
  • extract_android_backups
  • fanspeed_reporting
  • feat/add_version_flag
  • feat/labeler
  • feat/separete_info_exception
  • feat/vacuum/waterflow
  • feat/viomi/mopping_mode
  • feature/viomi/add_mop_state
  • fix-serial-number
  • fix/bump_cryptography_dep
  • fix/is_on_for_segment_cleaning
  • fix/raw_id_to_device
  • fix/readthedocs_build
  • fix/vacuum/fix_waterbox_enum
  • fix/viomi/rename_mop_mode
  • fix/viomi_bintype
  • fix/viomi_cli
  • fix/xiaowa_timezone
  • fix_click7_resultcallback
  • fix_empty_cleaning_history
  • fix_flake8
  • fix_gateway_ctor
  • fix_last_clean_details
  • fix_protocol
  • force_empty_params
  • gateway
  • generalize_config_router
  • improve_checks
  • improve_chuangmi
  • improve_handshaking
  • initial_vacuum_tests
  • janitor/cleanup_dependency_pins
  • master
  • miot_basics
  • new/chuangmi_hmi208
  • poetry_convert
  • powerstrip_fixes
  • prepare_050
  • prepare_0501
  • prepare_052
  • prepare_0521
  • proper_coverage
  • proper_info_warning
  • refactor/enumtype_default_incasesensitive
  • refactor/silent_discovery_retries
  • refactor_clean_details
  • release/0.5.3
  • release_032
  • release_033
  • release_034
  • release_042
  • release_044
  • release_051
  • remove_labeler
  • rename-package
  • replace_stop_with_pause
  • revisit_contributing
  • rytilahti-patch-1
  • send_add_extra_params
  • sound_commands
  • update_docs
  • use_upstream_android_backup
  • util_refactor
  • vacuum/fix/fanspeed_detection
  • vacuum_carpet_mode
  • vacuum_fix_got_error
  • vacuum_gen2
  • vacuum_m1s
  • vacuum_map_improv
  • vacuum_proper_wrap_dndstatus
  • vacuum_timeouts
  • version_031
  • viomi
  • viomi_extend
  • wifispeaker
  • yeelight_bedside_fixes
  • yeelight_token_extract
  • zimi_clock

pending completion
1108

push

travis-ci

rytilahti
Revise device (broadcast-using) discovery process

This is the initial commit to rework the handshake/discovery process,
separating them to separate entities.

The discovery part from Device class is moved into MiIODiscovery class usable for broadcast discovery of available devices.
Also, instead of printing out the details from discovered devices, a list of Devices is being returned.
The discover() method of the class is extended to allow discovery on all network interfaces (instead of using 255.255.255.255),
making it easier to perform the initial configuration of non-provisioned devices and/or work with devices in other subnets.

Although the change cause some duplicate code (mainly the handshake payload),
this will make the responsibilities of corresponding classes clearer and code more usable for 3rd party developers.

There will be cleanups and (likely also) renamings of some of the parts, but I wanted to make
this available for others to comment.

TODO:
* Upcasting the Device to a corresponding implementation class (miIO.info model information could be useful, too..)
* Decide how to handle the returning of discovered devices. Use a separate DiscoveredDevice class which can be used
  to initialize the real device, or use the existing Device and do the casting trick?

Related to #152 (and maybe #422).

400 of 716 branches covered (55.87%)

Branch coverage included in aggregate %.

2667 of 3545 relevant lines covered (75.23%)

1.5 hits per line

Relevant lines Covered
Build:
Build:
3545 RELEVANT LINES 2667 COVERED LINES
1.5 HITS PER LINE
Source Files on revise_broadcast_discovery
  • List 0
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
1108 revise_broadcast_discovery Revise device (broadcast-using) discovery process This is the initial commit to rework the handshake/discovery process, separating them to separate entities. The discovery part from Device class is moved into MiIODiscovery class usable for broad... push 12 Dec 2018 07:30PM UTC rytilahti travis-ci pending completion  
1109 revise_broadcast_discovery Revise device (broadcast-using) discovery process This is the initial commit to rework the handshake/discovery process, separating them to separate entities. The discovery part from Device class is moved into MiIODiscovery class usable for broad... Pull #437 12 Dec 2018 07:29PM UTC web-flow travis-ci pending completion  
See All Builds (1672)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc