Repository navigation
Add CONFIG_SCHEMA (clear hassfest warning); fix stale docs URL #38
pr_agent.yaml
on: pull_request_target
Run pr agent on every pull request, respond to user comments
50s
Annotations
9 warnings
|
Run pr agent on every pull request, respond to user comments
`** that reads as a failure:\n\n```\n[WARNING] [CONFIG_SCHEMA] Integrations which implement 'async_setup' or 'setup'\nmust define either 'CONFIG_SCHEMA', 'PLATFORM_SCHEMA' or 'PLATFORM_SCHEMA_BASE'.\n... cv.config_entry_only_config_schema can be used.\n```\n\nThe integration defines `async_setup` (to register the `solis_write_holding_register` / `solis_write_time` services) but declares no config schema. It's config-entry only and consumes no YAML config, so this adds:\n\n```python\nCONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)\n```\n\nwhich clears the warning and formally asserts the integration takes no YAML configuration.\n\nAlso repoints the manifest `documentation` field from the dead `solisconnect.readthedocs.io` to the published GitHub Pages docs (`https://fboundy.github.io/solisconnect/`), matching the README fix from #34.\n\n## Test plan\n- [x] Full suite: 362 passed (setup/services included — `config_entry_only_config_schema` doesn't break config-entry setup)\n- [x] `ruff check` / `ruff format --check` clean\n======\n\n\nThe PR code diff:\n======\n## File: 'custom_components/solisconnect/__init__.py'\n\n@@ -1,10 +1,11 @@\n__new hunk__\n1 \"\"\"The Modbus Integration.\"\"\"\n2 \n3 import asyncio\n4 import logging\n5 from datetime import datetime\n6 \n7 +import homeassistant.helpers.config_validation as cv\n8 import voluptuous as vol\n9 from homeassistant.components.persistent_notification import async_create as pn_create\n10 from homeassistant.config_entries import ConfigEntry\n11 from homeassistant.const import Platform\n\n@@ -45,17 +46,22 @@\n__new hunk__\n46 PROTO_MODBUS_ONLY,\n47 TIME_ENTITIES,\n48 )\n49 from .data.solis_config import SOLIS_INVERTERS, InverterConfig, InverterType, inverter_options_from_config\n50 from .helpers import get_controller, redact_config, remove_entities_for_controller, set_controller, unique_id_generator\n51 from .inverter_hub import SolisInverterHub\n52 from .modbus_controller import ModbusController\n53 from .sensors.solis_base_sensor import SolisBaseSensor, SolisSensorGroup\n54 \n55 _LOGGER = logging.getLogger(__name__)\n56 \n57 PLATFORMS = [Platform.NUMBER, Platform.SWITCH, Platform.BINARY_SENSOR, Platform.TIME, Platform.SELECT]\n58 \n59 +# This integration is configured only via the config flow (no YAML config). async_setup\n60 +# just registers services, so declare an empty config schema — this silences hassfest's\n61 +# CONFIG_SCHEMA warning and asserts the integration takes no YAML configuration.\n62 +CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)\n63 +\n64 SCHEME_HOLDING_REGISTER = vol.Schema(\n65 {\n66 vol.Required(\"address\"): vol.Coerce(int),\n67 vol.Required(\"value\"): vol.Coerce(int),\n\n\n## File: 'custom_components/solisconnect/manifest.json'\n\n@@ -1,13 +1,13 @@\n__new hunk__\n1 {\n2 \"domain\": \"solisconnect\",\n3 \"name\": \"SolisConnect\",\n4 \"codeowners\": [\n5 \"@fboundy\"\n6 ],\n7 \"config_flow\": true,\n8 \"dependencies\": [],\n9 + \"documentation\": \"https://fboundy.github.io/solisconnect/\",\n10 \"integration_type\": \"device\",\n11 \"iot_class\": \"local_polling\",\n12 \"issue_tracker\": \"https://github.com/fboundy/solisconnect/issues\",\n13 \"quality_scale\": \"silver\",\n__old hunk__\n {\n \"domain\": \"solisconnect\",\n \"name\": \"SolisConnect\",\n \"codeowners\": [\n \"@fboundy\"\n ],\n \"config_flow\": true,\n \"dependencies\": [],\n- \"documentation\": \"https://solisconnect.readthedocs.io\",\n \"integration_type\": \"device\",\n \"iot_class\": \"local_polling\",\n \"issue_tracker\": \"https://github.com/fboundy/solisconnect/issues\",\n \"quality_scale\": \"silver\",\n======\n\n\nResponse (should be a valid YAML, and nothing else):\n```yaml"}}, "file": {"name": "litellm_ai_handler.py", "path": "/app/pr_agent/algo/ai_handlers/litellm_ai_handler.py"}, "function": "chat_completion", "level": {"icon": "🐞", "name": "DEBUG", "no": 10}, "line": 593, "message": "Prompts", "module": "litellm_ai_handler",
|
|
Run pr agent on every pull request, respond to user comments
`** that reads as a failure:\n\n```\n[WARNING] [CONFIG_SCHEMA] Integrations which implement 'async_setup' or 'setup'\nmust define either 'CONFIG_SCHEMA', 'PLATFORM_SCHEMA' or 'PLATFORM_SCHEMA_BASE'.\n... cv.config_entry_only_config_schema can be used.\n```\n\nThe integration defines `async_setup` (to register the `solis_write_holding_register` / `solis_write_time` services) but declares no config schema. It's config-entry only and consumes no YAML config, so this adds:\n\n```python\nCONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)\n```\n\nwhich clears the warning and formally asserts the integration takes no YAML configuration.\n\nAlso repoints the manifest `documentation` field from the dead `solisconnect.readthedocs.io` to the published GitHub Pages docs (`https://fboundy.github.io/solisconnect/`), matching the README fix from #34.\n\n## Test plan\n- [x] Full suite: 362 passed (setup/services included — `config_entry_only_config_schema` doesn't break config-entry setup)\n- [x] `ruff check` / `ruff format --check` clean\n======\n\n\nThe PR code diff:\n======\n## File: 'custom_components/solisconnect/__init__.py'\n\n@@ -1,10 +1,11 @@\n__new hunk__\n1 \"\"\"The Modbus Integration.\"\"\"\n2 \n3 import asyncio\n4 import logging\n5 from datetime import datetime\n6 \n7 +import homeassistant.helpers.config_validation as cv\n8 import voluptuous as vol\n9 from homeassistant.components.persistent_notification import async_create as pn_create\n10 from homeassistant.config_entries import ConfigEntry\n11 from homeassistant.const import Platform\n\n@@ -45,17 +46,22 @@\n__new hunk__\n46 PROTO_MODBUS_ONLY,\n47 TIME_ENTITIES,\n48 )\n49 from .data.solis_config import SOLIS_INVERTERS, InverterConfig, InverterType, inverter_options_from_config\n50 from .helpers import get_controller, redact_config, remove_entities_for_controller, set_controller, unique_id_generator\n51 from .inverter_hub import SolisInverterHub\n52 from .modbus_controller import ModbusController\n53 from .sensors.solis_base_sensor import SolisBaseSensor, SolisSensorGroup\n54 \n55 _LOGGER = logging.getLogger(__name__)\n56 \n57 PLATFORMS = [Platform.NUMBER, Platform.SWITCH, Platform.BINARY_SENSOR, Platform.TIME, Platform.SELECT]\n58 \n59 +# This integration is configured only via the config flow (no YAML config). async_setup\n60 +# just registers services, so declare an empty config schema — this silences hassfest's\n61 +# CONFIG_SCHEMA warning and asserts the integration takes no YAML configuration.\n62 +CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)\n63 +\n64 SCHEME_HOLDING_REGISTER = vol.Schema(\n65 {\n66 vol.Required(\"address\"): vol.Coerce(int),\n67 vol.Required(\"value\"): vol.Coerce(int),\n\n\n## File: 'custom_components/solisconnect/manifest.json'\n\n@@ -1,13 +1,13 @@\n__new hunk__\n1 {\n2 \"domain\": \"solisconnect\",\n3 \"name\": \"SolisConnect\",\n4 \"codeowners\": [\n5 \"@fboundy\"\n6 ],\n7 \"config_flow\": true,\n8 \"dependencies\": [],\n9 + \"documentation\": \"https://fboundy.github.io/solisconnect/\",\n10 \"integration_type\": \"device\",\n11 \"iot_class\": \"local_polling\",\n12 \"issue_tracker\": \"https://github.com/fboundy/solisconnect/issues\",\n13 \"quality_scale\": \"silver\",\n__old hunk__\n {\n \"domain\": \"solisconnect\",\n \"name\": \"SolisConnect\",\n \"codeowners\": [\n \"@fboundy\"\n ],\n \"config_flow\": true,\n \"dependencies\": [],\n- \"documentation\": \"https://solisconnect.readthedocs.io\",\n \"integration_type\": \"device\",\n \"iot_class\": \"local_polling\",\n \"issue_tracker\": \"https://github.com/fboundy/solisconnect/issues\",\n \"quality_scale\": \"silver\",\n======\n\n\nResponse (should be a valid YAML, and nothing else):\n```yaml"}}, "file": {"name": "litellm_ai_handler.py", "path": "/app/pr_agent/algo/ai_handlers/litellm_ai_handler.py"}, "function": "chat_completion", "level": {"icon": "🐞", "name": "DEBUG", "no": 10}, "line": 593, "message": "Prompts", "module": "litellm_ai_handler",
|
|
Run pr agent on every pull request, respond to user comments
`** that reads as a failure:\n\n```\n[WARNING] [CONFIG_SCHEMA] Integrations which implement 'async_setup' or 'setup'\nmust define either 'CONFIG_SCHEMA', 'PLATFORM_SCHEMA' or 'PLATFORM_SCHEMA_BASE'.\n... cv.config_entry_only_config_schema can be used.\n```\n\nThe integration defines `async_setup` (to register the `solis_write_holding_register` / `solis_write_time` services) but declares no config schema. It's config-entry only and consumes no YAML config, so this adds:\n\n```python\nCONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)\n```\n\nwhich clears the warning and formally asserts the integration takes no YAML configuration.\n\nAlso repoints the manifest `documentation` field from the dead `solisconnect.readthedocs.io` to the published GitHub Pages docs (`https://fboundy.github.io/solisconnect/`), matching the README fix from #34.\n\n## Test plan\n- [x] Full suite: 362 passed (setup/services included — `config_entry_only_config_schema` doesn't break config-entry setup)\n- [x] `ruff check` / `ruff format --check` clean\n======\n\n\nThe PR code diff:\n======\n## File: 'custom_components/solisconnect/__init__.py'\n\n@@ -1,10 +1,11 @@\n__new hunk__\n1 \"\"\"The Modbus Integration.\"\"\"\n2 \n3 import asyncio\n4 import logging\n5 from datetime import datetime\n6 \n7 +import homeassistant.helpers.config_validation as cv\n8 import voluptuous as vol\n9 from homeassistant.components.persistent_notification import async_create as pn_create\n10 from homeassistant.config_entries import ConfigEntry\n11 from homeassistant.const import Platform\n\n@@ -45,17 +46,22 @@\n__new hunk__\n46 PROTO_MODBUS_ONLY,\n47 TIME_ENTITIES,\n48 )\n49 from .data.solis_config import SOLIS_INVERTERS, InverterConfig, InverterType, inverter_options_from_config\n50 from .helpers import get_controller, redact_config, remove_entities_for_controller, set_controller, unique_id_generator\n51 from .inverter_hub import SolisInverterHub\n52 from .modbus_controller import ModbusController\n53 from .sensors.solis_base_sensor import SolisBaseSensor, SolisSensorGroup\n54 \n55 _LOGGER = logging.getLogger(__name__)\n56 \n57 PLATFORMS = [Platform.NUMBER, Platform.SWITCH, Platform.BINARY_SENSOR, Platform.TIME, Platform.SELECT]\n58 \n59 +# This integration is configured only via the config flow (no YAML config). async_setup\n60 +# just registers services, so declare an empty config schema — this silences hassfest's\n61 +# CONFIG_SCHEMA warning and asserts the integration takes no YAML configuration.\n62 +CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)\n63 +\n64 SCHEME_HOLDING_REGISTER = vol.Schema(\n65 {\n66 vol.Required(\"address\"): vol.Coerce(int),\n67 vol.Required(\"value\"): vol.Coerce(int),\n\n\n## File: 'custom_components/solisconnect/manifest.json'\n\n@@ -1,13 +1,13 @@\n__new hunk__\n1 {\n2 \"domain\": \"solisconnect\",\n3 \"name\": \"SolisConnect\",\n4 \"codeowners\": [\n5 \"@fboundy\"\n6 ],\n7 \"config_flow\": true,\n8 \"dependencies\": [],\n9 + \"documentation\": \"https://fboundy.github.io/solisconnect/\",\n10 \"integration_type\": \"device\",\n11 \"iot_class\": \"local_polling\",\n12 \"issue_tracker\": \"https://github.com/fboundy/solisconnect/issues\",\n13 \"quality_scale\": \"silver\",\n__old hunk__\n {\n \"domain\": \"solisconnect\",\n \"name\": \"SolisConnect\",\n \"codeowners\": [\n \"@fboundy\"\n ],\n \"config_flow\": true,\n \"dependencies\": [],\n- \"documentation\": \"https://solisconnect.readthedocs.io\",\n \"integration_type\": \"device\",\n \"iot_class\": \"local_polling\",\n \"issue_tracker\": \"https://github.com/fboundy/solisconnect/issues\",\n \"quality_scale\": \"silver\",\n======\n\n\nResponse (should be a valid YAML, and nothing else):\n```yaml"}}, "file": {"name": "litellm_ai_handler.py", "path": "/app/pr_agent/algo/ai_handlers/litellm_ai_handler.py"}, "function": "chat_completion", "level": {"icon": "🐞", "name": "DEBUG", "no": 10}, "line": 593, "message": "Prompts", "module": "litellm_ai_handler",
|
|
Run pr agent on every pull request, respond to user comments
`** that reads as a failure:\n\n```\n[WARNING] [CONFIG_SCHEMA] Integrations which implement 'async_setup' or 'setup'\nmust define either 'CONFIG_SCHEMA', 'PLATFORM_SCHEMA' or 'PLATFORM_SCHEMA_BASE'.\n... cv.config_entry_only_config_schema can be used.\n```\n\nThe integration defines `async_setup` (to register the `solis_write_holding_register` / `solis_write_time` services) but declares no config schema. It's config-entry only and consumes no YAML config, so this adds:\n\n```python\nCONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)\n```\n\nwhich clears the warning and formally asserts the integration takes no YAML configuration.\n\nAlso repoints the manifest `documentation` field from the dead `solisconnect.readthedocs.io` to the published GitHub Pages docs (`https://fboundy.github.io/solisconnect/`), matching the README fix from #34.\n\n## Test plan\n- [x] Full suite: 362 passed (setup/services included — `config_entry_only_config_schema` doesn't break config-entry setup)\n- [x] `ruff check` / `ruff format --check` clean\n======\n\n\nThe PR code diff:\n======\n## File: 'custom_components/solisconnect/__init__.py'\n\n@@ -1,10 +1,11 @@\n__new hunk__\n1 \"\"\"The Modbus Integration.\"\"\"\n2 \n3 import asyncio\n4 import logging\n5 from datetime import datetime\n6 \n7 +import homeassistant.helpers.config_validation as cv\n8 import voluptuous as vol\n9 from homeassistant.components.persistent_notification import async_create as pn_create\n10 from homeassistant.config_entries import ConfigEntry\n11 from homeassistant.const import Platform\n\n@@ -45,17 +46,22 @@\n__new hunk__\n46 PROTO_MODBUS_ONLY,\n47 TIME_ENTITIES,\n48 )\n49 from .data.solis_config import SOLIS_INVERTERS, InverterConfig, InverterType, inverter_options_from_config\n50 from .helpers import get_controller, redact_config, remove_entities_for_controller, set_controller, unique_id_generator\n51 from .inverter_hub import SolisInverterHub\n52 from .modbus_controller import ModbusController\n53 from .sensors.solis_base_sensor import SolisBaseSensor, SolisSensorGroup\n54 \n55 _LOGGER = logging.getLogger(__name__)\n56 \n57 PLATFORMS = [Platform.NUMBER, Platform.SWITCH, Platform.BINARY_SENSOR, Platform.TIME, Platform.SELECT]\n58 \n59 +# This integration is configured only via the config flow (no YAML config). async_setup\n60 +# just registers services, so declare an empty config schema — this silences hassfest's\n61 +# CONFIG_SCHEMA warning and asserts the integration takes no YAML configuration.\n62 +CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)\n63 +\n64 SCHEME_HOLDING_REGISTER = vol.Schema(\n65 {\n66 vol.Required(\"address\"): vol.Coerce(int),\n67 vol.Required(\"value\"): vol.Coerce(int),\n\n\n## File: 'custom_components/solisconnect/manifest.json'\n\n@@ -1,13 +1,13 @@\n__new hunk__\n1 {\n2 \"domain\": \"solisconnect\",\n3 \"name\": \"SolisConnect\",\n4 \"codeowners\": [\n5 \"@fboundy\"\n6 ],\n7 \"config_flow\": true,\n8 \"dependencies\": [],\n9 + \"documentation\": \"https://fboundy.github.io/solisconnect/\",\n10 \"integration_type\": \"device\",\n11 \"iot_class\": \"local_polling\",\n12 \"issue_tracker\": \"https://github.com/fboundy/solisconnect/issues\",\n13 \"quality_scale\": \"silver\",\n__old hunk__\n {\n \"domain\": \"solisconnect\",\n \"name\": \"SolisConnect\",\n \"codeowners\": [\n \"@fboundy\"\n ],\n \"config_flow\": true,\n \"dependencies\": [],\n- \"documentation\": \"https://solisconnect.readthedocs.io\",\n \"integration_type\": \"device\",\n \"iot_class\": \"local_polling\",\n \"issue_tracker\": \"https://github.com/fboundy/solisconnect/issues\",\n \"quality_scale\": \"silver\",\n======\n\n\nResponse (should be a valid YAML, and nothing else):\n```yaml"}}, "file": {"name": "litellm_ai_handler.py", "path": "/app/pr_agent/algo/ai_handlers/litellm_ai_handler.py"}, "function": "chat_completion", "level": {"icon": "🐞", "name": "DEBUG", "no": 10}, "line": 593, "message": "Prompts", "module": "litellm_ai_handler",
|
|
Run pr agent on every pull request, respond to user comments
`** that reads as a failure:\n\n```\n[WARNING] [CONFIG_SCHEMA] Integrations which implement 'async_setup' or 'setup'\nmust define either 'CONFIG_SCHEMA', 'PLATFORM_SCHEMA' or 'PLATFORM_SCHEMA_BASE'.\n... cv.config_entry_only_config_schema can be used.\n```\n\nThe integration defines `async_setup` (to register the `solis_write_holding_register` / `solis_write_time` services) but declares no config schema. It's config-entry only and consumes no YAML config, so this adds:\n\n```python\nCONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)\n```\n\nwhich clears the warning and formally asserts the integration takes no YAML configuration.\n\nAlso repoints the manifest `documentation` field from the dead `solisconnect.readthedocs.io` to the published GitHub Pages docs (`https://fboundy.github.io/solisconnect/`), matching the README fix from #34.\n\n## Test plan\n- [x] Full suite: 362 passed (setup/services included — `config_entry_only_config_schema` doesn't break config-entry setup)\n- [x] `ruff check` / `ruff format --check` clean\n=====\n\nBranch: 'patch'\n\nCommit messages:\n=====\n1. Add CONFIG_SCHEMA to silence hassfest warning; fix stale docs URL\n\nhassfest emits a CONFIG_SCHEMA warning because the integration defines\nasync_setup (to register services) without declaring a config schema.\nThe integration is config-entry only and consumes no YAML config, so\ndeclare CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN).\nThis clears the yellow hassfest annotation.\n\nAlso repoint the manifest 'documentation' field from the dead\nsolisconnect.readthedocs.io to the published GitHub Pages docs.\n=====\n\n\nThe PR Git Diff:\n=====\n## File: 'custom_components/solisconnect/__init__.py'\n\n@@ -1,10 +1,11 @@ \n \"\"\"The Modbus Integration.\"\"\"\n \n import asyncio\n import logging\n from datetime import datetime\n \n+import homeassistant.helpers.config_validation as cv\n import voluptuous as vol\n from homeassistant.components.persistent_notification import async_create as pn_create\n from homeassistant.config_entries import ConfigEntry\n from homeassistant.const import Platform\n\n\n@@ -45,17 +46,22 @@ \n PROTO_MODBUS_ONLY,\n TIME_ENTITIES,\n )\n from .data.solis_config import SOLIS_INVERTERS, InverterConfig, InverterType, inverter_options_from_config\n from .helpers import get_controller, redact_config, remove_entities_for_controller, set_controller, unique_id_generator\n from .inverter_hub import SolisInverterHub\n from .modbus_controller import ModbusController\n from .sensors.solis_base_sensor import SolisBaseSensor, SolisSensorGroup\n \n _LOGGER = logging.getLogger(__name__)\n \n PLATFORMS = [Platform.NUMBER, Platform.SWITCH, Platform.BINARY_SENSOR, Platform.TIME, Platform.SELECT]\n \n+# This integration is configured only via the config flow (no YAML config). async_setup\n+# just registers services, so declare an empty config schema — this silences hassfest's\n+# CONFIG_SCHEMA warning and asserts the integration takes no YAML configuration.\n+CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)\n+\n SCHEME_HOLDING_REGISTER = vol.Schema(\n {\n vol.Required(\"address\"): vol.Coerce(int),\n vol.Required(\"value\"): vol.Coerce(int),\n\n\n\n## File: 'custom_components/solisconnect/manifest.json'\n\n@@ -1,13 +1,13 @@ \n {\n \"domain\": \"solisconnect\",\n \"name\": \"SolisConnect\",\n \"codeowners\": [\n \"@fboundy\"\n ],\n \"config_flow\": true,\n \"dependencies\": [],\n- \"documentation\": \"https://solisconnect.readthedocs.io\",\n+ \"documentation\": \"https://fboundy.github.io/solisconnect/\",\n \"integration_type\": \"device\",\n \"iot_class\": \"local_polling\",\n \"issue_tracker\": \"https://github.com/fboundy/solisconnect/issues\",\n \"quality_scale\": \"silver\",\n=====\n\nNote that lines in the diff body are prefixed with a symbol that represents the type of change: '-' for deletions, '+' for additions, and ' ' (a space) for unchanged lines.\n\n\nResponse (should be a valid YAML, and nothing else):\n```yaml"}}, "file": {"name": "litellm_ai_ha
|
|
Run pr agent on every pull request, respond to user comments
`** that reads as a failure:\n\n```\n[WARNING] [CONFIG_SCHEMA] Integrations which implement 'async_setup' or 'setup'\nmust define either 'CONFIG_SCHEMA', 'PLATFORM_SCHEMA' or 'PLATFORM_SCHEMA_BASE'.\n... cv.config_entry_only_config_schema can be used.\n```\n\nThe integration defines `async_setup` (to register the `solis_write_holding_register` / `solis_write_time` services) but declares no config schema. It's config-entry only and consumes no YAML config, so this adds:\n\n```python\nCONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)\n```\n\nwhich clears the warning and formally asserts the integration takes no YAML configuration.\n\nAlso repoints the manifest `documentation` field from the dead `solisconnect.readthedocs.io` to the published GitHub Pages docs (`https://fboundy.github.io/solisconnect/`), matching the README fix from #34.\n\n## Test plan\n- [x] Full suite: 362 passed (setup/services included — `config_entry_only_config_schema` doesn't break config-entry setup)\n- [x] `ruff check` / `ruff format --check` clean\n=====\n\nBranch: 'patch'\n\nCommit messages:\n=====\n1. Add CONFIG_SCHEMA to silence hassfest warning; fix stale docs URL\n\nhassfest emits a CONFIG_SCHEMA warning because the integration defines\nasync_setup (to register services) without declaring a config schema.\nThe integration is config-entry only and consumes no YAML config, so\ndeclare CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN).\nThis clears the yellow hassfest annotation.\n\nAlso repoint the manifest 'documentation' field from the dead\nsolisconnect.readthedocs.io to the published GitHub Pages docs.\n=====\n\n\nThe PR Git Diff:\n=====\n## File: 'custom_components/solisconnect/__init__.py'\n\n@@ -1,10 +1,11 @@ \n \"\"\"The Modbus Integration.\"\"\"\n \n import asyncio\n import logging\n from datetime import datetime\n \n+import homeassistant.helpers.config_validation as cv\n import voluptuous as vol\n from homeassistant.components.persistent_notification import async_create as pn_create\n from homeassistant.config_entries import ConfigEntry\n from homeassistant.const import Platform\n\n\n@@ -45,17 +46,22 @@ \n PROTO_MODBUS_ONLY,\n TIME_ENTITIES,\n )\n from .data.solis_config import SOLIS_INVERTERS, InverterConfig, InverterType, inverter_options_from_config\n from .helpers import get_controller, redact_config, remove_entities_for_controller, set_controller, unique_id_generator\n from .inverter_hub import SolisInverterHub\n from .modbus_controller import ModbusController\n from .sensors.solis_base_sensor import SolisBaseSensor, SolisSensorGroup\n \n _LOGGER = logging.getLogger(__name__)\n \n PLATFORMS = [Platform.NUMBER, Platform.SWITCH, Platform.BINARY_SENSOR, Platform.TIME, Platform.SELECT]\n \n+# This integration is configured only via the config flow (no YAML config). async_setup\n+# just registers services, so declare an empty config schema — this silences hassfest's\n+# CONFIG_SCHEMA warning and asserts the integration takes no YAML configuration.\n+CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)\n+\n SCHEME_HOLDING_REGISTER = vol.Schema(\n {\n vol.Required(\"address\"): vol.Coerce(int),\n vol.Required(\"value\"): vol.Coerce(int),\n\n\n\n## File: 'custom_components/solisconnect/manifest.json'\n\n@@ -1,13 +1,13 @@ \n {\n \"domain\": \"solisconnect\",\n \"name\": \"SolisConnect\",\n \"codeowners\": [\n \"@fboundy\"\n ],\n \"config_flow\": true,\n \"dependencies\": [],\n- \"documentation\": \"https://solisconnect.readthedocs.io\",\n+ \"documentation\": \"https://fboundy.github.io/solisconnect/\",\n \"integration_type\": \"device\",\n \"iot_class\": \"local_polling\",\n \"issue_tracker\": \"https://github.com/fboundy/solisconnect/issues\",\n \"quality_scale\": \"silver\",\n=====\n\nNote that lines in the diff body are prefixed with a symbol that represents the type of change: '-' for deletions, '+' for additions, and ' ' (a space) for unchanged lines.\n\n\nResponse (should be a valid YAML, and nothing else):\n```yaml"}}, "file": {"name": "litellm_ai_ha
|
|
Run pr agent on every pull request, respond to user comments
`** that reads as a failure:\n\n```\n[WARNING] [CONFIG_SCHEMA] Integrations which implement 'async_setup' or 'setup'\nmust define either 'CONFIG_SCHEMA', 'PLATFORM_SCHEMA' or 'PLATFORM_SCHEMA_BASE'.\n... cv.config_entry_only_config_schema can be used.\n```\n\nThe integration defines `async_setup` (to register the `solis_write_holding_register` / `solis_write_time` services) but declares no config schema. It's config-entry only and consumes no YAML config, so this adds:\n\n```python\nCONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)\n```\n\nwhich clears the warning and formally asserts the integration takes no YAML configuration.\n\nAlso repoints the manifest `documentation` field from the dead `solisconnect.readthedocs.io` to the published GitHub Pages docs (`https://fboundy.github.io/solisconnect/`), matching the README fix from #34.\n\n## Test plan\n- [x] Full suite: 362 passed (setup/services included — `config_entry_only_config_schema` doesn't break config-entry setup)\n- [x] `ruff check` / `ruff format --check` clean\n=====\n\nBranch: 'patch'\n\nCommit messages:\n=====\n1. Add CONFIG_SCHEMA to silence hassfest warning; fix stale docs URL\n\nhassfest emits a CONFIG_SCHEMA warning because the integration defines\nasync_setup (to register services) without declaring a config schema.\nThe integration is config-entry only and consumes no YAML config, so\ndeclare CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN).\nThis clears the yellow hassfest annotation.\n\nAlso repoint the manifest 'documentation' field from the dead\nsolisconnect.readthedocs.io to the published GitHub Pages docs.\n=====\n\n\nThe PR Git Diff:\n=====\n## File: 'custom_components/solisconnect/__init__.py'\n\n@@ -1,10 +1,11 @@ \n \"\"\"The Modbus Integration.\"\"\"\n \n import asyncio\n import logging\n from datetime import datetime\n \n+import homeassistant.helpers.config_validation as cv\n import voluptuous as vol\n from homeassistant.components.persistent_notification import async_create as pn_create\n from homeassistant.config_entries import ConfigEntry\n from homeassistant.const import Platform\n\n\n@@ -45,17 +46,22 @@ \n PROTO_MODBUS_ONLY,\n TIME_ENTITIES,\n )\n from .data.solis_config import SOLIS_INVERTERS, InverterConfig, InverterType, inverter_options_from_config\n from .helpers import get_controller, redact_config, remove_entities_for_controller, set_controller, unique_id_generator\n from .inverter_hub import SolisInverterHub\n from .modbus_controller import ModbusController\n from .sensors.solis_base_sensor import SolisBaseSensor, SolisSensorGroup\n \n _LOGGER = logging.getLogger(__name__)\n \n PLATFORMS = [Platform.NUMBER, Platform.SWITCH, Platform.BINARY_SENSOR, Platform.TIME, Platform.SELECT]\n \n+# This integration is configured only via the config flow (no YAML config). async_setup\n+# just registers services, so declare an empty config schema — this silences hassfest's\n+# CONFIG_SCHEMA warning and asserts the integration takes no YAML configuration.\n+CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)\n+\n SCHEME_HOLDING_REGISTER = vol.Schema(\n {\n vol.Required(\"address\"): vol.Coerce(int),\n vol.Required(\"value\"): vol.Coerce(int),\n\n\n\n## File: 'custom_components/solisconnect/manifest.json'\n\n@@ -1,13 +1,13 @@ \n {\n \"domain\": \"solisconnect\",\n \"name\": \"SolisConnect\",\n \"codeowners\": [\n \"@fboundy\"\n ],\n \"config_flow\": true,\n \"dependencies\": [],\n- \"documentation\": \"https://solisconnect.readthedocs.io\",\n+ \"documentation\": \"https://fboundy.github.io/solisconnect/\",\n \"integration_type\": \"device\",\n \"iot_class\": \"local_polling\",\n \"issue_tracker\": \"https://github.com/fboundy/solisconnect/issues\",\n \"quality_scale\": \"silver\",\n=====\n\nNote that lines in the diff body are prefixed with a symbol that represents the type of change: '-' for deletions, '+' for additions, and ' ' (a space) for unchanged lines.\n\n\nResponse (should be a valid YAML, and nothing else):\n```yaml"}}, "file": {"name": "litellm_ai_ha
|
|
Run pr agent on every pull request, respond to user comments
`** that reads as a failure:\n\n```\n[WARNING] [CONFIG_SCHEMA] Integrations which implement 'async_setup' or 'setup'\nmust define either 'CONFIG_SCHEMA', 'PLATFORM_SCHEMA' or 'PLATFORM_SCHEMA_BASE'.\n... cv.config_entry_only_config_schema can be used.\n```\n\nThe integration defines `async_setup` (to register the `solis_write_holding_register` / `solis_write_time` services) but declares no config schema. It's config-entry only and consumes no YAML config, so this adds:\n\n```python\nCONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)\n```\n\nwhich clears the warning and formally asserts the integration takes no YAML configuration.\n\nAlso repoints the manifest `documentation` field from the dead `solisconnect.readthedocs.io` to the published GitHub Pages docs (`https://fboundy.github.io/solisconnect/`), matching the README fix from #34.\n\n## Test plan\n- [x] Full suite: 362 passed (setup/services included — `config_entry_only_config_schema` doesn't break config-entry setup)\n- [x] `ruff check` / `ruff format --check` clean\n=====\n\nBranch: 'patch'\n\nCommit messages:\n=====\n1. Add CONFIG_SCHEMA to silence hassfest warning; fix stale docs URL\n\nhassfest emits a CONFIG_SCHEMA warning because the integration defines\nasync_setup (to register services) without declaring a config schema.\nThe integration is config-entry only and consumes no YAML config, so\ndeclare CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN).\nThis clears the yellow hassfest annotation.\n\nAlso repoint the manifest 'documentation' field from the dead\nsolisconnect.readthedocs.io to the published GitHub Pages docs.\n=====\n\n\nThe PR Git Diff:\n=====\n## File: 'custom_components/solisconnect/__init__.py'\n\n@@ -1,10 +1,11 @@ \n \"\"\"The Modbus Integration.\"\"\"\n \n import asyncio\n import logging\n from datetime import datetime\n \n+import homeassistant.helpers.config_validation as cv\n import voluptuous as vol\n from homeassistant.components.persistent_notification import async_create as pn_create\n from homeassistant.config_entries import ConfigEntry\n from homeassistant.const import Platform\n\n\n@@ -45,17 +46,22 @@ \n PROTO_MODBUS_ONLY,\n TIME_ENTITIES,\n )\n from .data.solis_config import SOLIS_INVERTERS, InverterConfig, InverterType, inverter_options_from_config\n from .helpers import get_controller, redact_config, remove_entities_for_controller, set_controller, unique_id_generator\n from .inverter_hub import SolisInverterHub\n from .modbus_controller import ModbusController\n from .sensors.solis_base_sensor import SolisBaseSensor, SolisSensorGroup\n \n _LOGGER = logging.getLogger(__name__)\n \n PLATFORMS = [Platform.NUMBER, Platform.SWITCH, Platform.BINARY_SENSOR, Platform.TIME, Platform.SELECT]\n \n+# This integration is configured only via the config flow (no YAML config). async_setup\n+# just registers services, so declare an empty config schema — this silences hassfest's\n+# CONFIG_SCHEMA warning and asserts the integration takes no YAML configuration.\n+CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)\n+\n SCHEME_HOLDING_REGISTER = vol.Schema(\n {\n vol.Required(\"address\"): vol.Coerce(int),\n vol.Required(\"value\"): vol.Coerce(int),\n\n\n\n## File: 'custom_components/solisconnect/manifest.json'\n\n@@ -1,13 +1,13 @@ \n {\n \"domain\": \"solisconnect\",\n \"name\": \"SolisConnect\",\n \"codeowners\": [\n \"@fboundy\"\n ],\n \"config_flow\": true,\n \"dependencies\": [],\n- \"documentation\": \"https://solisconnect.readthedocs.io\",\n+ \"documentation\": \"https://fboundy.github.io/solisconnect/\",\n \"integration_type\": \"device\",\n \"iot_class\": \"local_polling\",\n \"issue_tracker\": \"https://github.com/fboundy/solisconnect/issues\",\n \"quality_scale\": \"silver\",\n=====\n\nNote that lines in the diff body are prefixed with a symbol that represents the type of change: '-' for deletions, '+' for additions, and ' ' (a space) for unchanged lines.\n\n\nResponse (should be a valid YAML, and nothing else):\n```yaml"}}, "file": {"name": "litellm_ai_ha
|
|
Run pr agent on every pull request, respond to user comments
`** that reads as a failure:\n\n```\n[warning] [config_schema] integrations which implement 'async_setup' or 'setup'\nmust define either 'config_schema', 'platform_schema' or 'platform_schema_base'.\n... cv.config_entry_only_config_schema can be used.\n```\n\nthe integration defines `async_setup` (to register the `solis_write_holding_register` / `solis_write_time` services) but declares no config schema. it's config-entry only and consumes no yaml config, so this adds:\n\n```python\nconfig_schema = cv.config_entry_only_config_schema(domain)\n```\n\nwhich clears the warning and formally asserts the integration takes no yaml configuration.\n\nalso repoints the manifest `documentation` field from the dead `solisconnect.readthedocs.io` to the published github pages docs (`https://fboundy.github.io/solisconnect/`), matching the readme fix from #34.\n\n## test plan\n- [x] full suite: 362 passed (setup/services included — `config_entry_only_config_schema` doesn't break config-entry setup)\n- [x] `ruff check` / `ruff format --check` clean"}, "file": {"name": "git_provider.py", "path": "/app/pr_agent/git_providers/git_provider.py"}, "function": "get_user_description", "level": {"icon": "🐞", "name": "DEBUG", "no": 10}, "line": 271, "message": "Existing description", "module": "git_provider", "name": "pr_agent.git_providers.git_provider", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140456938480448, "name": "MainThread"}, "time": {"repr": "2026-07-10 11:22:37.874443+00:00", "timestamp": 1783682557.874443}}}
|