ESPHome不经过HA设备1直接控制设备2

news2024/9/24 21:28:19

目录

  • 1.公共配置文件
  • 2.设备2:台灯
  • 3.控制器(http.post)
  • 4.获取状态(http.get)

1.公共配置文件

#wifi.yaml
wifi: 
  networks:
    - ssid: "123"
      password: "www.123.com"
    - ssid: "456"
      password: "www.123.com"


  # 当连接不上指定wifi,开启热点配网
  ap:
    ssid: "设备配网"

# 强制门户
captive_portal:

# web界面
web_server:
  port: 80

2.设备2:台灯

主要是控制一个IO口

substitutions: { desc: 台灯, devicename: sensor }

esphome:
  name: $devicename
  platform: ESP8266
  board: nodemcuv2
  arduino_version: latest

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "MhXiJqKKyCXTqjZWqtegaP1tQSUpPtbnXP9iV1i2TzE="

ota:
  password: "8e9c493c1fda598d0789f514507f3538"

packages:
  wifi: !include common/wifi.yaml

output:
  - pin: 2
    id: led_pin2
    platform: gpio

light:
  - id: led
    output: led_pin2
    platform: binary
    name: "${devicename}_led" # ${devicename}_led 的实际参数是 sensor_led

3.控制器(http.post)

esphome:
  name: http
  friendly_name: http

esp8266:
  board: nodemcuv2

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "hGNx5NzLL+UnGsUWxs6tvYghEZDgVfQjOcsMQaMgrg4="

ota:
  password: "65290e2cae0c69b31b50bdb80bcd4f4c"

packages:
  wifi: !include common/wifi.yaml

http_request:
  useragent: esphome/device
  id: my_request
  timeout: 10s

interval:
  - interval: 2s
    then:
      - http_request.post: http://sensor.local/light/sensor_led/toggle

interval启动了一个定时器,2s执行一次http_request.post动作

当你的设备2:台灯正常连接上网络,在局域网中,可以访问

http://sensor.local/light/sensor_led/toggle

获取设备2:台灯的状态
在这里插入图片描述
因为我们使用的浏览器是get,只能获取设备的状态,并不能控制设备

想要控制设备,就要使用到post

- http_request.post: http://sensor.local/light/sensor_led/toggle

在这里插入图片描述
和点击web网页上面的按钮效果是一样的

4.获取状态(http.get)

如果是想获取设备的状态,并不是控制设备,可以使用get

esphome:
  name: http
  friendly_name: http

esp8266:
  board: nodemcuv2

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "hGNx5NzLL+UnGsUWxs6tvYghEZDgVfQjOcsMQaMgrg4="

ota:
  password: "65290e2cae0c69b31b50bdb80bcd4f4c"

packages:
  wifi: !include common/wifi.yaml

http_request:
  useragent: esphome/device
  id: my_request
  timeout: 10s
     

interval:
  - interval: 10s
    then:
      # - http_request.post: http://sensor.local/light/sensor_led/toggle
      - http_request.get: 
          url: "http://sensor.local/light/sensor_led"
          on_response:
            - lambda: |- 
                ESP_LOGD("http_request", "data: %s", id(my_request).get_string());

如果访问成功,就将获取到的数据通过ESP_LOGD打印出来
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1079358.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

idea-java: 错误: 无效的源发行版:16

1.CtrlAltShiftS 2.jdk版本对应好 3.modules中一栏sdk 4.modules中一栏源码 5.所有modules修改 6.修改项目配置 ctrlalts,修改为指定版本,应用即可

codesys【按钮】

1用于控制bool信号。 1声明全局变量 2绑定该变量 运行后,按钮就能控制这个bool变量了。 2按钮【自复位】 3按钮【锁位】

订购OV通配符SSL证书

目前很多单位申请OV通配符SSL证书,一头雾水,其实操作还是比较简单的。 订购条件OV通配符组织单位,申请之前需要确定好单位全程,并且在第三方一些主流的公共平台可以查到主体信息。 然后根据以下步骤操作就可以了: 1…

什么是API接口?给大家举例说明

Api接口也就是所谓的应用程序接口,api接口的全称是Application Program Interface,通过API接口可以实现计算机软件之间的相互通信,开发人员可以通过API接口程序开发应用程序,可以减少编写无用程序,减轻编程任务&#x…

WARNING: There was an error checking the latest version of pip.

