樹莓派 + Home Assistant + HomeKit 從零開始打造個人智能家居系統(tǒng)(5):進(jìn)階配置 Home Assistant

樹莓派 + Home Assistant + HomeKit

通過本篇教程夭委,你將完成對 Home Assistant 的進(jìn)一步配置,個性化設(shè)置與管理你的智能家居設(shè)備。

題外話

關(guān)于智能家居,我與很多人一樣律罢,因新房裝修而開始關(guān)注牵啦,2014 年智能家居市場方興未艾辈讶,還是傳統(tǒng)智能家居廠商的天下巫湘,同年 Apple 在 WWDC 上發(fā)布了 HomeKit 智能家居平臺,到了 2015 年才在 iOS 9 中內(nèi)置了“家庭” App厕倍。而在這一年寡壮,國內(nèi)也誕生了小米智能家庭、阿里智能讹弯、京東微聯(lián)等平臺况既,可以說,智能家居領(lǐng)域我們是和世界同步的组民。

2016 年接觸了 Homebridge 棒仍、 HomeKitHome Assistant 等內(nèi)容臭胜,我就嘗試著自己也整一套試試莫其。用戶規(guī)模決定了相關(guān)領(lǐng)域的繁榮癞尚,網(wǎng)上關(guān)于智能家居的文章汗牛充棟,我自認(rèn)為還是有些軟硬件基礎(chǔ)榜配,期間卻也走過不少彎路否纬。如今跟大家分享這一點(diǎn)個人愛好,也不免拾人牙慧蛋褥,因?yàn)楣俜轿臋n就在那里,你不可能跳出這個框架之外睛驳。書寫這個系列文章的初衷烙心,就是想讓更多人能夠加入進(jìn)來,哪怕是零基礎(chǔ)的小白乏沸。所以我會選擇一個我認(rèn)為最筆直的路給你淫茵,我會添加很多的引用,還會提到一些我認(rèn)為容易錯的點(diǎn)蹬跃,并且盡量不涉及代碼與命令行匙瘪,與其說是原創(chuàng)教程,不如說是一個中文版本的注釋或詮釋更為恰當(dāng)蝶缀。

有人跟我說丹喻,還是太復(fù)雜,99%的有智能化需求的客戶不會花時間去整這些翁都。

那么碍论,這就是為了那1%不滿足現(xiàn)有平臺和 App 的用戶而生的,足矣柄慰。

一鳍悠、檢查配置

有不少人反饋,在安裝和配置中遇到了問題坐搔,或是 Home Assistant 界面直接無法顯示藏研,又或是某一個組件沒有正常顯示,通常后者還能在系統(tǒng)首頁看到相關(guān)提示概行。

每當(dāng)組件或配置選項導(dǎo)致警告時蠢挡,相關(guān)信息將存儲在配置目錄下的 home-assistant.log 文件中。此文件在 Home Assistant 開始時重置占锯。

Home Assistant 大多數(shù)異常情況都是因?yàn)?configuration.yaml 文件錯誤而導(dǎo)致的袒哥,而新手通常在不同地方取得這些配置,不同論壇消略、網(wǎng)站對于代碼的顯示效果是不同的堡称,非常容易導(dǎo)致 YAML 文件語法錯誤,在修改 configuration.yaml 配置文件后艺演,可在側(cè)面板 Configuration > General > Configuration Validation 處檢查却紧,通過后再重啟服務(wù)桐臊。

檢查配置文件

還是推薦使用支持 YAML 語法的 Sublime 或者 Atomconfiguration.yaml 進(jìn)行修改,能夠?qū)崟r發(fā)現(xiàn)錯誤晓殊。

復(fù)習(xí)一下 YAML 基本語法規(guī)則:

  • 大小寫敏感
  • 使用縮進(jìn)表示層級關(guān)系
  • 縮進(jìn)時不允許使用Tab鍵断凶,只允許使用空格。
  • 縮進(jìn)的空格數(shù)目不重要巫俺,只要相同層級的元素左側(cè)對齊即可

