mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	network interface ordering, and missing implementation
This commit is contained in:
		| @@ -62,6 +62,7 @@ class ModemComponent : public Component { | |||||||
|   void enable_cmux() { this->cmux_ = true; } |   void enable_cmux() { this->cmux_ = true; } | ||||||
|   void add_init_at_command(const std::string &cmd) { this->init_at_commands_.push_back(cmd); } |   void add_init_at_command(const std::string &cmd) { this->init_at_commands_.push_back(cmd); } | ||||||
|   bool is_connected() { return this->component_state_ == ModemComponentState::CONNECTED; } |   bool is_connected() { return this->component_state_ == ModemComponentState::CONNECTED; } | ||||||
|  |   bool is_disabled() { return this->component_state_ == ModemComponentState::DISABLED; } | ||||||
|   std::string send_at(const std::string &cmd); |   std::string send_at(const std::string &cmd); | ||||||
|   float get_signal_strength(); |   float get_signal_strength(); | ||||||
|   bool get_imei(std::string &result); |   bool get_imei(std::string &result); | ||||||
|   | |||||||
| @@ -16,22 +16,25 @@ | |||||||
| namespace esphome { | namespace esphome { | ||||||
| namespace network { | namespace network { | ||||||
|  |  | ||||||
|  | // The order of the components is important: WiFi should come after any possible main interfaces (it may be used as | ||||||
|  | // an AP that use a previous interface for NAT). | ||||||
|  |  | ||||||
| bool is_connected() { | bool is_connected() { | ||||||
| #ifdef USE_ETHERNET | #ifdef USE_ETHERNET | ||||||
|   if (ethernet::global_eth_component != nullptr && ethernet::global_eth_component->is_connected()) |   if (ethernet::global_eth_component != nullptr && ethernet::global_eth_component->is_connected()) | ||||||
|     return true; |     return true; | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #ifdef USE_WIFI |  | ||||||
|   if (wifi::global_wifi_component != nullptr) |  | ||||||
|     return wifi::global_wifi_component->is_connected(); |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
| #ifdef USE_MODEM | #ifdef USE_MODEM | ||||||
|   if (modem::global_modem_component != nullptr) |   if (modem::global_modem_component != nullptr) | ||||||
|     return modem::global_modem_component->is_connected(); |     return modem::global_modem_component->is_connected(); | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #ifdef USE_WIFI | ||||||
|  |   if (wifi::global_wifi_component != nullptr) | ||||||
|  |     return wifi::global_wifi_component->is_connected(); | ||||||
|  | #endif | ||||||
|  |  | ||||||
| #ifdef USE_HOST | #ifdef USE_HOST | ||||||
|   return true;  // Assume its connected |   return true;  // Assume its connected | ||||||
| #endif | #endif | ||||||
| @@ -39,6 +42,11 @@ bool is_connected() { | |||||||
| } | } | ||||||
|  |  | ||||||
| bool is_disabled() { | bool is_disabled() { | ||||||
|  | #ifdef USE_MODEM | ||||||
|  |   if (modem::global_modem_component != nullptr) | ||||||
|  |     return modem::global_modem_component->is_disabled(); | ||||||
|  | #endif | ||||||
|  |  | ||||||
| #ifdef USE_WIFI | #ifdef USE_WIFI | ||||||
|   if (wifi::global_wifi_component != nullptr) |   if (wifi::global_wifi_component != nullptr) | ||||||
|     return wifi::global_wifi_component->is_disabled(); |     return wifi::global_wifi_component->is_disabled(); | ||||||
| @@ -51,6 +59,12 @@ network::IPAddresses get_ip_addresses() { | |||||||
|   if (ethernet::global_eth_component != nullptr) |   if (ethernet::global_eth_component != nullptr) | ||||||
|     return ethernet::global_eth_component->get_ip_addresses(); |     return ethernet::global_eth_component->get_ip_addresses(); | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #ifdef USE_MODEM | ||||||
|  |   if (modem::global_modem_component != nullptr) | ||||||
|  |     return modem::global_modem_component->get_ip_addresses(); | ||||||
|  | #endif | ||||||
|  |  | ||||||
| #ifdef USE_WIFI | #ifdef USE_WIFI | ||||||
|   if (wifi::global_wifi_component != nullptr) |   if (wifi::global_wifi_component != nullptr) | ||||||
|     return wifi::global_wifi_component->get_ip_addresses(); |     return wifi::global_wifi_component->get_ip_addresses(); | ||||||
| @@ -64,14 +78,16 @@ std::string get_use_address() { | |||||||
|   if (ethernet::global_eth_component != nullptr) |   if (ethernet::global_eth_component != nullptr) | ||||||
|     return ethernet::global_eth_component->get_use_address(); |     return ethernet::global_eth_component->get_use_address(); | ||||||
| #endif | #endif | ||||||
| #ifdef USE_WIFI |  | ||||||
|   if (wifi::global_wifi_component != nullptr) |  | ||||||
|     return wifi::global_wifi_component->get_use_address(); |  | ||||||
| #endif |  | ||||||
| #ifdef USE_MODEM | #ifdef USE_MODEM | ||||||
|   if (modem::global_modem_component != nullptr) |   if (modem::global_modem_component != nullptr) | ||||||
|     return modem::global_modem_component->get_use_address(); |     return modem::global_modem_component->get_use_address(); | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #ifdef USE_WIFI | ||||||
|  |   if (wifi::global_wifi_component != nullptr) | ||||||
|  |     return wifi::global_wifi_component->get_use_address(); | ||||||
|  | #endif | ||||||
|   return ""; |   return ""; | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user