n3m3515/docker-p4d

By n3m3515

Updated over 1 year ago

This daemon is fetching data from the S 3200 and store it in a MySQL database.

Image

1.8K

docker-p4d

Linux - P4 Daemon (p4d)

This daemon is fetching data from the S 3200 and store it in a MySQL database.

Written by: Jörg Wendel (linux at jwendel dot de)

Original Repo: https://github.com/horchi/linux-p4d Docker Image Repo: https://github.com/N3m3515/docker-p4d

License

This code is distributed under the terms and conditions of the GNU GENERAL PUBLIC LICENSE. See the file LICENSE for details.

Disclaimer

USE AT YOUR OWN RISK. No warranty. This software is a private contribution and not related Fröling. It may not work with future updates of the S3200 firmware and can also cause unintended behavior. Use at your own risk! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Die Software wurde für den Eigengebrauch erstellt. Sie wird kostenlos unter der GPLv2 veröffentlicht.

Es ist kein fertiges Produkt, die Software entstand als Studie was hinsichtlich der Kommunikation mit der s3200 Steuerung möglich ist und kann Bastlern als Basis und Anregung für eigene Projekte dienen.

Es besteht kein Anspruch auf Funktion, jeder der sie einsetzen möchte muss das Risiko selbst abschätzen können und wissen was er tut, insbesondere auch in Hinblick auf die Einstellungen der Heizungsparameter und den damit verbundenen Risiken hinsichtlich Fehlfunktion, Störung, Brand, etc. Falsche Einstellung können unter anderem durch Bedienfehler und Fehler in dieser Software ausgelöst werden! Die Vorgaben, Vorschriften und AGB des Herstellers der Heizung bleiben maßgebend! Ich kann nicht ausschließen das es zu Fehlfunktionen oder unerwartetem Verhalten, auch hinsichtlich der zur Heizung übertragenen Daten und damit verbundenen, mehr oder weniger kritischen Fehlfunktionen derselben kommen kann!

Donation

If this project help you, you can give me a cup of coffee :)

paypal

Prerequisits:

  • USB-Serial Converter based on FTDI chip
  • USB-Serial converter must be connected to COM1 on Fröling mainboard
  • A Linux based operating system is required

Usage

Docker Standalone

Example full stack deployment via docker-compose.

Save and edit the the below configuration as docker-compose.yml and run docker-compose up -d from the same directory.

# WARNING: Replace the example passwords with secure secrets.

services:
  p4d:
    image: n3m3515/docker-p4d:latest
    container_name: docker-p4d
    privileged: true
    environment:
      - DB_HOST=p4d_db
      - DB_PORT=3306
      - DB_USER=p4_user
      - DB_PASS=p4_pass
      - DB_NAME=p4_db
      - SMTP_MAIL_FROM=user@web.de
      - SMTP_SERVER=smtp.web.de
      - SMTP_Port=587
      - SMTP_TLS=on
      - SMTP_AUTH=on
      - SMTP_USERNAME=user
      - SMTP_PASSWORD=password
      - TZ=Europe/Berlin
    ports:
      - 1111:1111
    devices:
      - /dev/ttyUSB0:/dev/ttyUSB0
    volumes:
      - /linux_p4d/userimages:/var/lib/p4d/img/user/
    restart: unless-stopped
    depends_on:
      - p4d_db
  p4d_db:
    image: lscr.io/linuxserver/mariadb
    container_name: p4d_db
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=p4_pass
      - TZ=Europe/Berlin
      - MYSQL_DATABASE=p4_db
      - MYSQL_USER=p4_user
      - MYSQL_PASSWORD=p4_pass
    volumes:
      - /linux_p4d/mariadb:/config
    restart: unless-stopped


Docker External MySQL Server

Example external MySQL server deployment via docker-compose.

Save and edit the the below configuration as docker-compose.yml and run docker-compose up -d from the same directory.

services:
  p4d:
    image: n3m3515/docker-p4d:latest
    container_name: linux_p4d
    privileged: true
    environment:
      - DB_HOST=database_hostname_or_ip
      - DB_PORT=3306
      - DB_USER=p4
      - DB_PASS=p4
      - DB_NAME=p4
      - SMTP_MAIL_FROM=user@web.de
      - SMTP_SERVER=smtp.web.de
      - SMTP_Port=587
      - SMTP_TLS=on
      - SMTP_AUTH=on
      - SMTP_USERNAME=user
      - SMTP_PASSWORD=password
      - TZ=Europe/Berlin
    ports:
      - 1111:1111
    devices:
      - /dev/ttyUSB0:/dev/ttyUSB0
    volumes:
      - /linux_p4d/userimages:/var/lib/p4d/img/user/
    restart: unless-stopped

Configuration

Supported Docker Environment Variables

A subset of available linux-p4d configuration settings in daemon.conf and msmtprc can be configured via Docker Environment variables.

ENVDefaultContainerDescription
TZ"UTC"Time Zone (e.g "Europe/London")
DB_HOST 📂"localhost"MySQL database host
DB_USER 📂"p4"MySQL database user
DB_PASS 📂"p4"MySQL database password
DB_NAME 📂"p4"MySQL database name
DB_PORT 📂3306MySQL database port
SMTP_PORT 📂25SMTP Connection port
SMTP_MAIL_FROM 📂user@domain.comSMTP Sender Adress
SMTP_TLS 📂offSMTP TLS Option can be on or off
SMTP_SERVER 📂smtp.server.comSMTP Server Hostname or IP
SMTP_AUTH 📂offSMTP Auth Method can be on or off
SMTP_USERNAME 📂usernameSMTP Username
SMTP_PASSWORD 📂passwordSMTP Password

Docker Pull Command

docker pull n3m3515/docker-p4d