對于同一種類的組件认烁,如果有多個,或者多個不同平臺的設(shè)備介汹,按以下格式填寫:

sensor: # 組件名却嗡,在配置文件中不能重復(fù)
  - platform: forecast
    ...
  - platform: bitcoin
    ...

二、自定義設(shè)備

一般設(shè)備接入后嘹承,顯示的名稱是一長串信息窗价,如下圖左邊第一行設(shè)備所示,而自定義后叹卷,如下圖右邊所示撼港。

設(shè)備顯示

獲取設(shè)備 ID

所有設(shè)備在 Home Assistant 中進(jìn)行配置,都有一個唯一的 ID骤竹,這個 ID 在側(cè)面板 Developer Tools 中的 “<>”States 中獲得帝牡。

獲取設(shè)備 ID

別問我怎么區(qū)分同一類的不同設(shè)備,名字那么像瘤载,在首頁操作哪個否灾,哪個有反應(yīng),就是哪個鸣奔。

配置文件

configuration.yaml 文件中墨技,添加 customize: ,示例如下:

homeassistant:
  name: Home
  unit_system: metric
  # 示例
  customize:             # 注意縮進(jìn) customize 屬于 homeassistant 下級挎狸,與 name 同級 
    sensor.living_room_motion:             # 設(shè)備 ID
      friendly_name: 客廳動作傳感器         # 昵稱 即你想要的設(shè)備名
      icon: mdi:run                        # 圖標(biāo) 即設(shè)備左側(cè)顯示扣汪,詳情見下方引用
      hidden: true                         # 是否在 Home Assistant 中隱藏
      homebridge_name: 動作傳感器           #在 iOS 家庭 App 中的名稱
      homebridge_hidden: false             #是否在 iOS 家庭 App 中隱藏
    thermostat.family_room:
      entity_picture: https://example.com/images/nest.jpg #顯示圖片,與圖標(biāo)二選一
      friendly_name: Nest
    switch.wemo_switch_1:
      friendly_name: Toaster
      entity_picture: /local/toaster.jpg
    switch.wemo_switch_2:
      friendly_name: Kitchen kettle
      icon: mdi:kettle

保存后锨匆,可在側(cè)面板找到 Configuration > General > Configuration Reloading > RELOAD CORE崭别,重載相關(guān)配置,而無需重啟 Home Assistant 服務(wù)恐锣。

更多自定義內(nèi)容見官方文檔茅主。

icon 圖標(biāo)設(shè)置,采用 Material Design Icons 網(wǎng)站內(nèi)的圖標(biāo)土榴,在icon: mdi: 后輸入想要的圖標(biāo)名稱诀姚。

圖標(biāo)名

三、分組分頁

設(shè)備顯示

設(shè)備添加后默認(rèn)都是獨(dú)立的玷禽,一部分可控制的以卡片(Card)形式顯示赫段,還有一部分僅顯示信息的以徽章(Badge)形式顯示呀打。有些同類設(shè)備也會有默認(rèn)分組(Light、Switch 等)糯笙。設(shè)備數(shù)量增多后就會顯得十分不便贬丛。

默認(rèn)顯示

而下圖中,玄關(guān)给涕、客廳豺憔、餐廳等等,雖然同處于一個頁面內(nèi)稠炬,每一個又包含了多個設(shè)備焕阿,但是明確的分類與組合,使得使用效率與體驗(yàn)大大提升首启。Home Assistant 采用組(Group)的概念來組合設(shè)備,玄關(guān)撤摸、客廳等毅桃,每個都是一個組(Group),你可以根據(jù)自身需求准夷,任意設(shè)置不同的“組”钥飞,同一設(shè)備可加入多個“組”,甚至“組”也能嵌套“組”衫嵌。

