コード例 #1
0
    CONF_USE_ADDRESS, ESP_PLATFORM_ESP32
from esphome.core import CORE
from esphome.cpp_generator import Pvariable, add
from esphome.cpp_helpers import gpio_output_pin_expression
from esphome.cpp_types import App, Component, esphome_ns, global_ns

CONFLICTS_WITH = ['wifi']
ESP_PLATFORMS = [ESP_PLATFORM_ESP32]

CONF_PHY_ADDR = 'phy_addr'
CONF_MDC_PIN = 'mdc_pin'
CONF_MDIO_PIN = 'mdio_pin'
CONF_CLK_MODE = 'clk_mode'
CONF_POWER_PIN = 'power_pin'

EthernetType = esphome_ns.enum('EthernetType')
ETHERNET_TYPES = {
    'LAN8720': EthernetType.ETHERNET_TYPE_LAN8720,
    'TLK110': EthernetType.ETHERNET_TYPE_TLK110,
}

eth_clock_mode_t = global_ns.enum('eth_clock_mode_t')
CLK_MODES = {
    'GPIO0_IN': eth_clock_mode_t.ETH_CLOCK_GPIO0_IN,
    'GPIO0_OUT': eth_clock_mode_t.ETH_CLOCK_GPIO0_OUT,
    'GPIO16_OUT': eth_clock_mode_t.ETH_CLOCK_GPIO16_OUT,
    'GPIO17_OUT': eth_clock_mode_t.ETH_CLOCK_GPIO17_OUT,
}

EthernetComponent = esphome_ns.class_('EthernetComponent', Component)
コード例 #2
0
from esphome.cpp_types import Action, App, Component, esphome_ns, global_ns


def validate_pin_number(value):
    valid_pins = [0, 2, 4, 12, 13, 14, 15, 25, 26, 27, 32, 39]
    if value[CONF_NUMBER] not in valid_pins:
        raise vol.Invalid(u"Only pins {} support wakeup"
                          u"".format(', '.join(str(x) for x in valid_pins)))
    return value


DeepSleepComponent = esphome_ns.class_('DeepSleepComponent', Component)
EnterDeepSleepAction = esphome_ns.class_('EnterDeepSleepAction', Action)
PreventDeepSleepAction = esphome_ns.class_('PreventDeepSleepAction', Action)

WakeupPinMode = esphome_ns.enum('WakeupPinMode')
WAKEUP_PIN_MODES = {
    'IGNORE': WakeupPinMode.WAKEUP_PIN_MODE_IGNORE,
    'KEEP_AWAKE': WakeupPinMode.WAKEUP_PIN_MODE_KEEP_AWAKE,
    'INVERT_WAKEUP': WakeupPinMode.WAKEUP_PIN_MODE_INVERT_WAKEUP,
}

esp_sleep_ext1_wakeup_mode_t = global_ns.enum('esp_sleep_ext1_wakeup_mode_t')
Ext1Wakeup = esphome_ns.struct('Ext1Wakeup')
EXT1_WAKEUP_MODES = {
    'ALL_LOW': esp_sleep_ext1_wakeup_mode_t.ESP_EXT1_WAKEUP_ALL_LOW,
    'ANY_HIGH': esp_sleep_ext1_wakeup_mode_t.ESP_EXT1_WAKEUP_ANY_HIGH,
}

CONF_WAKEUP_PIN_MODE = 'wakeup_pin_mode'
CONF_ESP32_EXT1_WAKEUP = 'esp32_ext1_wakeup'
コード例 #3
0
from esphome.automation import CONDITION_REGISTRY, Condition
import esphome.config_validation as cv
from esphome.const import CONF_AP, CONF_BSSID, CONF_CHANNEL, CONF_DNS1, CONF_DNS2, CONF_DOMAIN, \
    CONF_FAST_CONNECT, CONF_GATEWAY, CONF_HIDDEN, CONF_ID, CONF_MANUAL_IP, CONF_NETWORKS, \
    CONF_PASSWORD, CONF_POWER_SAVE_MODE, CONF_REBOOT_TIMEOUT, CONF_SSID, CONF_STATIC_IP, \
    CONF_SUBNET, CONF_USE_ADDRESS
from esphome.core import CORE, HexInt
from esphome.cpp_generator import Pvariable, StructInitializer, add, variable
from esphome.cpp_types import App, Component, esphome_ns, global_ns

IPAddress = global_ns.class_('IPAddress')
ManualIP = esphome_ns.struct('ManualIP')
WiFiComponent = esphome_ns.class_('WiFiComponent', Component)
WiFiAP = esphome_ns.struct('WiFiAP')

WiFiPowerSaveMode = esphome_ns.enum('WiFiPowerSaveMode')
WIFI_POWER_SAVE_MODES = {
    'NONE': WiFiPowerSaveMode.WIFI_POWER_SAVE_NONE,
    'LIGHT': WiFiPowerSaveMode.WIFI_POWER_SAVE_LIGHT,
    'HIGH': WiFiPowerSaveMode.WIFI_POWER_SAVE_HIGH,
}
WiFiConnectedCondition = esphome_ns.class_('WiFiConnectedCondition', Condition)


def validate_password(value):
    value = cv.string_strict(value)
    if not value:
        return value
    if len(value) < 8:
        raise vol.Invalid(u"WPA password must be at least 8 characters long")
    if len(value) > 64:
コード例 #4
0
import voluptuous as vol

from esphome import config_validation as cv, pins
from esphome.const import CONF_FREQUENCY, CONF_ID, CONF_NAME, CONF_PIN, CONF_SCL, CONF_SDA, \
    ESP_PLATFORM_ESP32
from esphome.cpp_generator import Pvariable, add
from esphome.cpp_types import App, Nameable, PollingComponent, esphome_ns

ESP_PLATFORMS = [ESP_PLATFORM_ESP32]

ESP32Camera = esphome_ns.class_('ESP32Camera', PollingComponent, Nameable)
ESP32CameraFrameSize = esphome_ns.enum('ESP32CameraFrameSize')
FRAME_SIZES = {
    '160X120': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_160X120,
    'QQVGA': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_160X120,
    '128x160': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_128X160,
    'QQVGA2': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_128X160,
    '176X144': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_176X144,
    'QCIF': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_176X144,
    '240X176': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_240X176,
    'HQVGA': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_240X176,
    '320X240': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_320X240,
    'QVGA': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_320X240,
    '400X296': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_400X296,
    'CIF': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_400X296,
    '640X480': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_640X480,
    'VGA': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_640X480,
    '800X600': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_800X600,
    'SVGA': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_800X600,
    '1024X768': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_1024X768,
    'XGA': ESP32CameraFrameSize.ESP32_CAMERA_SIZE_1024X768,