Migrating my RV HA installation

Good afternoon,

I have been running HA in my camper for about a year now with several struggles. My most recent i am hoping fix will be that I finally broke down and installed a new Mikrotik Router and I am going to be moving my install from the campers built in WIFI network to the mikrotik. I will also add i am very very new to this and thank you to all the people who make posts and tutorials somehow I have managed to get this far! So my HA is running on a NUC and when i set this up i think i remember disabling the Lan port on the NUC I have not seen where or how I can turn that back on so that is my first question and the second question is basically the same but i am using the MakerFAB 8 relay unit to control all my devices and they have a LAN port on them as well. after looking at the YAML that i downloaded for them i am honestly not even sure how there working on my WIFI network but could somone give me a suggestion on what line of code i can add to use the onboard LAN port for them as well. here is the currently working YAML.

substitutions:
name: esphome-web-732d2c
friendly_name: AJRV RELAY 1

esphome:
name: ${name}
friendly_name: ${friendly_name}
min_version: 2024.6.0
name_add_mac_suffix: false
project:
name: esphome.web
version: ‘1.0’

esp32:
board: esp32dev
framework:
type: arduino

Enable logging

logger:

Enable Home Assistant API

api:

Allow Over-The-Air updates

ota:

  • platform: esphome

Allow provisioning Wi-Fi via serial

improv_serial:

wifi:

Set up a wifi access point

ap: {}

In combination with the ap this allows the user

to provision wifi credentials to the device via WiFi AP.

captive_portal:

dashboard_import:
package_import_url: github://esphome/example-configs/esphome-web/esp32.yaml@main
import_full_config: true

Sets up Bluetooth LE (Only on ESP32) to allow the user

to provision wifi credentials to the device.

esp32_improv:
authorizer: none

To have a “next url” for improv serial

web_server:
switch:

  • platform: gpio
    pin: 32
    name: “Relay #1
    inverted: true

  • platform: gpio
    pin: 33
    name: “Relay #2
    inverted: true

  • platform: gpio
    pin: 14
    name: “Relay #3
    inverted: true

  • platform: gpio
    pin: 13
    name: “Relay #4
    inverted: true

  • platform: gpio
    pin: 15
    name: “Relay #5
    inverted: true

  • platform: gpio
    pin: 4
    name: “Relay #6
    inverted: true

  • platform: gpio
    pin: 16
    name: “Relay #7
    inverted: true

  • platform: gpio
    pin: 5
    name: “Relay #8
    inverted: true

You need to properly format the code you posted

I am sorry i do not know what you mean by properly format?

looks like you posted code

if you use the “</>” in the text entry box it formats the codes so we can see the spacing properly and dont see random bits capitalized and out of place.

# this is a comment
this
  - code
    - here 

is not the same as

this is a comment

this

  • code
    • here

Both above are entered the same, just the first is entered as preformatted text
if it is properly formatted in the post we can help better

substitutions:
  name: esphome-web-732d2c
  friendly_name: AJRV RELAY 1

esphome:
  name: ${name}
  friendly_name: ${friendly_name}
  min_version: 2024.6.0
  name_add_mac_suffix: false
  project:
    name: esphome.web
    version: '1.0'

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:

# Allow Over-The-Air updates
ota:
- platform: esphome

# Allow provisioning Wi-Fi via serial
improv_serial:

wifi:
  # Set up a wifi access point
  ap: {}

# In combination with the `ap` this allows the user
# to provision wifi credentials to the device via WiFi AP.
captive_portal:

dashboard_import:
  package_import_url: github://esphome/example-configs/esphome-web/esp32.yaml@main
  import_full_config: true

# Sets up Bluetooth LE (Only on ESP32) to allow the user
# to provision wifi credentials to the device.
esp32_improv:
  authorizer: none

