## AppDaemon入门
 

## 找出哪里做错了。

我们已经创建了2个App了。你试的时候出问题了吗？  
如果你和我一样水平，那是肯定要出问题的。要是我每次打错字或者出其他error时能拿一美元就好了。:wink:

不过我猜人类就是这样。当我们犯错时，我们想知道到底范了什么错对不对？
两个理由：

1) 我们可以从错误中学习
2) 如果不改正错误，我们的App就不会按照我们要求的执行。

我明白每个人干活的方式都不一样，不过我还是想告诉你我是这么做的。  
首先我确保我一直能看到Appdaemon的输出。  
不久前我还在我的PC上运行Appdaemon而且我总得开个CMD窗口来运行Appdaemon。 
现在运行在树莓派上了，但是绝对不作为守护进程。因为这样我可以直接看到Appdaemon的输出。

我appdaemon.yaml文件里设置成这样：
```
  logfile: STDOUT
  errorfile: /home/pi/.homeassistant/error.log
```
 
这样就把log直接输出到屏幕而errors保存到文件。如果没错误，error文件就为空。

好了，再看一遍我们第二个App。P

```
import appdaemon.appapi as appapi

class sun_down_lights(appapi.AppDaemon):

  def initialize(self):  
    self.run_at_sunset(self.light_on_function, ,offset = int(self.args["sunset_offset"])
    self.run_at_sunrise(self.light_off_function, ,offset = int(self.args["sunrise_offset"])

  def light_on_function (self, kwargs):
      self.turn_on(self.args["lightID"])

  def light_off_function (self, kwargs):
      self.turn_off(self.args["lightID"])
```
 

如果出错，屏幕上就会显示：
```
2016-12-14 01:54:25.3456747 INFO Loading Module /ourappdir/lights.py
2016-12-14 01:54:25.3456921 INFO Loading Object Some_lights_on using class sun_down_lights from module lights
```
 
已经加载了。但是运行都顺利吗？我们看看error文件是不是空。  
好了，我觉得没有范缩进或者拼写错误。  
这个App算简单的，但是之后我们会创建更复杂的App。那个计算的函数做例子。  
我们如何知道计算是否正确？  

这就用到了 **self.log():one:** 函数 

**(更多内容敬请期待)** 