設(shè)備分組

設(shè)備分組

繼續(xù)圖中房間分類為例读宙,要實(shí)現(xiàn)這樣的效果,需要在 configuration.yaml 文件中楔绞,添加 group: 结闸,示例如下:

homeassistant:
  name: Home
  unit_system: metric
# 示例
group:               # 注意縮進(jìn) group 與 homeassistant 同級
  rooms_view:        # 這是整個 ROOMS 頁的設(shè)置 下節(jié)會講解分頁
    name: ROOMS      # 顯示名稱
    view: yes        #是否分頁 即在頁頭顯示
    entities:        # ROOM 分頁下的組
      - group.Entrance # 玄關(guān)
      - group.LivingRoom
      - group.DinnerRoom
      - group.CookRoom
      - group.BedRoom1
      - group.BedRoom2
  Entrance:         # 一個典型的 group,這一行名字自定義
    name: 玄關(guān)      # 顯示名稱
    view: no        # 不分頁酒朵,
    icon: mdi:home-variant    # 組作為一個整體時的圖標(biāo)
    entities:                 # 組下包含設(shè)備
      - binary_sensor.door_window_sensor_xxxxxx        # 玄關(guān)入戶門 ID
      - binary_sensor.motion_sensor_xxxxxxxxxx         # 玄關(guān)人體傳感器 ID
      - switch.plug_158d0000fa791f                     # 玄關(guān)入戶燈 ID
  LivingRoom:
    name: 客廳
    view: no
    icon: mdi:sofa
    entities:
      - sensor.temperature_xxxxxxxxxx
      - sensor.humidity_xxxxxxxxxx
      - binary_sensor.motion_sensor_xxxxxxxxxx
      - switch.wall_switch_right_xxxxxxxxxx
      - switch.wall_switch_right_xxxxxxxxxx
      - switch.plug_xxxxxxxxxx
      - media_player.marantz_nr1504
  DinnerRoom:
    name: 餐廳
    view: no
    icon: mdi:glass-tulip
    entities:
      - switch.wall_switch_left_xxxxxxxxxx
      - switch.wall_switch_left_xxxxxxxxxx
      - switch.plug_xxxxxxxxxx
  CookRoom:
    name: 廚房
    view: no
    icon: mdi:pot
    entities:
      - binary_sensor.motion_sensor_xxxxxxxxxx
      - switch.wall_switch_xxxxxxxxxx
      - switch.plug_xxxxxxxxxx
  BedRoom1:
    name: 主臥
    view: no
    icon: mdi:hotel
    entities:
      - sensor.temperature_xxxxxxxxxx
      - sensor.humidity_xxxxxxxxxx
      - switch.wall_switch_xxxxxxxxxx
      - switch.plug_xxxxxxxxxx
      - switch.plug_xxxxxxxxxx
      - switch.plug_xxxxxxxxxx
      - switch.plug_xxxxxxxxxx
  BedRoom2:
    name: 次臥
    view: no
    icon: mdi:hotel
    entities:
      - sensor.temperature_1xxxxxxxxxx
      - sensor.humidity_1xxxxxxxxxx
      - switch.wall_switch_1xxxxxxxxxx
      - switch.plug_1xxxxxxxxxx

保存后桦锄,可在側(cè)面板找到 Configuration > General > Configuration Reloading > RELOAD GROUP,重載相關(guān)配置蔫耽,而無需重啟 Home Assistant 服務(wù)结耀。

設(shè)備分頁

當(dāng)設(shè)備進(jìn)一步增多后,可以設(shè)置分頁匙铡,來更好地顯示設(shè)備图甜。如下圖中,我分了“HOME”鳖眼、“ROOMS”黑毅、“DEVICES”、“WEATHER”四個頁面具帮。

設(shè)備分頁

繼續(xù)在 group: 中修改配置博肋,結(jié)合上節(jié)內(nèi)容低斋,示例如下:

