bootshorn stuff
This commit is contained in:
parent
6d38d04a1e
commit
841f523f73
7 changed files with 49 additions and 5 deletions
|
@ -112,6 +112,11 @@ def process_recording(filename):
|
|||
|
||||
sample_num += samples_per_block - overlapping_samples
|
||||
|
||||
# move to PROCESSED_RECORDINGS_DIR
|
||||
|
||||
os.makedirs(PROCESSED_RECORDINGS_DIR, exist_ok=True)
|
||||
shutil.move(os.path.join(RECORDINGS_DIR, filename), os.path.join(PROCESSED_RECORDINGS_DIR, filename))
|
||||
|
||||
|
||||
# write a spectrogram using the sound from start to end of the event
|
||||
def write_event(current_event, soundfile, samplerate):
|
||||
|
|
|
@ -7,7 +7,6 @@ do
|
|||
# get date in ISO 8601 format with nanoseconds
|
||||
PROGRAMM=$(test $(uname) = "Darwin" && echo "gdate" || echo "date")
|
||||
DATE=$($PROGRAMM "+%Y-%m-%d_%H-%M-%S.%6N%z")
|
||||
FILE="recordings/$DATE.flac"
|
||||
|
||||
# record audio using ffmpeg
|
||||
ffmpeg \
|
||||
|
@ -20,7 +19,7 @@ do
|
|||
-t "3600" \
|
||||
-c:a flac \
|
||||
-compression_level 12 \
|
||||
"$FILE.part"
|
||||
"recordings/current/$DATE.flac"
|
||||
|
||||
mv "$FILE.part" "$FILE"
|
||||
mv "recordings/current/$DATE.flac" "recordings/$DATE.flac"
|
||||
done
|
||||
|
|
|
@ -8,7 +8,7 @@ urllib3.disable_warnings()
|
|||
import os
|
||||
|
||||
|
||||
HUE_IP = "10.0.0.134" # replace with your bridge IP
|
||||
HUE_IP = "${hue_ip}" # replace with your bridge IP
|
||||
HUE_APP_KEY = "${hue_app_key}" # local only
|
||||
HUE_DEVICE_ID = "31f58786-3242-4e88-b9ce-23f44ba27bbe"
|
||||
TEMPERATURE_LOG_DIR = "/opt/bootshorn/temperatures"
|
||||
|
|
|
@ -7,11 +7,15 @@ directories = {
|
|||
'owner': 'ckn',
|
||||
'group': 'ckn',
|
||||
},
|
||||
'/opt/bootshorn/temperatures': {
|
||||
'owner': 'ckn',
|
||||
'group': 'ckn',
|
||||
},
|
||||
'/opt/bootshorn/recordings': {
|
||||
'owner': 'ckn',
|
||||
'group': 'ckn',
|
||||
},
|
||||
'/opt/bootshorn/temperatures': {
|
||||
'/opt/bootshorn/recordings/current': {
|
||||
'owner': 'ckn',
|
||||
'group': 'ckn',
|
||||
},
|
||||
|
@ -34,6 +38,7 @@ files = {
|
|||
'/opt/bootshorn/temperature': {
|
||||
'content_type': 'mako',
|
||||
'context': {
|
||||
'hue_ip': repo.get_node('home.hue').hostname,
|
||||
'hue_app_key': repo.vault.decrypt('encrypt$gAAAAABoc2WxZCLbxl-Z4IrSC97CdOeFgBplr9Fp5ujpd0WCCCPNBUY_WquHN86z8hKLq5Y04dwq8TdJW0PMSOSgTFbGgdp_P1q0jOBLEKaW9IIT1YM88h-JYwLf9QGDV_5oEfvnBCtO'),
|
||||
},
|
||||
'owner': 'ckn',
|
||||
|
|
30
hass_get_temp.py
Normal file
30
hass_get_temp.py
Normal file
|
@ -0,0 +1,30 @@
|
|||
#! /usr/bin/env python3
|
||||
|
||||
import requests
|
||||
from datetime import datetime, timedelta, timezone
|
||||
|
||||
BASE = "https://homeassistant.ckn.li"
|
||||
TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI1YjY0ZWE5N2FiMzM0NTQ0OGMyNjhmZTIxYzAxZTE1MSIsImlhdCI6MTc1NjAzOTAxNCwiZXhwIjoyMDcxMzk5MDE0fQ.X-sQli-NTpCjeXpn19zf-maPRDldkSeTuhKZua1k8uM"
|
||||
ENTITY = "sensor.hue_outdoor_motion_sensor_2_temperature"
|
||||
|
||||
HEADERS = {
|
||||
"Authorization": f"Bearer {TOKEN}",
|
||||
"Content-Type": "application/json",
|
||||
}
|
||||
|
||||
begin = datetime(2025, 7, 1, 0, 0, 0, tzinfo=timezone.utc)
|
||||
current = begin
|
||||
now = datetime.now(timezone.utc)
|
||||
|
||||
while current < now:
|
||||
current += timedelta(hours=1)
|
||||
resp = requests.get(
|
||||
f"{BASE}/api/history/period/{current.isoformat()}",
|
||||
params={
|
||||
"end_time": current.isoformat(),
|
||||
"filter_entity_id": ENTITY
|
||||
},
|
||||
headers=HEADERS,
|
||||
timeout=15,
|
||||
)
|
||||
print(current, resp.json())
|
|
@ -15,3 +15,5 @@
|
|||
},
|
||||
},
|
||||
}
|
||||
|
||||
# rsync -avh --progress -e 'ssh -o "StrictHostKeyChecking no"' 10.0.0.150:/opt/bootshorn/recordings /tank/bootshorn
|
||||
|
|
|
@ -33,6 +33,9 @@
|
|||
# ssh-ed25519
|
||||
# AAAAC3NzaC1lZDI1NTE5AAAAIJT9Spe+BYue7iiutl3rSf6PlU6dthHizyK+ZWnLodrA
|
||||
# root@home.server
|
||||
# - >-
|
||||
# ssh-ed25519
|
||||
# AAAAC3NzaC1lZDI1NTE5AAAAILMVroYmswD4tLk6iH+2tvQiyaMe42yfONDsPDIdFv6I ckn
|
||||
# sftp: true
|
||||
# compatibility_mode: false
|
||||
# allow_agent_forwarding: false
|
||||
|
|
Loading…
Reference in a new issue