added config folder to git
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,5 +1,2 @@
|
|||||||
**.env
|
**.env
|
||||||
_volumes
|
|
||||||
_volumes
|
|
||||||
.vscode
|
.vscode
|
||||||
.volumes
|
|
||||||
|
|||||||
50
volumes/config/.gitignore
vendored
Normal file
50
volumes/config/.gitignore
vendored
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
# Created by https://www.toptal.com/developers/gitignore/api/homeassistant
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=homeassistant
|
||||||
|
|
||||||
|
### HomeAssistant ###
|
||||||
|
# Files with personal details
|
||||||
|
*.crt
|
||||||
|
*.csr
|
||||||
|
*.key
|
||||||
|
.cloud
|
||||||
|
.google.token
|
||||||
|
.HA_VERSION
|
||||||
|
.storage
|
||||||
|
.uuid
|
||||||
|
icloud/
|
||||||
|
google_calendars.yaml
|
||||||
|
harmony_media_room.conf
|
||||||
|
home-assistant.db
|
||||||
|
home-assistant_v2.db
|
||||||
|
home-assistant_v2.db-*
|
||||||
|
html5_push_registrations.conf
|
||||||
|
image
|
||||||
|
ip_bans.yaml
|
||||||
|
known_devices.yaml
|
||||||
|
phue.conf
|
||||||
|
plex.conf
|
||||||
|
pyozw.sqlite
|
||||||
|
secrets.yaml
|
||||||
|
tradfri.conf
|
||||||
|
webostv.conf
|
||||||
|
|
||||||
|
# Temporary files
|
||||||
|
*.db-journal
|
||||||
|
*.pid
|
||||||
|
tts
|
||||||
|
|
||||||
|
# automatically downloaded dependencies
|
||||||
|
deps
|
||||||
|
lib
|
||||||
|
|
||||||
|
# Log files
|
||||||
|
home-assistant.log
|
||||||
|
home-assistant.log.*
|
||||||
|
ozw_log.txt
|
||||||
|
|
||||||
|
# Development files
|
||||||
|
custom_components
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/homeassistant
|
||||||
|
|
||||||
|
|
||||||
39
volumes/config/automations.yaml
Normal file
39
volumes/config/automations.yaml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
- id: '1713172414513'
|
||||||
|
alias: Door Batery Low
|
||||||
|
description: ''
|
||||||
|
trigger:
|
||||||
|
- platform: numeric_state
|
||||||
|
entity_id:
|
||||||
|
- sensor.portadaentrada_battery
|
||||||
|
below: 40
|
||||||
|
enabled: false
|
||||||
|
- type: bat_low
|
||||||
|
platform: device
|
||||||
|
device_id: 3bc6bb9f522dc44ba7b223511d124978
|
||||||
|
entity_id: d1a83c7b24d0cb0e3d98221176596f21
|
||||||
|
domain: binary_sensor
|
||||||
|
for:
|
||||||
|
hours: 0
|
||||||
|
minutes: 5
|
||||||
|
seconds: 0
|
||||||
|
- type: bat_low
|
||||||
|
platform: device
|
||||||
|
device_id: 3bc6bb9f522dc44ba7b223511d124978
|
||||||
|
entity_id: cc070eaef8e0231e7a580b17e4826b73
|
||||||
|
domain: binary_sensor
|
||||||
|
for:
|
||||||
|
hours: 0
|
||||||
|
minutes: 5
|
||||||
|
seconds: 0
|
||||||
|
condition: []
|
||||||
|
action:
|
||||||
|
- service: notify.mobile_app_mfs9plus
|
||||||
|
metadata: {}
|
||||||
|
data:
|
||||||
|
title: Porta da entrada
|
||||||
|
message: low bat
|
||||||
|
- service: notify.persistent_notification
|
||||||
|
data:
|
||||||
|
title: Porta da entrada
|
||||||
|
message: low bat
|
||||||
|
mode: single
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
blueprint:
|
||||||
|
name: Motion-activated Light
|
||||||
|
description: Turn on a light when motion is detected.
|
||||||
|
domain: automation
|
||||||
|
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/motion_light.yaml
|
||||||
|
input:
|
||||||
|
motion_entity:
|
||||||
|
name: Motion Sensor
|
||||||
|
selector:
|
||||||
|
entity:
|
||||||
|
domain: binary_sensor
|
||||||
|
device_class: motion
|
||||||
|
light_target:
|
||||||
|
name: Light
|
||||||
|
selector:
|
||||||
|
target:
|
||||||
|
entity:
|
||||||
|
domain: light
|
||||||
|
no_motion_wait:
|
||||||
|
name: Wait time
|
||||||
|
description: Time to leave the light on after last motion is detected.
|
||||||
|
default: 120
|
||||||
|
selector:
|
||||||
|
number:
|
||||||
|
min: 0
|
||||||
|
max: 3600
|
||||||
|
unit_of_measurement: seconds
|
||||||
|
|
||||||
|
# If motion is detected within the delay,
|
||||||
|
# we restart the script.
|
||||||
|
mode: restart
|
||||||
|
max_exceeded: silent
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
platform: state
|
||||||
|
entity_id: !input motion_entity
|
||||||
|
from: "off"
|
||||||
|
to: "on"
|
||||||
|
|
||||||
|
action:
|
||||||
|
- service: light.turn_on
|
||||||
|
target: !input light_target
|
||||||
|
- wait_for_trigger:
|
||||||
|
platform: state
|
||||||
|
entity_id: !input motion_entity
|
||||||
|
from: "on"
|
||||||
|
to: "off"
|
||||||
|
- delay: !input no_motion_wait
|
||||||
|
- service: light.turn_off
|
||||||
|
target: !input light_target
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
blueprint:
|
||||||
|
name: Zone Notification
|
||||||
|
description: Send a notification to a device when a person leaves a specific zone.
|
||||||
|
domain: automation
|
||||||
|
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/notify_leaving_zone.yaml
|
||||||
|
input:
|
||||||
|
person_entity:
|
||||||
|
name: Person
|
||||||
|
selector:
|
||||||
|
entity:
|
||||||
|
domain: person
|
||||||
|
zone_entity:
|
||||||
|
name: Zone
|
||||||
|
selector:
|
||||||
|
entity:
|
||||||
|
domain: zone
|
||||||
|
notify_device:
|
||||||
|
name: Device to notify
|
||||||
|
description: Device needs to run the official Home Assistant app to receive notifications.
|
||||||
|
selector:
|
||||||
|
device:
|
||||||
|
integration: mobile_app
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
platform: state
|
||||||
|
entity_id: !input person_entity
|
||||||
|
|
||||||
|
variables:
|
||||||
|
zone_entity: !input zone_entity
|
||||||
|
# This is the state of the person when it's in this zone.
|
||||||
|
zone_state: "{{ states[zone_entity].name }}"
|
||||||
|
person_entity: !input person_entity
|
||||||
|
person_name: "{{ states[person_entity].name }}"
|
||||||
|
|
||||||
|
condition:
|
||||||
|
condition: template
|
||||||
|
value_template: "{{ trigger.from_state.state == zone_state and trigger.to_state.state != zone_state }}"
|
||||||
|
|
||||||
|
action:
|
||||||
|
domain: mobile_app
|
||||||
|
type: notify
|
||||||
|
device_id: !input notify_device
|
||||||
|
message: "{{ person_name }} has left {{ zone_state }}"
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
blueprint:
|
||||||
|
name: Confirmable Notification
|
||||||
|
description: >-
|
||||||
|
A script that sends an actionable notification with a confirmation before
|
||||||
|
running the specified action.
|
||||||
|
domain: script
|
||||||
|
source_url: https://github.com/home-assistant/core/blob/master/homeassistant/components/script/blueprints/confirmable_notification.yaml
|
||||||
|
input:
|
||||||
|
notify_device:
|
||||||
|
name: Device to notify
|
||||||
|
description: Device needs to run the official Home Assistant app to receive notifications.
|
||||||
|
selector:
|
||||||
|
device:
|
||||||
|
integration: mobile_app
|
||||||
|
title:
|
||||||
|
name: "Title"
|
||||||
|
description: "The title of the button shown in the notification."
|
||||||
|
default: ""
|
||||||
|
selector:
|
||||||
|
text:
|
||||||
|
message:
|
||||||
|
name: "Message"
|
||||||
|
description: "The message body"
|
||||||
|
selector:
|
||||||
|
text:
|
||||||
|
confirm_text:
|
||||||
|
name: "Confirmation Text"
|
||||||
|
description: "Text to show on the confirmation button"
|
||||||
|
default: "Confirm"
|
||||||
|
selector:
|
||||||
|
text:
|
||||||
|
confirm_action:
|
||||||
|
name: "Confirmation Action"
|
||||||
|
description: "Action to run when notification is confirmed"
|
||||||
|
default: []
|
||||||
|
selector:
|
||||||
|
action:
|
||||||
|
dismiss_text:
|
||||||
|
name: "Dismiss Text"
|
||||||
|
description: "Text to show on the dismiss button"
|
||||||
|
default: "Dismiss"
|
||||||
|
selector:
|
||||||
|
text:
|
||||||
|
dismiss_action:
|
||||||
|
name: "Dismiss Action"
|
||||||
|
description: "Action to run when notification is dismissed"
|
||||||
|
default: []
|
||||||
|
selector:
|
||||||
|
action:
|
||||||
|
|
||||||
|
mode: restart
|
||||||
|
|
||||||
|
sequence:
|
||||||
|
- alias: "Set up variables"
|
||||||
|
variables:
|
||||||
|
action_confirm: "{{ 'CONFIRM_' ~ context.id }}"
|
||||||
|
action_dismiss: "{{ 'DISMISS_' ~ context.id }}"
|
||||||
|
- alias: "Send notification"
|
||||||
|
domain: mobile_app
|
||||||
|
type: notify
|
||||||
|
device_id: !input notify_device
|
||||||
|
title: !input title
|
||||||
|
message: !input message
|
||||||
|
data:
|
||||||
|
actions:
|
||||||
|
- action: "{{ action_confirm }}"
|
||||||
|
title: !input confirm_text
|
||||||
|
- action: "{{ action_dismiss }}"
|
||||||
|
title: !input dismiss_text
|
||||||
|
- alias: "Awaiting response"
|
||||||
|
wait_for_trigger:
|
||||||
|
- platform: event
|
||||||
|
event_type: mobile_app_notification_action
|
||||||
|
event_data:
|
||||||
|
action: "{{ action_confirm }}"
|
||||||
|
- platform: event
|
||||||
|
event_type: mobile_app_notification_action
|
||||||
|
event_data:
|
||||||
|
action: "{{ action_dismiss }}"
|
||||||
|
- choose:
|
||||||
|
- conditions: "{{ wait.trigger.event.data.action == action_confirm }}"
|
||||||
|
sequence: !input confirm_action
|
||||||
|
- conditions: "{{ wait.trigger.event.data.action == action_dismiss }}"
|
||||||
|
sequence: !input dismiss_action
|
||||||
81
volumes/config/configuration.yaml
Normal file
81
volumes/config/configuration.yaml
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
|
||||||
|
# Configure a default setup of Home Assistant (frontend, api, etc)
|
||||||
|
default_config:
|
||||||
|
# enable wake on lan integration
|
||||||
|
wake_on_lan:
|
||||||
|
|
||||||
|
http:
|
||||||
|
server_port: 80
|
||||||
|
use_x_forwarded_for: true
|
||||||
|
trusted_proxies:
|
||||||
|
- 0.0.0.0/0 #cuidado com isto
|
||||||
|
# Text to speech
|
||||||
|
tts:
|
||||||
|
- platform: google_translate
|
||||||
|
|
||||||
|
group: !include groups.yaml
|
||||||
|
automation: !include automations.yaml
|
||||||
|
script: !include scripts.yaml
|
||||||
|
scene: !include scenes.yaml
|
||||||
|
|
||||||
|
#light:
|
||||||
|
# Example configuration.yaml entry
|
||||||
|
# - platform: flux_led
|
||||||
|
# devices:
|
||||||
|
# 192.168.2.48:
|
||||||
|
# name: movel_tv_strip
|
||||||
|
# mode: rgb
|
||||||
|
|
||||||
|
#sensor:
|
||||||
|
# - platform: command_line
|
||||||
|
# command: "python3 /config/scripts/limbowiki_get_info.py"
|
||||||
|
# name: limbowiki_info
|
||||||
|
# json_attributes:
|
||||||
|
# - status
|
||||||
|
# - version
|
||||||
|
# - platform: template
|
||||||
|
# sensors:
|
||||||
|
# limbowiki_info_status:
|
||||||
|
# value_template: "{{ state_attr('sensor.limbowiki_info', 'status') }}"
|
||||||
|
# limbowiki_info_version:
|
||||||
|
# value_template: "{{ state_attr('sensor.limbowiki_info', 'version') }}"
|
||||||
|
|
||||||
|
|
||||||
|
# sensor livingroom audio:
|
||||||
|
# platform: mqtt
|
||||||
|
# state_topic: "home/devices/livingroom/audio/input"
|
||||||
|
# name: "livingroom Audio"
|
||||||
|
|
||||||
|
#sensor pilivingroom bluetoothctl-dev:
|
||||||
|
# platform: mqtt
|
||||||
|
# state_topic: "home/devices/pimusicmydev/bluetooth"
|
||||||
|
# json_attributes_topic: "home/devices/pimusicmydev/bluetooth"
|
||||||
|
# name: "pilivingroom-dev bluetoothctl-dev"
|
||||||
|
# value_template: Bluetoothctl mqtt
|
||||||
|
# json_attributes_template: >
|
||||||
|
# {
|
||||||
|
# "mqttTopic":"{{value_json.mqttTopic}}",
|
||||||
|
# "devices":{{value_json.devices|to_json}}
|
||||||
|
# }
|
||||||
|
|
||||||
|
#sensor livingroom bluetooth devices:
|
||||||
|
# platform: mqtt
|
||||||
|
# state_topic: "home/devices/livingroom/bluetooth/devices"
|
||||||
|
# json_attributes_topic: "home/devices/livingroom/bluetooth/devices"
|
||||||
|
# name: "livingroom bluetooth devices"
|
||||||
|
# value_template: Bluetooth Devices Counter {{ value_json|length }}
|
||||||
|
# json_attributes_template: >
|
||||||
|
# {"devices":{{value_json|to_json}}}
|
||||||
|
|
||||||
|
panel_iframe:
|
||||||
|
homeserver_dashboad:
|
||||||
|
title: "HomeServer Admin"
|
||||||
|
icon: mdi:qrcode-edit
|
||||||
|
url: "http://homesrv01.dev.lan:9777"
|
||||||
|
require_admin: true
|
||||||
|
lms:
|
||||||
|
title: "LMS"
|
||||||
|
icon: mdi:music-box
|
||||||
|
url: "http://homesrv01.dev.lan:9000"
|
||||||
|
require_admin: false
|
||||||
|
|
||||||
67
volumes/config/configuration.yaml.save
Executable file
67
volumes/config/configuration.yaml.save
Executable file
@@ -0,0 +1,67 @@
|
|||||||
|
|
||||||
|
# Configure a default setup of Home Assistant (frontend, api, etc)
|
||||||
|
default_config:
|
||||||
|
|
||||||
|
http:
|
||||||
|
server_port: 80
|
||||||
|
use_x_forwarded_for: true
|
||||||
|
trusted_proxies:
|
||||||
|
- 192.168.1.0/24
|
||||||
|
# Text to speech
|
||||||
|
tts:
|
||||||
|
- platform: google_translate
|
||||||
|
|
||||||
|
|
||||||
|
webostv:
|
||||||
|
name: Living Room TV
|
||||||
|
host: 192.168.1.249
|
||||||
|
#other settings
|
||||||
|
turn_on_action:
|
||||||
|
service: wake_on_lan.send_magic_packet
|
||||||
|
data:
|
||||||
|
mac: B0:37:95:8D:06:78
|
||||||
|
wake_on_lan:
|
||||||
|
|
||||||
|
group: !include groups.yaml
|
||||||
|
automation: !include automations.yaml
|
||||||
|
script: !include scripts.yaml
|
||||||
|
scene: !include scenes.yaml
|
||||||
|
|
||||||
|
light:
|
||||||
|
# Example configuration.yaml entry
|
||||||
|
- platform: flux_led
|
||||||
|
devices:
|
||||||
|
192.168.2.48:
|
||||||
|
name: movel_tv_strip
|
||||||
|
mode: rgb
|
||||||
|
|
||||||
|
sensor:
|
||||||
|
- platform: command_line
|
||||||
|
command: "python3 /config/scripts/limbowiki_get_info.py"
|
||||||
|
name: limbowiki_info
|
||||||
|
json_attributes:
|
||||||
|
- status
|
||||||
|
- version
|
||||||
|
- platform: template
|
||||||
|
sensors:
|
||||||
|
limbowiki_info_status:
|
||||||
|
value_template: "{{ state_attr('sensor.limbowiki_info', 'status') }}"
|
||||||
|
limbowiki_info_version:
|
||||||
|
value_template: "{{ state_attr('sensor.limbowiki_info', 'version') }}"
|
||||||
|
|
||||||
|
|
||||||
|
sensor livingroom audio:
|
||||||
|
platform: mqtt
|
||||||
|
state_topic: "home/devices/livingroom/audio/input"
|
||||||
|
name: "livingroom Audio"
|
||||||
|
|
||||||
|
sensor livingroom bluetooth devices:
|
||||||
|
platform: mqtt
|
||||||
|
state_topic: "home/devices/livingroom/bluetooth/devices"
|
||||||
|
json_attributes_topic: "home/devices/livingroom/bluetooth/devices"
|
||||||
|
name: "livingroom bluetooth devices"
|
||||||
|
value_template: Bluetooth Devices Counter {{ value_json|length }}
|
||||||
|
json_attributes_template: >
|
||||||
|
{"json":"{{value_json|json}}"}
|
||||||
|
|
||||||
|
| json
|
||||||
0
volumes/config/groups.yaml
Executable file
0
volumes/config/groups.yaml
Executable file
0
volumes/config/scenes.yaml
Normal file
0
volumes/config/scenes.yaml
Normal file
122
volumes/config/scripts.yaml
Normal file
122
volumes/config/scripts.yaml
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
livingroom_start_playing_xbox_script:
|
||||||
|
sequence:
|
||||||
|
- service: script.livingroom_tvon_if_off
|
||||||
|
data: {}
|
||||||
|
- type: turn_on
|
||||||
|
device_id: ab5d0bc41be685464f6308e6a96f6bbe
|
||||||
|
entity_id: remote.xbox_remote
|
||||||
|
domain: remote
|
||||||
|
- service: media_player.select_source
|
||||||
|
target:
|
||||||
|
entity_id: media_player.living_room_tv
|
||||||
|
data:
|
||||||
|
source: XBOX Game Console
|
||||||
|
- service: remote.send_command
|
||||||
|
data:
|
||||||
|
device: irblaster-01
|
||||||
|
command: bddvd
|
||||||
|
target:
|
||||||
|
entity_id: remote.irblaster_01_remote
|
||||||
|
mode: single
|
||||||
|
alias: livingroom_start_playing_xbox
|
||||||
|
icon: mdi:microsoft-xbox
|
||||||
|
livingroom_start_watching_amazonprime:
|
||||||
|
alias: livingroom_start_watching_amazonprime
|
||||||
|
sequence:
|
||||||
|
- service: script.livingroom_tvon_if_off
|
||||||
|
data: {}
|
||||||
|
- service: media_player.select_source
|
||||||
|
target:
|
||||||
|
entity_id: media_player.living_room_tv
|
||||||
|
data:
|
||||||
|
source: Prime Video
|
||||||
|
- service: remote.send_command
|
||||||
|
data:
|
||||||
|
device: irblaster-01
|
||||||
|
command: bddvd
|
||||||
|
target:
|
||||||
|
entity_id: remote.irblaster_01_remote
|
||||||
|
mode: single
|
||||||
|
icon: mid:microsoft-xbox
|
||||||
|
livingroom_start_watching_youtube:
|
||||||
|
alias: livingroom_start_watching_youtube
|
||||||
|
sequence:
|
||||||
|
- service: script.livingroom_tvon_if_off
|
||||||
|
data: {}
|
||||||
|
- service: media_player.select_source
|
||||||
|
target:
|
||||||
|
entity_id: media_player.living_room_tv
|
||||||
|
data:
|
||||||
|
source: YouTube
|
||||||
|
- service: remote.send_command
|
||||||
|
data:
|
||||||
|
device: irblaster-01
|
||||||
|
command: bddvd
|
||||||
|
target:
|
||||||
|
entity_id: remote.irblaster_01_remote
|
||||||
|
mode: single
|
||||||
|
icon: mid:microsoft-xbox
|
||||||
|
livingroom_start_watching_hbomax:
|
||||||
|
alias: livingroom_start_watching_hbomax
|
||||||
|
sequence:
|
||||||
|
- service: script.livingroom_tvon_if_off
|
||||||
|
data: {}
|
||||||
|
- service: media_player.select_source
|
||||||
|
target:
|
||||||
|
entity_id: media_player.living_room_tv
|
||||||
|
data:
|
||||||
|
source: HBO Max
|
||||||
|
- service: remote.send_command
|
||||||
|
data:
|
||||||
|
device: irblaster-01
|
||||||
|
command: bddvd
|
||||||
|
target:
|
||||||
|
entity_id: remote.irblaster_01_remote
|
||||||
|
mode: single
|
||||||
|
icon: mdi:television
|
||||||
|
livingroom_start_watch_vodafone:
|
||||||
|
alias: livingroom_start_watch_vodafone
|
||||||
|
sequence:
|
||||||
|
- service: script.livingroom_tvon_if_off
|
||||||
|
data: {}
|
||||||
|
- service: media_player.select_source
|
||||||
|
target:
|
||||||
|
entity_id: media_player.living_room_tv
|
||||||
|
data:
|
||||||
|
source: HBO Max
|
||||||
|
- service: remote.send_command
|
||||||
|
data:
|
||||||
|
device: irblaster-01
|
||||||
|
command: bddvd
|
||||||
|
target:
|
||||||
|
entity_id: remote.irblaster_01_remote
|
||||||
|
mode: single
|
||||||
|
icon: mdi:television
|
||||||
|
livingroom_tvon_if_off:
|
||||||
|
alias: livingroom_tv_on_if_off
|
||||||
|
sequence:
|
||||||
|
- if:
|
||||||
|
- condition: device
|
||||||
|
device_id: 40438b8ef2cbd6e06c3a1835498c70f0
|
||||||
|
domain: media_player
|
||||||
|
entity_id: media_player.living_room_tv
|
||||||
|
type: is_off
|
||||||
|
then:
|
||||||
|
- service: wake_on_lan.send_magic_packet
|
||||||
|
data:
|
||||||
|
mac: B0:37:95:8D:06:78
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 5
|
||||||
|
milliseconds: 0
|
||||||
|
mode: single
|
||||||
|
icon: mdi:television
|
||||||
|
livingroom_power_off:
|
||||||
|
alias: livingroom_power_off
|
||||||
|
sequence:
|
||||||
|
- service: media_player.turn_off
|
||||||
|
data: {}
|
||||||
|
target:
|
||||||
|
entity_id: media_player.living_room_tv
|
||||||
|
mode: single
|
||||||
18
volumes/config/scripts/limbowiki_get_info.py
Executable file
18
volumes/config/scripts/limbowiki_get_info.py
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
from lxml import html
|
||||||
|
import requests
|
||||||
|
|
||||||
|
# Request the page
|
||||||
|
try:
|
||||||
|
page = requests.get('https://wiki.limbosolutions.com/index.php/P%C3%A1gina_principal', timeout=2)
|
||||||
|
|
||||||
|
# Parsing the page
|
||||||
|
# (We need to use page.content rather than
|
||||||
|
# page.text because html.fromstring implicitly
|
||||||
|
# expects bytes as input.)
|
||||||
|
tree = html.fromstring(page.content)
|
||||||
|
|
||||||
|
# Get element using XPath
|
||||||
|
buyers = tree.xpath('string(//html//head//meta//@content)')
|
||||||
|
print("{\"status\":\"On\",\"version\":\"" + buyers + "\"}")
|
||||||
|
except:
|
||||||
|
print("{\"status\":\"error\"}")
|
||||||
1
volumes/config/www/pimusicbox
Submodule
1
volumes/config/www/pimusicbox
Submodule
Submodule volumes/config/www/pimusicbox added at ff3914345a
1
volumes/config/www/pimusicbox-mydev
Submodule
1
volumes/config/www/pimusicbox-mydev
Submodule
Submodule volumes/config/www/pimusicbox-mydev added at 845f129515
Reference in New Issue
Block a user