# To have a "next url" for improv serial
web_server:
switch:
  - platform: gpio
    pin: 32
    name: "Relay #1"
    inverted: true

  - platform: gpio
    pin: 33
    name: "Relay #2"
    inverted: true

  - platform: gpio
    pin: 14
    name: "Relay #3"
    inverted: true

  - platform: gpio
    pin: 13
    name: "Relay #4"
    inverted: true

  - platform: gpio
    pin: 15
    name: "Relay #5"
    inverted: true

  - platform: gpio
    pin: 4
    name: "Relay #6"
    inverted: true

  - platform: gpio
    pin: 16
    name: "Relay #7"
    inverted: true

  - platform: gpio
    pin: 5
    name: "Relay #8"
    inverted: true

Look at section with “Bluetooth” and “improv_serial”. Maybe you sent WiFi over Bluetooth

You can NOT use WiFi and Ethernet. One or other.

You need to use Ethernet component. It will require knowing gpio of Ethernet. Can you find schematic or docs for device online?

I will add example with your code later

yes sir i can however when i use this yaml it gives me a api error for esphome if that makes any since? this is the yaml from makerfabs github.

#wifi:
#  ssid: !secret wifi_ssid
#  password: !secret wifi_password
#
#  # Enable fallback hotspot (captive portal) in case wifi connection fails
#  ap:
#    ssid: "Lan-Test Fallback Hotspot"
#    password: "iIyQw5iezIFm"

#captive_portal:


# Makerfabs Config
# ethernet:
#   type: LAN8720
#   mdc_pin: 23
#   mdio_pin: 18
#   clk_mode: GPIO17_OUT
#   phy_addr: 0


switch:
  - platform: gpio
    pin: 32
    name: "Relay #1"
    inverted: true

  - platform: gpio
    pin: 33
    name: "Relay #2"
    inverted: true

  - platform: gpio
    pin: 14
    name: "Relay #3"
    inverted: true

  - platform: gpio
    pin: 13
    name: "Relay #4"
    inverted: true

  - platform: gpio
    pin: 15
    name: "Relay #5"
    inverted: true

  - platform: gpio
    pin: 4
    name: "Relay #6"
    inverted: true

  - platform: gpio
    pin: 16
    name: "Relay #7"
    inverted: true

  - platform: gpio
    pin: 5
    name: "Relay #8"
    inverted: true

How are you trying to upload it?

What is the specific API error? Do you get this when loading firmware or after firmware loading and trying to make connection.

I expect something like below

substitutions:
  name: esphome-web-732d2c
  friendly_name: AJRV RELAY 1

esphome:
  name: ${name}
  friendly_name: ${friendly_name}
  min_version: 2024.6.0
  name_add_mac_suffix: false
  project:
    name: esphome.web
    version: '1.0'

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API, consider adding encryption
api:
#  id: api_server
#  encryption:
#    key: !secret api_key


# Allow Over-The-Air updates, consider password protect this
ota:
  - platform: esphome
#    id: ota_esphome
#    password: !secret ota_password

# Example configuration entry for RMII chips
ethernet:
  type: LAN8720 #you need to verify chipset
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  clk_mode: GPIO17_OUT #every example and device using 8720 is GPIO0 _IN
  phy_addr: 0  
  #use_address: option IP
  #domain: optional domain

switch:
  - platform: gpio
    pin: 32
    name: "Relay #1"
    inverted: true

  - platform: gpio
    pin: 33
    name: "Relay #2"
    inverted: true

  - platform: gpio
    pin: 14
    name: "Relay #3"
    inverted: true

  - platform: gpio
    pin: 13
    name: "Relay #4"
    inverted: true

  - platform: gpio
    pin: 15
    name: "Relay #5"
    inverted: true

  - platform: gpio
    pin: 4
    name: "Relay #6"
    inverted: true

  - platform: gpio
    pin: 16
    name: "Relay #7"
    inverted: true

  - platform: gpio
    pin: 5
    name: "Relay #8"
    inverted: true