警告:检查最新版本的pip时出错 忽略无效的分发 -ip VPN网络的提示对我非常有帮助。模块安装失败,出现上述警告,并重试连接断开警告: WARNING: There was an error checking the latest version of pip. WARNING: Retrying (Retr…

【JavaEE】_tomcat的安装与简单使用

目录 1. 安装tomcat 1.1 下载tomcat并解压缩 1.2 启动tomcat 1.3 访问tomcat欢迎页面 2. tomcat简单使用:部署前端代码 3. 基于tomcat的网站后端开发 tomcat是一个HTTP服务器,HTTP协议就是HTTP客户端与HTTP服务器之间通信使用的协议。 其中HTTP客…

编写一个应用程序,给出汉字‘你’、‘我’、‘他’在Unicode表中的位置。

(1)思路\n\n通过类型转换来显示中文的位置。 (2)代码实现 public class Place{public static void main (String args[]){char chinaWord 你;char china_Word 我;char china__Word 他;System.out.println("汉字: "ch…

OCP Java17 SE Developers 复习题04

答案 F. Line 5 does not compile. This question is checking to see whether you are paying attention to the types. numFish is an int, and 1 is an int. Therefore, we use numeric addition and get 5. The problem is that we cant store an int in a String variab…

新媒体达人投放技巧有哪些,投放总结!

达人投放,一个当今时代品牌传播跳不开的词。关于达人投放的优势与特点,相信所有人都已经不在陌生。但是真的进行达人投放时,又该如何实施,今天来分享下新媒体达人投放技巧有哪些,投放总结! 一、品牌不同阶段…

Redis分布式系统: 主从复制

“你小心保管我,不思议的念头。秘密从不会对谁泄漏~” 什么是分布式系统? 分布式系统的出现,就是为了解决单机问题(硬件资源不足)。在分布式系统中,通常会把数据复制多个副本部署到其他服务器,满⾜故障恢复和负载均衡等…

通讯网关软件020——利用CommGate X2Mysql实现Modbus TCP数据转储Mysql

本文介绍利用CommGate X2MYSQL实现从Modbus TCP设备读取数据并转储至MYSQL数据库。CommGate X2MYSQL是宁波科安网信开发的网关软件,软件可以登录到网信智汇(http://wangxinzhihui.com)下载。 【案例】如下图所示,实现从Modbus TCP设备读取数据并转储至M…

苹果ios安卓apk应用APP文件怎么修改手机APP显示的名称

修改应用名称虽然很简单,但是也是由很多喜欢代码却不是很懂代码的白白同学,所以在这里我简单的说一下具体的话还是要靠同学们自行研究,由更好的方式也可以评论区说一下哈,让俺们也学习学习。 要修改 APK 文件的应用名称&#xff…

【rust基础】基本类型、所有权与借用、复合类型

文章目录 1 基本类型1.1 数值类型1.1.1 Rust 中的内置的整数类型:1.1.2 浮点类型1.1.3 数学运算1.1.4 位运算1.1.5 序列(Range) 1.2 字符、布尔、单元类型1.3 语句和表达式1.4 函数 2 所有权与借用2.1 栈(Stack)与堆(Heap)2.2 所有权原则2.2.1 转移所有权2.2.2 克隆…

VMware安装CentOS虚拟机

1. 简介 VMware 虚拟机是一种基于虚拟化技术的软件应用程序,它允许用户在一台物理计算机上模拟多个虚拟计算环境。虚拟机提供了一个可隔离且独立于物理硬件的虚拟环境,其中可以安装和运行操作系统和应用程序。 官网地址:https://www.vmware…

IT运维管理平台助力企业打造监、管、控一体化

成立20多年业务遍及全球100多个国家和地区的某大型企业随着全球化业务快速发展,业务对信息系统运维的可用性和持续性要求随之越来越高,伴随业务发展带来的IT环境复杂度呈指数级增加,系统运维工作正面临严峻的挑战。在业务系统运行过程中&…

金融人为什么都在争先申请中国人民大学与加拿大女王大学金融硕士

“知识就是力量”,这是弗朗西斯培根的名言,也是金融行业人才追求的动力。2023年,随着金融行业的飞速发展和复杂性的增加,各企业对优秀人才的需求更加迫切。在这场激烈的人才争夺战中,越来越多的金融人选择了在职研究生…

【AI视野·今日Robot 机器人论文速览 第五十期】Mon, 9 Oct 2023

AI视野今日CS.Robotics 机器人学论文速览 Mon, 9 Oct 2023 Totally 25 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Learning to Grasp: from Somewhere to Anywhere Authors Fran ois H l non, Johann Huber, Fa z Ben Amar, St phane Doncieux…

基于大规模分布式系统的云原生运维实践

在云计算、大数据、人工智能等新兴技术的推动下,众多行业都在经历一场轰轰烈烈的数字化转型大潮。随着容器技术和编排系统的发展、基础设施不断云化、分布式微服务架构不断演进和敏捷、DevOps等开发理念的带动,应用云化已经是不可逆转的趋势,云原生也成为…

uni-app:实现简易自定义下拉列表

效果 代码 <template><view><view class"dropdown-trigger" tap"showDropdown">{{ selectedItem }}</view><view class"dropdown-list" v-if"showList"><view class"dropdown-item" v-f…

【面试题精讲】finally 中的代码一定会执行吗?

文章目录 finally 块的作用finally 中的代码一定会执行吗&#xff1f;1. System.exit() 导致 JVM 终止2. 无限循环或死锁3. 程序被强制终止 示例代码演示示例 1&#xff1a;正常情况下执行 finally 块示例 2&#xff1a;发生异常时执行 finally 块示例 3&#xff1a;System.exi…