『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 2201|回复: 4

[基础教程] 向日葵C1插座esphome插件

[复制链接]

14

主题

78

帖子

462

积分

论坛分享达人

积分
462
金钱
384
HASS币
0
发表于 2022-3-23 20:20:09 | 显示全部楼层 |阅读模式
本帖最后由 gl695133087 于 2022-3-23 20:36 编辑

     首先申明,我是一个小白、纯新手,这个帖子是在我前期学习esphome的基础和借鉴了坛内大神trz0332的分享贴《向日葵插座(esp8266)刷ESPHOME固件(完美版本)》(链接  https://bbs.hassbian.com/thread-15595-1-1.html)的基础上才得以成形的,在这里再次感谢大神的无私奉献。发帖的主要目的是让跟我一样的新手兄弟们少走弯路。

       C语言以前接触过,但忘得差不多了,因此只能走esphome这种不需要太多编程知识的路径。之前我自己把C1刷了esphome,但是我只是在esphome官网上学习到了switch和light两种配置的一些超简单的形式(esphome官网纯英文,可以用浏览器自带的网页翻译功能凑合着看),自己搞的固件只能开关和指示灯的功能,物理按键都刷废了,研究了几天也没搞出个所以然。直到今天在论坛看到trz0332大神的帖子,当然,配置我也没完全看懂,但是不影响我修改使用。


                               
登录/注册后可看大图


回复

使用道具 举报

14

主题

78

帖子

462

积分

论坛分享达人

积分
462
金钱
384
HASS币
0
 楼主| 发表于 2022-3-23 20:32:48 | 显示全部楼层

                               
登录/注册后可看大图

一、打开esphome管理界面,随便写增加一个设备,命名按照c语言的对变量的命名要求就行,随意取。

回复

使用道具 举报

14

主题

78

帖子

462

积分

论坛分享达人

积分
462
金钱
384
HASS币
0
 楼主| 发表于 2022-3-23 20:33:59 | 显示全部楼层


                               
登录/注册后可看大图

二、进去之后点edit进入编辑界面,代码“captive_portal:”及之前的内容都不用修改。在之后增加下面的代码:
status_led:
pin: GPIO16

globals:
- id: auto_gl
type: int
restore_value: yes
initial_value: "1"


binary_sensor:
- platform: gpio
pin: 
number: 13
inverted: true
name: "paicha_B1"
device_class: motion
id: "paicha_B1" 
on_click:
- min_length: 50ms
max_length: 1000ms
then:
- if:
condition:
lambda: 'return id(paicha_auto).state ;'
then:
- switch.toggle: "paicha_relay"
- min_length: 5000ms
max_length: 10000ms
then:
- switch.toggle: 'paicha_auto'



light:
- platform: binary
output: light_output
name: "blue_led"
id: "paicha_blue_led"

output:
- id: light_output
platform: gpio
pin: GPIO12

switch:
- platform: gpio #继电器
pin: GPIO14
name: "relay"
id: "paicha_relay"
on_turn_on:
then: 
- light.turn_on: "paicha_blue_led"
on_turn_off:
then: 
- light.turn_off: "paicha_blue_led"

- platform: template
name: "auto"
id: "paicha_auto"
turn_on_action:
then:
- lambda: |-
id(auto_gl)=1;
ESP_LOGD("main", "I am at execution number %d", id(auto_gl));
turn_off_action:
then:
- lambda: |-
id(auto_gl)=0;
ESP_LOGD("main", "I am at execution number %d", id(auto_gl));
lambda: |-
return id(auto_gl);



粘贴代码之后格式是不正确的,直接编译要报错,原因在于代码复制粘贴后对齐被改变了。需要自己手动把代码对齐一下,对齐的要求按照C语言对代码对齐的要求。不清楚的网上自己找下C语言教程,不需要学得太深,简单的了解变量命名规则和代码对齐规则就够用了。


现在功能就齐全了,再次申明,我基本上就是个搬运工,只是分享点折腾经验帮助新手兄弟们少走点弯路。
回复

使用道具 举报

34

主题

709

帖子

4693

积分

论坛元老

Rank: 8Rank: 8

积分
4693
金钱
3974
HASS币
50
发表于 2022-3-24 18:43:09 | 显示全部楼层
可惜,,我的是c2
回复

使用道具 举报

15

主题

135

帖子

565

积分

高级会员

Rank: 4

积分
565
金钱
430
HASS币
0
发表于 2022-9-24 15:32:03 | 显示全部楼层
本帖最后由 coli06 于 2022-9-24 20:20 编辑

感谢~~编译下载固件那边卡住了~~~============
后面换了个esphome版本的docker镜像,ok了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-29 03:46 , Processed in 0.098433 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表