#------------------------------------------- # This is the configuration account for @BearStoneHA - My Homes automated twitter account. # @CCOSTAN # Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig #------------------------------------------- ### Building out some Historical stats for tweeting. ##################### command_line: - sensor: name: 'Lines of Code' unique_id: lines_of_code command: "find /config -name '*.yaml' | xargs cat | wc -l" scan_interval: 20000 command_line: - sensor: name: 'GitHub Stats' unique_id: github_stats_command command: 'curl https://api.github.com/repos/ccostan/home-assistantconfig' scan_interval: 20000 value_template: '{{ value_json.name }}' json_attributes: - open_issues - stargazers_count notify: - name: BearStoneHA platform: twitter consumer_key: !secret twitter_consumer_key consumer_secret: !secret twitter_consumer_secret access_token: !secret twitter_access_token access_token_secret: !secret twitter_access_token_secret - name: ccostan platform: twitter consumer_key: !secret twitter_consumer_key2 consumer_secret: !secret twitter_consumer_secret2 access_token: !secret twitter_access_token2 access_token_secret: !secret twitter_access_token_secret2 # - platform: history_stats # name: Doorbell Presses # entity_id: binary_sensor.skybell_front_door_button # state: 'on' # type: count # end: '{{ now() }}' # duration: # hours: 24 sensor: - platform: history_stats name: Speech time entity_id: media_player.livingroomCC state: 'playing' type: time end: '{{ now() }}' duration: hours: 24 - platform: history_stats name: TV time entity_id: media_player.living_room_ultra state: 'playing' type: time end: '{{ now() }}' duration: hours: 24 - platform: history_stats name: Landscaping Light time entity_id: group.landscaping state: 'on' type: time end: '{{ now() }}' duration: hours: 24 - platform: history_stats name: Tesla Charging time entity_id: sensor.carlojuice_charging_status state: 'charging' type: time end: '{{ now() }}' duration: days: 7 ### Building some interesting stats for tweeting. ### - platform: template sensors: sensor_count: friendly_name: 'Number of Sensors' value_template: >- {{ states.sensor | list | count }} automation_count: friendly_name: 'Number of Automations' value_template: >- {{ states.automation| list | count }} script_count: friendly_name: 'Number of Scripts' value_template: > {{ states.script | list | count }} binary_sensor_count: friendly_name: 'Number of Binary Sensors' value_template: >- {{ states.binary_sensor | list | count }} tracker_count: friendly_name: 'Number of Devices' value_template: >- {{ states.device_tracker| list | count }} lights_count: friendly_name: 'Number of Lights' value_template: > {{ states.light | list | count }} protect_count: friendly_name: 'Number of Smoke Detectors' value_template: > {% if states('group.protects') == 'on' %} {% for e in states.group.protects.attributes.entity_id if states(e) == 'on' %} {% if loop.last %} {{ loop.index }} {% endif %} {%- endfor -%} {% else %} 0 {% endif %} camera_count: friendly_name: 'Number of online Cameras' value_template: > {{ states.camera | list | count }} ############################################################# automation: - alias: 'New Twitter follower!' id: 61cd0bab-4743-4392-8e43-b204d7ebe817 trigger: platform: event event_type: ifttt_webhook_received event_data: action: new_follower condition: - condition: state entity_id: group.bed state: 'off' action: - service: media_player.play_media data: entity_id: - media_player.livingroomCC - media_player.bedroom_alarm_panel media_content_id: "https://raw.githubusercontent.com/CCOSTAN/Home-AssistantConfig/master/config/sounds/twitter-chirp.mp3" media_content_type: audio/mp4 - alias: 'Random House stats' id: b274a40d-cb67-4d6a-94d1-5fa685ae5ea4 mode: single trigger: - platform: time_pattern hours: '/2' minutes: 45 condition: - condition: template value_template: > {%- if states.automation.random_house_stats.attributes.last_triggered -%} {{ (as_timestamp(now()) - as_timestamp(states.automation.random_house_stats.attributes.last_triggered)) > 10000 }} {%- else -%} true {%- endif -%} action: - delay: '0{{ range(0,2) | random | int }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}' - service: script.tweet_engine_random data: pick: >- {% set pick = [ "solar", "robot", "door", "weather", "cloud", "speedtest", "internet", "stocks", "night", "tv", "promo", "joke" ] %} {{ pick|random }} - alias: 'Random YouTube Videos BearStone' id: b6554d97-a3d1-48e4-9035-632ac622504b trigger: - platform: time_pattern hours: '/7' minutes: 18 condition: - condition: template value_template: > {%- if states.automation.random_youtube_videos_bearstone.attributes.last_triggered -%} {{ (as_timestamp(now()) - as_timestamp(states.automation.random_youtube_videos_bearstone.attributes.last_triggered)) > 10000 }} {%- else -%} true {%- endif -%} action: - delay: '0{{ range(0,2) | random | int }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}' - service: script.tweet_youtube_engine_setup data: pick: !include ../templates/speech/youtube_picker.yaml - alias: 'Random YouTube Videos CCostan' id: 3e8a4db0-165b-4e1b-acb0-ac4503525660 mode: single trigger: - platform: time_pattern hours: '/22' minutes: 45 condition: - condition: template value_template: > {%- if states.automation.random_youtube_videos_ccostan.attributes.last_triggered -%} {{ (as_timestamp(now()) - as_timestamp(states.automation.random_youtube_videos_ccostan.attributes.last_triggered)) > 10000 }} {%- else -%} true {%- endif -%} action: - service: script.tweet_youtube_engine_setup data: who: 'ccostan' pick: !include ../templates/speech/youtube_picker.yaml