homeassistant:
  name: Home
  unit_system: metric
# 示例
group:                  # 注意縮進(jìn) group 與 homeassistant 同級
  default_view:         # 默認(rèn)首頁 即 HOME 頁
  view: yes             # 是否分頁 即在頁頭顯示
  entities:             # 第一個分頁下的設(shè)備與組
    - sun.sun
    - sensor.now_weather
    - sensor.now_tmp
    - group.Today
    - group.SystemMonitor
    - group.Rooms
  rooms_view:             # 這是整個 ROOMS 頁的設(shè)置
    name: ROOMS           # 顯示名稱
    view: yes             # 是否分頁 即在頁頭顯示
    entities:             # ROOM 分頁下的組
      - group.Entrance    # 玄關(guān)
      - group.LivingRoom
      - group.DinnerRoom
      - group.CookRoom
      - group.BedRoom1
      - group.BedRoom2
  devices_view:           # 這是整個 DEVICES 頁的設(shè)置
    name: DEVICES         # 顯示名稱
    view: yes             # 是否分頁 即在頁頭顯示
    entities:
      - group.Lights
      - media_player.marantz_nr1504
      - group.Battery
  weather_view:           # 這是整個 WEATHER 頁的設(shè)置
    name: WEATHER         # 顯示名稱
    view: yes             # 是否分頁 即在頁頭顯示
    entities:
      - group.WeatherNow
      - group.WeatherToday
      - group.WeatherTomorrow
      - group.AQI

保存后,可在側(cè)面板找到 Configuration > General > Configuration Reloading > RELOAD GROUP匪凡,重載相關(guān)配置膊畴,而無需重啟 Home Assistant 服務(wù)。

更多自定義內(nèi)容見官方文檔病游。

如果你足夠細(xì)心唇跨,你會發(fā)現(xiàn),在 Developer Tools 中的 “<>”States 中衬衬,所有的“組”也有自己的 ID买猖。

四、拓展配置

拆分配置

所有的配置信息都集成在 configuration.yaml 中滋尉,可以想象玉控,當(dāng)設(shè)備配置信息增多時,configuration.yaml 將變得十分臃腫狮惜,在沒有更好的可視化配置方法之前高诺,我們可以對 configuration.yaml 進(jìn)行拆分,以提高可讀性碾篡。

以上文自定義設(shè)備為例虱而,在配置文件夾內(nèi)新建 customize.yaml 文件獨(dú)立存放設(shè)備的自定義信息,其中內(nèi)容如下开泽。

sensor.living_room_motion:      #設(shè)備 ID 通常會配置以下內(nèi)容
  friendly_name: 客廳動作傳感器  #昵稱 即你想要的設(shè)備名
  icon: mdi:run                 #圖標(biāo) 即設(shè)備左側(cè)顯示牡拇,詳情見下方引用
  hidden: true                  #是否在 Home Assistant 中隱藏
  homebridge_name: 動作傳感器    #在 iOS 家庭 App 中的名稱
  homebridge_hidden: false      #是否在 iOS 家庭 App 中隱藏

再修改 configuration.yaml 文件,以 !include 引用獨(dú)立出來的配置信息穆律,如下所示惠呼。

homeassistant:
  name: Home
  unit_system: metric
  # 示例
  customize: !include customize.yaml
group: !include group.yaml # group 同理

官方文檔

請注意,homeassistant: 之后每一行縮進(jìn)兩個空格众旗。由于Home Assistant中的配置文件是基于YAML語言的罢杉,因此縮進(jìn)和間距很重要。還要注意贡歧,customize:homeassistant: 的子級滩租,而 group:homeassistant: 同級。

打包配置

Home Assistant 還提供了一個方法利朵,可以將多個組件律想、個性化設(shè)置、自動化信息捆綁在一起绍弟,一同管理技即。

