server-up/apps/dsmr-reader/template.json
Ramon b54e7003e8
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 13m41s
v0.8.30-beta - depends_on in sjablonen, en vijftien domotica-apps
- Nieuwe metadata-sleutel depends_on: een sjabloon kan zeggen welke andere app
  het nodig heeft en waarom. Het installatiescherm toont dat voor het invullen,
  met een knop naar dat sjabloon. Advies, geen blokkade -- de broker of Home
  Assistant kan net zo goed op een andere machine staan
- De reden is verplicht; een waarschuwing zonder uitleg klik je weg. De korte
  vorm ["mosquitto"] werkt ook, voor sjablonen uit externe repo's
- Toegepast op acht sjablonen waar het gemis onzichtbaar was: zigbee2mqtt,
  alloy, alertmanager, node-exporter, cadvisor, collabora, double-take, soularr.
  Niet op element, open-webui, exportarr, unpackerr en onlyoffice: die werken
  met meerdere alternatieven, en depends_on kent geen "een van deze"
- Vijftien domotica-apps, van 12 naar 27 in die categorie: Piper, Whisper en
  openWakeWord (spraakbediening van Home Assistant, tot nu toe volledig
  afwezig), Matter Server, Matter Hub, AppDaemon, go2rtc, Double Take,
  Domoticz, openHAB, DSMR-reader (P1-poort slimme meter), rtl_433 (433 MHz
  sensoren naar MQTT), Traccar, Snapcast en EMQX
- Catalogus van 241 naar 256 apps; alle 285 images gecontroleerd

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q9eqpADJSRs49SoGGr4NAy
2026-08-01 04:58:50 +02:00

114 lines
2.8 KiB
JSON

{
"kind": "compose",
"metadata": {
"name": "DSMR-reader",
"description": "Leest de P1-poort van je slimme meter uit en houdt verbruik, teruglevering en gasstanden bij, met grafieken per dag en per jaar.",
"tags": [
"energie",
"slimme-meter",
"p1"
],
"icon": {
"provider": "selfhst",
"id": "dsmr-reader"
},
"version": {
"name": "latest"
},
"categories": [
"domotica",
"gezin"
]
},
"variables": [
{
"title": "Algemeen",
"items": [
{
"name": "service_name",
"type": "str",
"title": "Servicenaam",
"default": "dsmrreader",
"required": true
},
{
"name": "port",
"type": "int",
"title": "Webinterface",
"default": 8221,
"required": true,
"description": "Standaard 80; hier verplaatst omdat die poort al bezet is"
},
{
"name": "appdata_dir",
"type": "str",
"title": "Appdata-map",
"default": "/opt/serverup/appdata",
"required": true,
"description": "Basismap voor de gegevens van deze app"
},
{
"name": "timezone",
"type": "str",
"title": "Tijdzone",
"default": "Europe/Amsterdam",
"required": true
}
]
},
{
"title": "Instellingen",
"items": [
{
"name": "p1_apparaat",
"type": "str",
"title": "P1-kabel",
"default": "/dev/ttyUSB0",
"required": true,
"description": "Het apparaat van je P1-kabel op de host",
"help": "Zoek het met `ls -l /dev/serial/by-id/`. Gebruik bij voorkeur dat pad in plaats van /dev/ttyUSB0: dat nummer kan na een herstart bij een ander apparaat horen."
},
{
"name": "admin_user",
"type": "str",
"title": "Gebruikersnaam",
"default": "admin",
"required": true
}
]
},
{
"title": "Toegang",
"items": [
{
"name": "db_password",
"type": "str",
"title": "Databasewachtwoord",
"default": "",
"required": true,
"secret": true,
"generate": "auto",
"description": "Wordt automatisch ingevuld en in .env bewaard"
},
{
"name": "secret_key",
"type": "str",
"title": "Django-sleutel",
"default": "",
"required": true,
"secret": true,
"generate": "auto"
},
{
"name": "admin_password",
"type": "str",
"title": "Wachtwoord",
"default": "",
"required": true,
"secret": true,
"eigen_invoer": true
}
]
}
]
}