move files, rename home package to homekit

This commit is contained in:
Evgeny Zinoviev 2023-06-10 23:02:34 +03:00
parent f3b9d50496
commit b0bf43e6a2
151 changed files with 205 additions and 159 deletions

5
.gitignore vendored
View File

@ -6,10 +6,11 @@
config.def.h
__pycache__
.DS_Store
/src/test/test_inverter_monitor.log
/py_include/test/test_inverter_monitor.log
/youtrack-certificate
/cpp
/src/test.py
/py_include/test.py
/bin/test.py
/esp32-cam/CameraWebServer/wifi_password.h
cmake-build-*
.pio

9
bin/__py_include.py Normal file
View File

@ -0,0 +1,9 @@
import sys
import os.path
for _name in ('py_include',):
sys.path.extend([
os.path.realpath(
os.path.join(os.path.dirname(os.path.join(__file__)), '..', _name)
)
])

View File

@ -1,12 +1,13 @@
#!/usr/bin/env python3
import asyncio
import time
import __py_include
from home.config import config
from home.media import MediaNodeServer, ESP32CameraRecordStorage, CameraRecorder
from home.camera import CameraType, esp32
from home.util import Addr
from home import http
from homekit.config import config
from homekit.media import MediaNodeServer, ESP32CameraRecordStorage, CameraRecorder
from homekit.camera import CameraType, esp32
from homekit.util import Addr
from homekit import http
# Implements HTTP API for a camera.

View File

@ -3,11 +3,12 @@ import logging
import os
import sys
import inspect
import __py_include
from home.config import config # do not remove this import!
from homekit.config import config # do not remove this import!
from datetime import datetime, timedelta
from logging import Logger
from home.database import InverterDatabase
from homekit.database import InverterDatabase
from argparse import ArgumentParser, ArgumentError
from typing import Optional

View File

@ -2,10 +2,11 @@
import asyncio
import logging
import os.path
import __py_include
from argparse import ArgumentParser
from home.camera.esp32 import WebClient
from home.util import Addr
from homekit.camera.esp32 import WebClient
from homekit.util import Addr
from apscheduler.schedulers.asyncio import AsyncIOScheduler
from datetime import datetime
from typing import Optional

View File

@ -3,11 +3,12 @@ import asyncio
import logging
import os.path
import tempfile
import home.telegram.aio as telegram
import __py_include
import homekit.telegram.aio as telegram
from home.config import config
from home.camera.esp32 import WebClient
from home.util import Addr, send_datagram, stringify
from homekit.config import config
from homekit.camera.esp32 import WebClient
from homekit.util import Addr, send_datagram, stringify
from apscheduler.schedulers.asyncio import AsyncIOScheduler
from typing import Optional

View File

@ -2,9 +2,10 @@
import logging
import os
import sys
import __py_include
from home.config import config
from home.relay.sunxi_h3_server import RelayServer
from homekit.config import config
from homekit.relay.sunxi_h3_server import RelayServer
logger = logging.getLogger(__name__)

View File