比如,我有一個“燈+開關(guān)”的組合樟遣,我對其進(jìn)行了自定義而叼,并設(shè)置了自動化身笤,我可以建立一個名為 my_light_switch_package.yaml 之類名字的文件,來存放這一組合的所有信息葵陵,其內(nèi)容如下:

homeassistant:
  customize:
    switch.xxxxxx.xxxxx:
      friendly_name: XXX
      homebridge_name: XXX
    ...
switch:
  - platform: rest
    ...
light:
  - platform: rpi
    ...
group:
  light&switch:
    name: XXX
    view: no
    icon: mdi:light
    entities: 
      - switch.xxxxxx.xxxxx

在這個文件中液荸,不但對接入了組件,還對其進(jìn)行了自定義脱篙,并建立了分組娇钱。

接下來在 Home Assistant 配置目錄中創(chuàng)建一個名為“packages”的文件夾,將 my_light_switch_package.yaml 放入其中绊困,在 configuration.yaml 中添加 packages 信息文搂,。

homeassistant:
  packages: !include_dir_named packages # 此語句表示會自動調(diào)用 packages 文件夾下的文件秤朗。注意層級煤蹭。

官方文檔

五、自定義前端顯示

自定義側(cè)面板

我使用 Home Assistant 其中的一個目的就是只用打開一個 App(Web)就可以控制所有設(shè)備取视,利用 Panel iFrame 組件疯兼,我們可以將一些常用的 Web 頁面集成到側(cè)面板。比如路由器管理頁面贫途、個人博客頁面、媒體服務(wù)器等等待侵。

自定義側(cè)面板

以路由器為例添加如下內(nèi)容到 configuration.yaml 文件中:

panel_iframe:
  netgear:               #面板名稱
    title: Netgear       #標(biāo)題(必填),在側(cè)面板中顯示丢早。
    icon: mdi:router-wireless         #圖標(biāo)(可選)
    url: http://192.168.2.1/start.htm #要打開的URL(必填)。

自定義主題

自定義主題

主題(Themes)提供了字體秧倾、顏色等的自定義怨酝,而主題的設(shè)置,涉及前端相關(guān)知識那先,這里不做過多講解(主要在官網(wǎng)也沒找到幾個好看的……)农猬,僅提供一個主題配置供大家參考。

configuration.yaml 文件中的 frontend: 下進(jìn)行配置:

frontend:
  themes:
    midnight:
      # 主體
      primary-color: '#5294E2'                                                      
      accent-color: '#E45E65'                                                         
      dark-primary-color: 'var(--accent-color)'                                       
      light-primary-color: 'var(--accent-color)'                                      

      # 文字
      primary-text-color: '#FFFFFF'                                                   
      text-primary-color: 'var(--primary-text-color)'                                 
      secondary-text-color: '#5294E2'                                                 
      disabled-text-color: '#7F848E'                                                  
      label-badge-border-color: 'green'                                              

      # 背景
      primary-background-color: '#383C45'                                             
      secondary-background-color: '#383C45'                                           
      divider-color: 'rgba(0, 0, 0, .12)'                                             

      # 表格
      table-row-background-color: '#353840'                                           
      table-row-alternative-background-color: '#3E424B'                               

      # 導(dǎo)航菜單
      paper-listbox-color: 'var(--primary-color)'                                     
      paper-listbox-background-color: '#2E333A'                                       
      paper-grey-50: 'var(--primary-text-color)'
      paper-grey-200: '#414A59'                                                       

      # 卡片
      paper-card-header-color: 'var(--accent-color)'                                  
      paper-card-background-color: '#434954'                                          
      paper-dialog-background-color: '#434954'                                        
      paper-item-icon-color: 'var(--primary-text-color)'                             
      paper-item-icon-active-color: '#F9C536'                                         
      paper-item-icon_-_color: 'green'
      paper-item-selected_-_background-color: '#434954'                               
      paper-tabs-selection-bar-color: 'green'

      # 標(biāo)簽
      label-badge-red: 'var(--accent-color)'                                         
      label-badge-text-color: 'var(--primary-text-color)'                             
      label-badge-background-color: '#2E333A'                                         

      # 開關(guān)
      paper-toggle-button-checked-button-color: 'var(--accent-color)'
      paper-toggle-button-checked-bar-color: 'var(--accent-color)'
      paper-toggle-button-checked-ink-color: 'var(--accent-color)'
      paper-toggle-button-unchecked-button-color: 'var(--disabled-text-color)'
      paper-toggle-button-unchecked-bar-color: 'var(--disabled-text-color)'
      paper-toggle-button-unchecked-ink-color: 'var(--disabled-text-color)'

      # 滑塊
      paper-slider-knob-color: 'var(--accent-color)'
      paper-slider-knob-start-color: 'var(--accent-color)'
      paper-slider-pin-color: 'var(--accent-color)'
      paper-slider-active-color: 'var(--accent-color)'
      paper-slider-container-color: 'linear-gradient(var(--primary-background-color), var(--secondary-background-color)) no-repeat'
      paper-slider-secondary-color: 'var(--secondary-background-color)'
      paper-slider-disabled-active-color: 'var(--disabled-text-color)'
      paper-slider-disabled-secondary-color: 'var(--disabled-text-color)'

      # Google
      google-red-500: '#E45E65'
      google-green-500: '#39E949'

