From 049e504e9fca50eb73fcf09fce5d522fdbb8f921 Mon Sep 17 00:00:00 2001 From: technyon Date: Sun, 5 Mar 2023 11:52:15 +0100 Subject: [PATCH] add static ip for LAN8720 --- Config.h | 2 +- PreferencesKeys.h | 17 +++++++++++++++-- networkDevices/EthLan8720Device.cpp | 4 ++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/Config.h b/Config.h index fb1ed2d..ba97eb0 100644 --- a/Config.h +++ b/Config.h @@ -1,6 +1,6 @@ #pragma once -#define NUKI_HUB_VERSION "8.15" +#define NUKI_HUB_VERSION "8.16-pre-1" #define MQTT_QOS_LEVEL 1 #define MQTT_CLEAN_SESSIONS false diff --git a/PreferencesKeys.h b/PreferencesKeys.h index 6a9d070..4aed7cb 100644 --- a/PreferencesKeys.h +++ b/PreferencesKeys.h @@ -56,7 +56,20 @@ class DebugPreferences private: std::vector _keys = { - preference_started_before, preference_deviceId, preference_mqtt_broker, preference_mqtt_broker_port, preference_mqtt_user, preference_mqtt_password, preference_mqtt_log_enabled, preference_lock_enabled, preference_mqtt_lock_path, preference_opener_enabled, preference_mqtt_opener_path, preference_lock_max_keypad_code_count, preference_opener_max_keypad_code_count, preference_mqtt_ca, preference_mqtt_crt, preference_mqtt_key, preference_mqtt_hass_discovery, preference_network_hardware, preference_network_hardware_gpio, preference_rssi_publish_interval, preference_hostname, preference_network_timeout, preference_restart_on_disconnect, preference_restart_timer, preference_restart_ble_beacon_lost, preference_query_interval_lockstate, preference_query_interval_configuration, preference_query_interval_battery, preference_query_interval_keypad, preference_keypad_control_enabled, preference_register_as_app, preference_command_nr_of_retries, preference_command_retry_delay, preference_cred_user, preference_cred_password, preference_publish_authdata, preference_gpio_locking_enabled, preference_publish_debug_info, preference_presence_detection_timeout, preference_has_mac_saved, preference_has_mac_byte_0, preference_has_mac_byte_1, preference_has_mac_byte_2, + preference_started_before, preference_deviceId, preference_mqtt_broker, preference_mqtt_broker_port, + preference_mqtt_user, preference_mqtt_password, preference_mqtt_log_enabled, preference_lock_enabled, + preference_mqtt_lock_path, preference_opener_enabled, preference_mqtt_opener_path, + preference_lock_max_keypad_code_count, preference_opener_max_keypad_code_count, preference_mqtt_ca, + preference_mqtt_crt, preference_mqtt_key, preference_mqtt_hass_discovery, + preference_ip_dhcp_enabled, preference_ip_address, preference_ip_subnet, preference_ip_gateway, preference_ip_dns_server, + preference_network_hardware, preference_network_hardware_gpio, preference_rssi_publish_interval, + preference_hostname, preference_network_timeout, preference_restart_on_disconnect, + preference_restart_timer, preference_restart_ble_beacon_lost, preference_query_interval_lockstate, + preference_query_interval_configuration, preference_query_interval_battery, preference_query_interval_keypad, + preference_keypad_control_enabled, preference_register_as_app, preference_command_nr_of_retries, + preference_command_retry_delay, preference_cred_user, preference_cred_password, preference_publish_authdata, + preference_gpio_locking_enabled, preference_publish_debug_info, preference_presence_detection_timeout, + preference_has_mac_saved, preference_has_mac_byte_0, preference_has_mac_byte_1, preference_has_mac_byte_2, }; std::vector _redact = { @@ -67,7 +80,7 @@ private: std::vector _boolPrefs = { preference_started_before, preference_mqtt_log_enabled, preference_lock_enabled, preference_opener_enabled, - preference_restart_on_disconnect, preference_keypad_control_enabled, preference_register_as_app, + preference_restart_on_disconnect, preference_keypad_control_enabled, preference_register_as_app, preference_ip_dhcp_enabled, preference_publish_authdata, preference_gpio_locking_enabled, preference_has_mac_saved, preference_publish_debug_info }; diff --git a/networkDevices/EthLan8720Device.cpp b/networkDevices/EthLan8720Device.cpp index 943b455..24c0684 100644 --- a/networkDevices/EthLan8720Device.cpp +++ b/networkDevices/EthLan8720Device.cpp @@ -73,6 +73,10 @@ void EthLan8720Device::initialize() WiFi.setHostname(_hostname.c_str()); _hardwareInitialized = ETH.begin(_phy_addr, _power, _mdc, _mdio, _type, _clock_mode, _use_mac_from_efuse); ETH.setHostname(_hostname.c_str()); + if(!_ipConfiguration->dhcpEnabled()) + { + ETH.config(_ipConfiguration->ipAddress(), _ipConfiguration->defaultGateway(), _ipConfiguration->subnet(), _ipConfiguration->dnsServer()); + } if(_restartOnDisconnect) {