Bonjour Pipiche
Merci encore pour l'intégration des disjoncteur.
j'utilise domoticz avec docker donc j'installe le plugin comme indiquer dans le wiki et tout fonctionne bien. Cependant quand il y a une mise à jour de l'image domoticz, je dois reinstaller le plugin.
Ma proposition est il possible de créer un docker file pour ton plugin cela le rendrai indépendant de domoticz et de ces évolution.
pour zwave-js c'est le cas et ca marche super bien que la mise à jour soit sur domoticz ou sur zwave-js cela n'interfaire pas.
https://github.com/zwave-js/zwave-js-ui
Merci d'avance pour ta réponse.
[Dev] Création d'un docker file pour le plugin Zigbeefordomoticz
-
nico213111
- Messages : 72
- Inscription : 30 déc. 2023, 11:18
Re: [Dev] Création d'un docker file pour le plugin Zigbeefordomoticz
La différence avec Zwave-JS, c'est qu'il utilise MQTT pour communiquer avec DomoticZ. Il y a déjà un plugin ZigBee2MQTT.
Le plugin ZigBeeForDomoticZ est intégré à DomoticZ et les échanges se font en Python. Je ne pense pas que ce soit possible si le plugin et DomoticZ sont dans deux conteneurs séparés.
Le plugin ZigBeeForDomoticZ est intégré à DomoticZ et les échanges se font en Python. Je ne pense pas que ce soit possible si le plugin et DomoticZ sont dans deux conteneurs séparés.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: [Dev] Création d'un docker file pour le plugin Zigbeefordomoticz
Bonsoir,
Si l'installation est bien faite, les données se retrouvent à l'extérieur du conteneur, dans le répertoire /opt/domoticz/userdata
C'est l'emplacement pour la base de donnée, les scripts, les plugins... Ces données ne sont donc pas concernées par la mise à jour ou réinitialisation du conteneur.
Personnellement, je mets à jour l'image puis je réinitialise le conteneur, le plugin est toujours là, il ne manque que les différentes dépendances python qui ont elles bien disparues.
Cette partie est gérée par le script customstart.sh qui va s'en occuper si le système a été réinitialisé, il y a peut-être un souci de ce côté là mais il ne s'agit que des librairies python, pas le répertoire du plugin qui perdrait alors également sa base de données.
Si l'installation est bien faite, les données se retrouvent à l'extérieur du conteneur, dans le répertoire /opt/domoticz/userdata
C'est l'emplacement pour la base de donnée, les scripts, les plugins... Ces données ne sont donc pas concernées par la mise à jour ou réinitialisation du conteneur.
Personnellement, je mets à jour l'image puis je réinitialise le conteneur, le plugin est toujours là, il ne manque que les différentes dépendances python qui ont elles bien disparues.
Cette partie est gérée par le script customstart.sh qui va s'en occuper si le système a été réinitialisé, il y a peut-être un souci de ce côté là mais il ne s'agit que des librairies python, pas le répertoire du plugin qui perdrait alors également sa base de données.
Re: [Dev] Création d'un docker file pour le plugin Zigbeefordomoticz
Zigbee for Domoticz - Clef zzh-p (electrolama) 45 devices.
Si vous appréciez ce que je fais, vous pouvez contribuer par un don Paypal , ce qui me permettra notamment l'achat d’équipements et de les tester/valider pour le plugin.
Wiki ici
chat sur Keybase.io
Si vous appréciez ce que je fais, vous pouvez contribuer par un don Paypal , ce qui me permettra notamment l'achat d’équipements et de les tester/valider pour le plugin.
Wiki ici
chat sur Keybase.io
-
jackslayter
- Messages : 1040
- Inscription : 30 sept. 2014, 14:40
- Localisation : Isère (38)
Re: [Dev] Création d'un docker file pour le plugin Zigbeefordomoticz
j'avais commencer à faire un Dockerfile pour voir si ça resolvait mon problème (viewtopic.php?t=13672)
voila mes fichiers, à tester car vu que ça ne marchait pas à cause du rpi32b j'ai pas pu poussé
Dockerfile
docker-entrypoint.sh
voila mes fichiers, à tester car vu que ça ne marchait pas à cause du rpi32b j'ai pas pu poussé
Dockerfile
Code : Tout sélectionner
FROM debian:bullseye-slim
ARG APP_VERSION
ARG APP_HASH
ARG BUILD_DATE
# If stable argument is passed it will download stable instead of beta
ARG BETA
LABEL org.label-schema.version=$APP_VERSION \
org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-ref=$APP_HASH \
org.label-schema.vcs-url="https://github.com/domoticz/domoticz" \
org.label-schema.url="https://domoticz.com/" \
org.label-schema.vendor="Domoticz" \
org.label-schema.name="Domoticz" \
org.label-schema.description="Domoticz open source Home Automation system" \
org.label-schema.license="GPLv3" \
org.label-schema.docker.cmd="docker run -v ./config:/config -v ./plugins:/opt/domoticz/plugins -e DATABASE_PATH=/config/domoticz.db -p 8080:8080 -d domoticz/domoticz" \
maintainer="Domoticz Docker Maintainers <info@domoticz.com>"
WORKDIR /opt/domoticz
ARG DEBIAN_FRONTEND=noninteractive
RUN set -ex \
&& apt-get update \
&& apt-get install --no-install-recommends -y \
tzdata \
unzip \
git \
jq \
libudev-dev \
libusb-0.1-4 \
libsqlite3-0 \
curl libcurl4 libcurl4-gnutls-dev \
libpython3.9-dev \
python3 \
python3-dev \
python3-pip \
&& OS="$(uname -s | sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/')" \
&& MACH=$(uname -m) \
&& if [ ${MACH} = "armv6l" ]; then MACH = "armv7l"; fi \
&& archive_file="domoticz_${OS}_${MACH}.tgz" \
&& version_file="version_${OS}_${MACH}.h" \
&& history_file="history_${OS}_${MACH}.txt" \
&& if [ -z "$STABLE"]; then curl -k -L https://releases.domoticz.com/releases/beta/${archive_file} --output domoticz.tgz; else curl -k -L https://releases.domoticz.com/releases/release/${archive_file} --output domoticz.tgz; fi \
&& tar xfz domoticz.tgz \
&& rm domoticz.tgz \
&& mkdir -p /opt/domoticz/userdata \
&& rm -rf /var/lib/apt/lists/* \
&& pip3 install setuptools requests wheel
VOLUME /opt/domoticz/userdata
EXPOSE 8080
EXPOSE 443
ENV LOG_PATH=
ENV DATABASE_PATH=
ENV WWW_PORT=8080
ENV SSL_PORT=443
ENV EXTRA_CMD_ARG=
# timezone env with default
ENV TZ=Europe/Amsterdam
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh \
&& ln -s usr/local/bin/docker-entrypoint.sh / # backwards compat
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["/opt/domoticz/domoticz"]Code : Tout sélectionner
#!/bin/bash
CMD_ARGS="-www $WWW_PORT"
CMD_ARGS="$CMD_ARGS -noupdates -sslwww $SSL_PORT -userdata /opt/domoticz/userdata"
if [ -n "$LOG_PATH" ]; then
CMD_ARGS="$CMD_ARGS -log $LOG_PATH"
fi
if [ -n "$DATABASE_PATH" ]; then
CMD_ARGS="$CMD_ARGS -dbase $DATABASE_PATH"
fi
if [ -n "$EXTRA_CMD_ARG" ]; then
CMD_ARGS="$CMD_ARGS $EXTRA_CMD_ARG"
fi
if [ -f /opt/domoticz/userdata/customstart.sh ]; then
source /opt/domoticz/userdata/customstart.sh
fi
# check if the examples/templates script folder exists, if not create them
if [ ! -d "/opt/domoticz/userdata/scripts" ]; then
mkdir -p /opt/domoticz/userdata/scripts
mkdir -p /opt/domoticz/userdata/scripts/dzVents/data
cp -R /opt/domoticz/scripts/templates /opt/domoticz/userdata/scripts
cp -R /opt/domoticz/scripts/dzVents/examples /opt/domoticz/userdata/scripts
fi
if [ ! -d "/opt/domoticz/userdata/plugins/Domoticz-Zigbee" ]; then
cd /opt/domoticz/userdata/plugins
git clone https://github.com/zigbeefordomoticz/Domoticz-Zigbee.git
cd Domoticz-Zigbee
git config --add submodule.recurse true
git submodule update --init --recursive
pip3 install --ignore-requires-python -r /opt/domoticz/userdata/plugins/Domoticz-Zigbee/requirements.txt --upgrade
fi
if [ $1 == "/opt/domoticz/domoticz" ]; then
exec $@ $CMD_ARGS
else
exec "$@"
fi
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
-
nico213111
- Messages : 72
- Inscription : 30 déc. 2023, 11:18
Re: [Dev] Création d'un docker file pour le plugin Zigbeefordomoticz
Merci pour vos retour quand j'ai du temps je regarde si j arrive à le faire fonctionner je vous tiens au courant