@ -5,30 +5,31 @@ import datetime
import json
import itertools
import sys
import __py_include
from inverterd import Format, InverterError
from html import escape
from typing import Optional, Tuple, Union
from home.util import chunks
from home.config import config, AppConfigUnit
from home.telegram import bot
from home.telegram.config import TelegramBotConfig, TelegramUserListType
from home.inverter import (
from homekit.util import chunks
from homekit.config import config, AppConfigUnit
from homekit.telegram import bot
from homekit.telegram.config import TelegramBotConfig, TelegramUserListType
from homekit.inverter import (
wrapper_instance as inverter,
beautify_table,
InverterMonitor,
)
from home.inverter.types import (
from homekit.inverter.types import (
ChargingEvent,
ACPresentEvent,
BatteryState,
ACMode,
OutputSourcePriority
)
from home.database.inverter_time_formats import FormatDate
from home.api.types import BotType
from home.api import WebApiClient
from homekit.database.inverter_time_formats import FormatDate
from homekit.api.types import BotType
from homekit.api import WebApiClient
from telegram import ReplyKeyboardMarkup, InlineKeyboardMarkup, InlineKeyboardButton

View File

@ -1,7 +1,9 @@
#!/usr/bin/env python3
import __py_include
from argparse import ArgumentParser
from home.config import config, app_config
from home.mqtt import MqttWrapper, MqttNode
from homekit.config import config
from homekit.mqtt import MqttWrapper, MqttNode
if __name__ == '__main__':
@ -17,8 +19,8 @@ if __name__ == '__main__':
node = MqttNode(node_id='inverter')
module_kwargs = {}
if mode == 'sender':
module_kwargs['status_poll_freq'] = int(app_config['poll_freq'])
module_kwargs['generation_poll_freq'] = int(app_config['generation_poll_freq'])
module_kwargs['status_poll_freq'] = int(config.app_config['poll_freq'])
module_kwargs['generation_poll_freq'] = int(config.app_config['generation_poll_freq'])
node.load_module('inverter', **module_kwargs)
mqtt.add_node(node)

View File

@ -1,7 +1,8 @@
#!/usr/bin/env python3
import logging
import __py_include
from home.inverter.emulator import InverterEmulator
from homekit.inverter.emulator import InverterEmulator
if __name__ == '__main__':

View File

@ -5,15 +5,17 @@ import re
import asyncio
import time
import shutil
import home.telegram.aio as telegram
import __py_include
import homekit.telegram.aio as telegram
from apscheduler.schedulers.asyncio import AsyncIOScheduler
from asyncio import Lock
from home.config import config
from home import http
from home.database.sqlite import SQLiteBase
from home.camera import util as camutil
from homekit.config import config
from homekit import http
from homekit.database.sqlite import SQLiteBase
from homekit.camera import util as camutil
from enum import Enum
from typing import Optional, Union, List, Tuple

View File

@ -1,13 +1,14 @@
#!/usr/bin/env python3
import os.path
import __py_include
from time import sleep
from typing import Optional
from argparse import ArgumentParser, ArgumentError
from home.config import config
from home.mqtt import MqttNode, MqttWrapper, get_mqtt_modules
from home.mqtt import MqttNodesConfig
from homekit.config import config
from homekit.mqtt import MqttNode, MqttWrapper, get_mqtt_modules
from homekit.mqtt import MqttNodesConfig
mqtt_node: Optional[MqttNode] = None
mqtt: Optional[MqttWrapper] = None

View File

@ -1,11 +1,12 @@
#!/usr/bin/env python3
import home.telegram as telegram
import __py_include
import homekit.telegram as telegram
from home.telegram.config import TelegramChatsConfig
from home.util import validate_mac_address
from homekit.telegram.config import TelegramChatsConfig
from homekit.util import validate_mac_address
from typing import Optional
from home.config import config, AppConfigUnit
from home.database import BotsDatabase, SimpleState
from homekit.config import config, AppConfigUnit
from homekit.database import BotsDatabase, SimpleState
class OpenwrtLogAnalyzerConfig(AppConfigUnit):

View File

@ -1,12 +1,13 @@
#!/usr/bin/env python3
import os
import __py_include
from datetime import datetime
from typing import Tuple, List, Optional
from argparse import ArgumentParser
from home.config import config, AppConfigUnit
from home.database import SimpleState
from home.api import WebApiClient
from homekit.config import config, AppConfigUnit
from homekit.database import SimpleState
from homekit.api import WebApiClient
class OpenwrtLoggerConfig(AppConfigUnit):

View File

@ -1,4 +1,5 @@
#!/usr/bin/env python3
import __py_include
if __name__ == '__main__':
print('TODO')

View File

@ -2,11 +2,12 @@
import os
import yaml
import re
import __py_include
from pprint import pprint
from argparse import ArgumentParser, ArgumentError
from home.pio import get_products, platformio_ini
from home.pio.exceptions import ProductConfigNotFoundError
from homekit.pio import get_products, platformio_ini
from homekit.pio.exceptions import ProductConfigNotFoundError
def get_config(product: str) -> dict:

View File

@ -1,6 +1,7 @@
#!/usr/bin/env python3
from __future__ import annotations
import __py_include
import logging
import locale
import queue
@ -8,11 +9,11 @@ import time
import threading
import paho.mqtt.client as mqtt
from home.telegram import bot
from home.api.types import BotType
from home.mqtt import Mqtt
from home.config import config
from home.util import chunks
from homekit.telegram import bot
from homekit.api.types import BotType
from homekit.mqtt import Mqtt
from homekit.config import config
from homekit.util import chunks
from syncleo import (
Kettle,
PowerType,

View File

@ -4,12 +4,13 @@
import logging
import sys
import paho.mqtt.client as mqtt
import __py_include
from typing import Optional
from argparse import ArgumentParser
from queue import SimpleQueue
from home.mqtt import Mqtt
from home.config import config
from homekit.mqtt import Mqtt
from homekit.config import config
from syncleo import (
Kettle,
PowerType,

View File

@ -1,19 +1,21 @@
#!/usr/bin/env python3
import __py_include
from enum import Enum
from typing import Optional
from telegram import ReplyKeyboardMarkup, User
from time import time
from datetime import datetime
from home.config import config, is_development_mode
from home.telegram import bot
from home.telegram._botutil import user_any_name
from home.relay.sunxi_h3_client import RelayClient
from home.api.types import BotType
from home.mqtt import MqttNode, MqttWrapper, MqttPayload
from home.mqtt.module.relay import MqttPowerStatusPayload, MqttRelayModule
from home.mqtt.module.temphum import MqttTemphumDataPayload
from home.mqtt.module.diagnostics import InitialDiagnosticsPayload, DiagnosticsPayload
from homekit.config import config, is_development_mode
from homekit.telegram import bot
from homekit.telegram._botutil import user_any_name
from homekit.relay.sunxi_h3_client import RelayClient
from homekit.api.types import BotType
from homekit.mqtt import MqttNode, MqttWrapper, MqttPayload
from homekit.mqtt.module.relay import MqttPowerStatusPayload, MqttRelayModule
from homekit.mqtt.module.temphum import MqttTemphumDataPayload
from homekit.mqtt.module.diagnostics import InitialDiagnosticsPayload, DiagnosticsPayload
config.load_app('pump_bot')

View File

@ -1,16 +1,17 @@
#!/usr/bin/env python3
import datetime
import __py_include
from enum import Enum
from typing import Optional
from telegram import ReplyKeyboardMarkup, User
from home.config import config
from home.telegram import bot
from home.telegram._botutil import user_any_name
from home.mqtt import MqttNode, MqttPayload
from home.mqtt.module.relay import MqttRelayState
from home.mqtt.module.diagnostics import InitialDiagnosticsPayload, DiagnosticsPayload
from homekit.config import config
from homekit.telegram import bot
from homekit.telegram._botutil import user_any_name
from homekit.mqtt import MqttNode, MqttPayload
from homekit.mqtt.module.relay import MqttRelayState
from homekit.mqtt.module.diagnostics import InitialDiagnosticsPayload, DiagnosticsPayload
config.load_app('pump_mqtt_bot')

View File

@ -1,18 +1,19 @@
#!/usr/bin/env python3
import sys
import __py_include
from enum import Enum
from typing import Optional, Union
from telegram import ReplyKeyboardMarkup
from functools import partial
from home.config import config, AppConfigUnit, Translation
from home.telegram import bot
from home.telegram.config import TelegramBotConfig
from home.mqtt import MqttPayload, MqttNode, MqttWrapper, MqttModule
from home.mqtt import MqttNodesConfig
from home.mqtt.module.relay import MqttRelayModule, MqttRelayState
from home.mqtt.module.diagnostics import InitialDiagnosticsPayload, DiagnosticsPayload
from homekit.config import config, AppConfigUnit, Translation
from homekit.telegram import bot
from homekit.telegram.config import TelegramBotConfig
from homekit.mqtt import MqttPayload, MqttNode, MqttWrapper, MqttModule
from homekit.mqtt import MqttNodesConfig
from homekit.mqtt.module.relay import MqttRelayModule, MqttRelayState
from homekit.mqtt.module.diagnostics import InitialDiagnosticsPayload, DiagnosticsPayload
if __name__ != '__main__':

View File

@ -1,11 +1,12 @@
#!/usr/bin/env python3
import logging
import __py_include
from home import http
from home.config import config, AppConfigUnit
from home.mqtt import MqttPayload, MqttWrapper, MqttNode, MqttModule, MqttNodesConfig
from home.mqtt.module.relay import MqttRelayState, MqttRelayModule, MqttPowerStatusPayload
from home.mqtt.module.diagnostics import InitialDiagnosticsPayload, DiagnosticsPayload
from homekit import http
from homekit.config import config, AppConfigUnit
from homekit.mqtt import MqttPayload, MqttWrapper, MqttNode, MqttModule, MqttNodesConfig
from homekit.mqtt.module.relay import MqttRelayState, MqttRelayModule, MqttPowerStatusPayload
from homekit.mqtt.module.diagnostics import InitialDiagnosticsPayload, DiagnosticsPayload
from typing import Optional, Union

View File

@ -4,6 +4,7 @@ import socket
import logging
import re
import gc
import __py_include
from io import BytesIO
from typing import Optional
@ -14,11 +15,11 @@ import matplotlib.ticker as mticker
from telegram import ReplyKeyboardMarkup, InlineKeyboardMarkup, InlineKeyboardButton
from home.config import config
from home.telegram import bot
from home.util import chunks, MySimpleSocketClient
from home.api import WebApiClient
from home.api.types import (
from homekit.config import config
from homekit.telegram import bot
from homekit.util import chunks, MySimpleSocketClient
from homekit.api import WebApiClient
from homekit.api.types import (
BotType,
TemperatureSensorLocation
)

View File

@ -2,21 +2,22 @@
import logging
import os
import tempfile
import __py_include
from enum import Enum
from datetime import datetime, timedelta
from html import escape
from typing import Optional, List, Dict, Tuple
from home.config import config
from home.api import WebApiClient
from home.api.types import SoundSensorLocation, BotType
from home.api.errors import ApiResponseError
from home.media import SoundNodeClient, SoundRecordClient, SoundRecordFile, CameraNodeClient
from home.soundsensor import SoundSensorServerGuardClient
from home.util import Addr, chunks, filesize_fmt
from homekit.config import config
from homekit.api import WebApiClient
from homekit.api.types import SoundSensorLocation, BotType
from homekit.api.errors import ApiResponseError
from homekit.media import SoundNodeClient, SoundRecordClient, SoundRecordFile, CameraNodeClient
from homekit.soundsensor import SoundSensorServerGuardClient
from homekit.util import Addr, chunks, filesize_fmt
from home.telegram import bot
from homekit.telegram import bot
from telegram.error import TelegramError
from telegram import ReplyKeyboardMarkup, InlineKeyboardMarkup, InlineKeyboardButton, User

View File

@ -1,12 +1,13 @@
#!/usr/bin/env python3
import os
import __py_include
from typing import Optional
from home.config import config
from home.audio import amixer
from home.media import MediaNodeServer, SoundRecordStorage, SoundRecorder
from home import http
from homekit.config import config
from homekit.audio import amixer
from homekit.media import MediaNodeServer, SoundRecordStorage, SoundRecorder
from homekit import http
# This script must be run as root as it runs arecord.

View File

@ -2,10 +2,11 @@
import logging
import os
import sys
import __py_include
from home.config import config
from home.util import Addr
from home.soundsensor import SoundSensorNode
from homekit.config import config
from homekit.util import Addr
from homekit.soundsensor import SoundSensorNode
logger = logging.getLogger(__name__)

View File

@ -1,16 +1,17 @@
#!/usr/bin/env python3
import logging
import threading
import __py_include
from time import sleep
from typing import Optional, List, Dict, Tuple
from functools import partial
from home.config import config
from home.util import Addr
from home.api import WebApiClient, RequestParams
from home.api.types import SoundSensorLocation
from home.soundsensor import SoundSensorServer, SoundSensorHitHandler
from home.media import MediaNodeType, SoundRecordClient, CameraRecordClient, RecordClient
from homekit.config import config
from homekit.util import Addr
from homekit.api import WebApiClient, RequestParams
from homekit.api.types import SoundSensorLocation
from homekit.soundsensor import SoundSensorServer, SoundSensorHitHandler
from homekit.media import MediaNodeType, SoundRecordClient, CameraRecordClient, RecordClient
interrupted = False
logger = logging.getLogger(__name__)

View File

@ -1,6 +1,6 @@
#!/usr/bin/env python3
from home.config import config
import __py_include
from homekit.config import config
if __name__ == '__main__':
config.load_app('ssh_tunnels_config_util')

View File

@ -2,12 +2,13 @@
import asyncio
import json
import logging
import __py_include
from typing import Optional
from home.config import config
from home.temphum import SensorType, BaseSensor
from home.temphum.i2c import create_sensor
from homekit.config import config
from homekit.temphum import SensorType, BaseSensor
from homekit.temphum.i2c import create_sensor
logger = logging.getLogger(__name__)
sensor: Optional[BaseSensor] = None

View File

@ -1,9 +1,10 @@
#!/usr/bin/env python3
import paho.mqtt.client as mqtt
import re
import __py_include
from home.config import config
from home.mqtt import MqttWrapper, MqttNode
from homekit.config import config
from homekit.mqtt import MqttWrapper, MqttNode
class MqttServer(Mqtt):

View File

@ -1,5 +1,7 @@
#!/usr/bin/env python3
from home.mqtt.temphum import MqttTempHumNodes
import __py_include
from homekit.mqtt.temphum import MqttTempHumNodes
if __name__ == '__main__':
max_name_len = 0

View File

@ -1,7 +1,9 @@
#!/usr/bin/env python3
import __py_include
from argparse import ArgumentParser
from home.temphum import SensorType
from home.temphum.i2c import create_sensor
from homekit.temphum import SensorType
from homekit.temphum.i2c import create_sensor
if __name__ == '__main__':

View File

@ -2,12 +2,13 @@
import asyncio
import json
import logging
import __py_include
from typing import Optional
from home.config import config
from home.temphum import SensorType, BaseSensor
from home.temphum.i2c import create_sensor
from homekit.config import config
from homekit.temphum import SensorType, BaseSensor
from homekit.temphum.i2c import create_sensor
logger = logging.getLogger(__name__)
sensor: Optional[BaseSensor] = None

View File

@ -2,16 +2,17 @@
import asyncio
import json
import os
import __py_include
from datetime import datetime, timedelta
from aiohttp import web
from home import http
from home.config import config, is_development_mode
from home.database import BotsDatabase, SensorsDatabase, InverterDatabase
from home.database.inverter_time_formats import *
from home.api.types import BotType, TemperatureSensorLocation, SoundSensorLocation
from home.media import SoundRecordStorage
from homekit import http
from homekit.config import config, is_development_mode
from homekit.database import BotsDatabase, SensorsDatabase, InverterDatabase
from homekit.database.inverter_time_formats import *
from homekit.api.types import BotType, TemperatureSensorLocation, SoundSensorLocation
from homekit.media import SoundRecordStorage
def strptime_auto(s: str) -> datetime:

View File

@ -45,7 +45,7 @@ class Mqtt:
'..',
'..',
'..',
'assets',
'misc',
'mqtt_ca.crt'
))
self._client.tls_set(ca_certs=ca_certs,

View File

@ -11,7 +11,7 @@ from .._module import MqttModule
from .._node import MqttNode
from .._payload import MqttPayload, bit_field
try:
from home.database import InverterDatabase
from homekit.database import InverterDatabase
except:
pass

Some files were not shown because too many files have changed in this diff Show More