重啟 Home Assistant 服務(wù)之后售淡,我們可以在側(cè)邊欄 Configuration > General > Set a theme 選擇相關(guān)主題斤葱。

選擇主題

官方文檔論壇

六揖闸、下節(jié)預(yù)告

經(jīng)過前期所有的設(shè)置揍堕,我們已經(jīng)可以在 Home Assistant 中較好地使用所有接入設(shè)備。但這個“智能”家居還是顯得一點(diǎn)都不智能汤纸,并沒有達(dá)到理想中的樣子衩茸。而我們將在下節(jié)開始涉及整個智能家居系統(tǒng)的靈魂——自動化(Automation)。

  • Home Assistant 自動化
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末贮泞,一起剝皮案震驚了整個濱河市楞慈,隨后出現(xiàn)的幾起案子幔烛,更是在濱河造成了極大的恐慌,老刑警劉巖囊蓝,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饿悬,死亡現(xiàn)場離奇詭異,居然都是意外死亡慎颗,警方通過查閱死者的電腦和手機(jī)乡恕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來俯萎,“玉大人傲宜,你說我怎么就攤上這事》虬。” “怎么了函卒?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長撇眯。 經(jīng)常有香客問我报嵌,道長,這世上最難降的妖魔是什么熊榛? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任锚国,我火速辦了婚禮,結(jié)果婚禮上玄坦,老公的妹妹穿的比我還像新娘血筑。我一直安慰自己,他們只是感情好煎楣,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布豺总。 她就那樣靜靜地躺著,像睡著了一般择懂。 火紅的嫁衣襯著肌膚如雪喻喳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天困曙,我揣著相機(jī)與錄音表伦,去河邊找鬼。 笑死赂弓,一個胖子當(dāng)著我的面吹牛绑榴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盈魁,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼翔怎,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起赤套,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤飘痛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后容握,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宣脉,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年剔氏,在試婚紗的時候發(fā)現(xiàn)自己被綠了塑猖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡谈跛,死狀恐怖羊苟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情感憾,我是刑警寧澤蜡励,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站阻桅,受9級特大地震影響凉倚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜嫂沉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一稽寒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧趟章,春花似錦瓦胎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柬祠。三九已至北戏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間漫蛔,已是汗流浹背嗜愈。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留莽龟,地道東北人蠕嫁。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像毯盈,于是被迫代替她去往敵國和親剃毒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內(nèi)容