Code Monkey home page Code Monkey logo

docker-domoticz's Introduction

linuxserver.io

Blog Discord Discourse Fleet GitHub Open Collective

The LinuxServer.io team brings you another container release featuring:

  • regular and timely application updates
  • easy user mappings (PGID, PUID)
  • custom base image with s6 overlay
  • weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
  • regular security updates

Find us at:

  • Blog - all the things you can do with our containers including How-To guides, opinions and much more!
  • Discord - realtime support / chat with the community and the team.
  • Discourse - post on our community forum.
  • Fleet - an online web interface which displays all of our maintained images.
  • GitHub - view the source for all of our repositories.
  • Open Collective - please consider helping us by either donating or contributing to our budget

This image is deprecated. We will not offer support for this image and it will not be updated.

Scarf.io pulls GitHub Stars GitHub Release GitHub Package Repository GitLab Container Registry Quay.io Docker Pulls Docker Stars Jenkins Build LSIO CI

Domoticz is a Home Automation System that lets you monitor and configure various devices like: Lights, Switches, various sensors/meters like Temperature, Rain, Wind, UV, Electra, Gas, Water and much more. Notifications/Alerts can be sent to any mobile device.

domoticz

Supported Architectures

We utilise the docker manifest for multi-platform awareness. More information is available from docker here and our announcement here.

Simply pulling lscr.io/linuxserver/domoticz:latest should retrieve the correct image for your arch, but you can also pull specific arch images via tags.

The architectures supported by this image are:

Architecture Available Tag
x86-64 amd64-<version tag>
arm64 arm64v8-<version tag>
armhf

Application Setup

To configure Domoticz, go to the IP of your docker host on the port you configured (default 8080), and add your hardware in Setup > Hardware. The user manual is available at www.domoticz.com

Usage

To help you get started creating a container from this image you can either use docker-compose or the docker cli.

docker-compose (recommended, click here for more info)

---
version: "2.1"
services:
  domoticz:
    image: lscr.io/linuxserver/domoticz:latest
    container_name: domoticz
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - WEBROOT=domoticz #optional
      - "DBASE=<path to database>" #optional
    volumes:
      - /path/to/data:/config
    ports:
      - 8080:8080
      - 6144:6144
      - 1443:1443
    devices:
      - path to device:path to device
    restart: unless-stopped
docker run -d \
  --name=domoticz \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Etc/UTC \
  -e WEBROOT=domoticz `#optional` \
  -e DBASE="<path to database>" `#optional` \
  -p 8080:8080 \
  -p 6144:6144 \
  -p 1443:1443 \
  -v /path/to/data:/config \
  --device path to device:path to device \
  --restart unless-stopped \
  lscr.io/linuxserver/domoticz:latest

Passing Through USB Devices

To get full use of Domoticz, you probably have a USB device you want to pass through. To figure out which device to pass through, you have to connect the device and look in dmesg for the device node created. Issue the command 'dmesg | tail' after you connected your device and you should see something like below.

usb 1-1.2: new full-speed USB device number 7 using ehci-pci
ftdi_sio 1-1.2:1.0: FTDI USB Serial Device converter detected
usb 1-1.2: Detected FT232RL
usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUSB0

As you can see above, the device node created is ttyUSB0. It does not say where, but it's almost always in /dev/. The correct tag for passing through this USB device is '--device /dev/ttyUSB0:/dev/ttyUSB0'

Parameters

Containers are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate <external>:<internal> respectively. For example, -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080 outside the container.

Parameter Function
-p 8080 WebUI
-p 6144 Domoticz communication port.
-p 1443 Domoticz communication port.
-e PUID=1000 for UserID - see below for explanation
-e PGID=1000 for GroupID - see below for explanation
-e TZ=Etc/UTC specify a timezone to use, see this list.
-e WEBROOT=domoticz Sets webroot to domoticz for usage with subfolder reverse proxy. Not needed unless reverse proxying.
-e DBASE=<path to database> Sets path to database. Do not set unless you know what this does.
-v /config Where Domoticz stores config files and data.
--device path to device For passing through USB devices.

Environment variables from files (Docker secrets)

You can set any environment variable from a file by using a special prepend FILE__.

As an example:

-e FILE__MYVAR=/run/secrets/mysecretvariable

Will set the environment variable MYVAR based on the contents of the /run/secrets/mysecretvariable file.

Umask for running applications

For all of our images we provide the ability to override the default umask settings for services started within the containers using the optional -e UMASK=022 setting. Keep in mind umask is not chmod it subtracts from permissions based on it's value it does not add. Please read up here before asking for support.

User / Group Identifiers

When using volumes (-v flags), permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user PUID and group PGID.

Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.

In this instance PUID=1000 and PGID=1000, to find yours use id your_user as below:

id your_user

Example output:

uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)

Docker Mods

Docker Mods Docker Universal Mods

We publish various Docker Mods to enable additional functionality within the containers. The list of Mods available for this image (if any) as well as universal mods that can be applied to any one of our images can be accessed via the dynamic badges above.

Support Info

  • Shell access whilst the container is running:

    docker exec -it domoticz /bin/bash
  • To monitor the logs of the container in realtime:

    docker logs -f domoticz
  • Container version number:

    docker inspect -f '{{ index .Config.Labels "build_version" }}' domoticz
  • Image version number:

    docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/domoticz:latest

Updating Info

Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the Application Setup section above to see if it is recommended for the image.

Below are the instructions for updating containers:

Via Docker Compose

  • Update images:

    • All images:

      docker-compose pull
    • Single image:

      docker-compose pull domoticz
  • Update containers:

    • All containers:

      docker-compose up -d
    • Single container:

      docker-compose up -d domoticz
  • You can also remove the old dangling images:

    docker image prune

Via Docker Run

  • Update the image:

    docker pull lscr.io/linuxserver/domoticz:latest
  • Stop the running container:

    docker stop domoticz
  • Delete the container:

    docker rm domoticz
  • Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your /config folder and settings will be preserved)

  • You can also remove the old dangling images:

    docker image prune

Via Watchtower auto-updater (only use if you don't remember the original parameters)

  • Pull the latest image at its tag and replace it with the same env variables in one run:

    docker run --rm \
      -v /var/run/docker.sock:/var/run/docker.sock \
      containrrr/watchtower \
      --run-once domoticz
  • You can also remove the old dangling images: docker image prune

warning: We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using Docker Compose.

Image Update Notifications - Diun (Docker Image Update Notifier)

tip: We recommend Diun for update notifications. Other tools that automatically update containers unattended are not recommended or supported.

Building locally

If you want to make local modifications to these images for development purposes or just to customize the logic:

git clone https://github.com/linuxserver/docker-domoticz.git
cd docker-domoticz
docker build \
  --no-cache \
  --pull \
  -t lscr.io/linuxserver/domoticz:latest .

The ARM variants can be built on x86_64 hardware using multiarch/qemu-user-static

docker run --rm --privileged multiarch/qemu-user-static:register --reset

Once registered you can define the dockerfile to use with -f Dockerfile.aarch64.

Versions

  • 29.11.23: - Deprecate.
  • 06.07.23: - Deprecate armhf. As announced here
  • 20.02.23: - Migrate to s6v3.
  • 15.10.22: - Remove deprecated legacy stable branches.
  • 05.02.22: - Set default webroot to /. Add env. variable for setting custom databas path.
  • 26.12.20: - Rebase to Ubuntu Focal, see here for troubleshooting armhf.
  • 24.11.19: - Change to using domoticz builtin Lua and MQTT.
  • 03.11.19: - Set capabilities for domoticz binary and move cmake from edge repo.
  • 28.06.19: - Rebasing to alpine 3.10. Add iputils for ping. Fix typo in readme. Fix permissions for custom icons.
  • 12.05.19: - Add boost dependencies and turn off static boost build. Bump to Alpine 3.9.
  • 30.03.19: - Add env variable to set webroot.
  • 23.03.19: - Switching to new Base images, shift to arm32v7 tag.
  • 19.02.19: - Fix branch for version logic.
  • 11.02.19: - Add pipeline logic and multi arch.
  • 02.07.18: - Add openssh package.
  • 01.07.18: - Fix backup/restore in webgui.
  • 03.04.18: - Add dependencies for BroadlinkRM2 plugin.
  • 20.01.18: - Move telldus core to repo to prevent build fail when source site goes down.
  • 18.01.18: - Remove logging to syslog in the run command to prevent double logging.
  • 04.01.18: - Deprecate cpu_core routine lack of scaling.
  • 08.12.17: - Rebase to alpine 3.7.
  • 26.11.17: - Use cpu core counting routine to speed up build time.
  • 28.05.17: - Rebase to alpine 3.6.
  • 26.02.17: - Add curl and replace openssl with libressl.
  • 11.02.17: - Update README.
  • 03.01.17: - Initial Release.

docker-domoticz's People

Contributors

aptalca avatar chbmb avatar frank071 avatar j0nnymoe avatar linuxserver-ci avatar roxedus avatar sparklyballs avatar squidly271 avatar thelamer avatar thespad avatar tobbenb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-domoticz's Issues

can't connect to 8080

Hello,

I'm running OSMC install on a PI3 and installed docker and then your domoticz container, the problem i'm having at the moment is that i can't connect to http://192.168.1.2:8080

osmc@osmc:~$ docker version
Client:
Version: 18.09.2
API version: 1.39
Go version: go1.10.6
Git commit: 6247962
Built: Sun Feb 10 04:22:28 2019
OS/Arch: linux/arm
Experimental: false

Server: Docker Engine - Community
Engine:
Version: 18.09.2
API version: 1.39 (minimum version 1.12)
Go version: go1.10.6
Git commit: 6247962
Built: Sun Feb 10 03:42:26 2019
OS/Arch: linux/arm
Experimental: false

osmc@osmc:~$ ifconfig
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
inet6 fe80::42:d8ff:fe59:ba6a prefixlen 64 scopeid 0x20
ether 02:42:d8:59:ba:6a txqueuelen 0 (Ethernet)
RX packets 11 bytes 416 (416.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 94 bytes 16929 (16.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

eth0: flags=-28605<UP,BROADCAST,RUNNING,MULTICAST,DYNAMIC> mtu 1500
inet 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255
ether b8:27:eb:95:00:8b txqueuelen 1000 (Ethernet)
RX packets 9892828 bytes 8414432427 (7.8 GiB)
RX errors 0 dropped 7 overruns 0 frame 0
TX packets 4893864 bytes 544156239 (518.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 24346 bytes 2170124 (2.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 24346 bytes 2170124 (2.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

veth5fc608c: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::e002:66ff:fe27:ef0 prefixlen 64 scopeid 0x20
ether e2:02:66:27:0e:f0 txqueuelen 0 (Ethernet)
RX packets 11 bytes 570 (570.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 123 bytes 24112 (23.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

osmc@osmc:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7a40a0ff1ba7 linuxserver/domoticz "/init" 3 minutes ago Up 2 minutes 0.0.0.0:1443->1443/tcp, 0.0.0.0:6144->6144/tcp, 0.0.0.0:8080->8080/tcp domoticz

    "Config": {
        "Hostname": "7a40a0ff1ba7",
        "Domainname": "",
        "User": "",
        "AttachStdin": false,
        "AttachStdout": true,
        "AttachStderr": true,
        "ExposedPorts": {
            "1443/tcp": {},
            "6144/tcp": {},
            "8080/tcp": {}
        },
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "PUID=1000",
            "PGID=1000",
            "TZ=Europe/London",
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/b                                                                                                                                                             in",
            "PS1=$(whoami)@$(hostname):$(pwd)$ ",
            "HOME=/config",
            "TERM=xterm"
        ],
        "Cmd": null,
        "Image": "linuxserver/domoticz",
        "Volumes": {
            "/config": {}
        },
        "WorkingDir": "",
        "Entrypoint": [
            "/init"
        ],
        "OnBuild": null,
        "Labels": {
            "build_version": "Linuxserver.io version:- 98723b7d-ls1 Build-da                                                                                                                                                             te:- 2019-02-18T23:04:55+00:00",
            "maintainer": "saarg"
        }
    },
    "NetworkSettings": {
        "Bridge": "",
        "SandboxID": "a418691a84c36c7d400997994c47daa009734767d19ef303aff59d                                                                                                                                                             55d95c0154",
        "HairpinMode": false,
        "LinkLocalIPv6Address": "",
        "LinkLocalIPv6PrefixLen": 0,
        "Ports": {
            "1443/tcp": [
                {
                    "HostIp": "0.0.0.0",
                    "HostPort": "1443"
                }
            ],
            "6144/tcp": [
                {
                    "HostIp": "0.0.0.0",
                    "HostPort": "6144"
                }
            ],
            "8080/tcp": [
                {
                    "HostIp": "0.0.0.0",
                    "HostPort": "8080"
                }
            ]
        },
        "SandboxKey": "/var/run/docker/netns/a418691a84c3",
        "SecondaryIPAddresses": null,
        "SecondaryIPv6Addresses": null,
        "EndpointID": "228999e2b0269064a9a421f6ad0fe827731e56b13170716966ad0                                                                                                                                                             d457677434c",
        "Gateway": "172.17.0.1",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "IPAddress": "172.17.0.2",
        "IPPrefixLen": 16,
        "IPv6Gateway": "",
        "MacAddress": "02:42:ac:11:00:02",
        "Networks": {
            "bridge": {
                "IPAMConfig": null,
                "Links": null,
                "Aliases": null,
                "NetworkID": "81bedc00dabe2378da6ace4cf23ddd28b2e6f2e69963f5                                                                                                                                                             19f17238fa659dea3f",
                "EndpointID": "228999e2b0269064a9a421f6ad0fe827731e56b131707                                                                                                                                                             16966ad0d457677434c",
                "Gateway": "172.17.0.1",
                "IPAddress": "172.17.0.2",
                "IPPrefixLen": 16,
                "IPv6Gateway": "",
                "GlobalIPv6Address": "",
                "GlobalIPv6PrefixLen": 0,
                "MacAddress": "02:42:ac:11:00:02",
                "DriverOpts": null
            }
        }
    }
}

]

surfing to http://172.17.0.2:8080 doesn't work either.

Can you help me?

Regards,
Ward

Add EXPOSE to Dockerfile

linuxserver.io

Desired Behavior

Expose the domoticz ports explicitly (by adding EXPOSE keyword to Docker file)

Current Behavior

Ever since I installed watchtowerrr the linuxserver/domoticz container dies on an (automatic) update. After some investigation it might be that this is caused by the image to have ports bound, but not exposed. See containrrr/watchtower#832
Looking at differences between this and other linuxserver containers, I found that the domoticz image does not have an EXPOSE keyword in the Dockerfile. From the docker documentation I gather this means that ports are made available, but not published. This might be the culprit.

Alternatives Considered

Perhaps there is good reason for not having that EXPOSE line in the Dockerfile. Please let me know.

Allow to choose the path of the database

linuxserver.io


Desired Behavior

Allow to choose the path of the database with env parameter to change the command line dbase option.

Current Behavior

The database is in the same config path

Configure email notification with gmail

While setting up email notification with gmail, I encounter the following error message.

The Active notification Subsystems: email (1/13) changed from 2/13 to 1/13 after I install the openssl.

apk add openssl

Environment

OS: Debian 10
CPU architecture: x86_64
How docker service was installed:

docker run   --name=domoticz   -e PUID=1000   -e PGID=1000     -p 8083:8080      -v /database/domoticz:/config   --device /dev/ttyACM0:/dev/ttyUSB0   --restart unless-stopped   linuxserver/domoticz

Command used to create docker container (run/create/compose/screenshot)

Docker logs

2020-07-02 20:03:11.084  Error: SMTP Mailer: Error sending Email to: <[email protected]> !
2020-07-02 20:03:11.084  Error: Failed to send Email notification!
2020-07-02 20:03:11.084  Notification sent (email) => Failed
2020-07-02 20:03:11.087  Active notification Subsystems: email (1/13)

logs report an auto-update service not working for python plugin manager plugins

2018-08-22 08:52:49.186 (Pi-Monitor) Calling:/usr/bin/git clone -b master https://github.com/Xorfor/Domoticz-PiMonitor-Plugin.git xfr-pimonitor
2018-08-22 08:52:49.198 Error: (Pi-Monitor) Git ErrorNo:2
2018-08-22 08:52:49.199 Error: (Pi-Monitor) Git StrError:No such file or directory: '/run/s6/services/domoticz/plugins'

This shows for every python plugin-manager related plugin that attempts to check for update.

the location it has somehow decided on as being /run/s6/services/domoticz/plugins does not exist. I wonder if it would be beneficial to automatically create a symlink for that to /config/plugins/ which is where they all live. Unless the git clone won't overwrite in which case, a temp location will be needed, and then an operation to move the plugin-source over from this temp to the normally evaluated plugins location.

New versioning scheme, latest on docker hub is outdated

The current latest image seems outdated (V4.11786), the latest version is 2020.2 (April 26th 2020)

FYI Domoticz has adopted a new versioning scheme, see https://www.domoticz.com/wiki/Domoticz_versions_-_Commits

Expected Behavior

Get the latest released version

Current Behavior

get V4.11786

Steps to Reproduce

docker pull linuxserver/domoticz:arm32v7-latest

Environment

OS: Raspbian 10
CPU architecture: arm32
How docker service was installed: get-docker.sh

Stable image old version, pull request

linuxserver.io

Docker linux
Image on docker is not de latest stable form domoticz

Docker hub image V4.10659
Domoticz latest stable version 4.10717

fix, new image on docker hub

Thanks, team linuxserver.io

xiaomi gateway problem

hi,

i have a problem contacting my gateway.

My docker configu is working fine on my actual rpi so i just want to test on docker before moving on it.

The issue is ;

XiaomiGateway: unable to write command - Invalid key

Documentation says it may be due to blocked igmp snooping. Can it be blocked on the container ?

Bad permissions on /dev/ttyUSB0

linuxserver.io

On my Synology Nas, when the USB device is mounted, /dev/ttyUSB0 came with a 600 permission (root:root), so my ZWave Dongle is not working.

Expected Behavior

USB should work without forcing root user.

Current Behavior

abc user is not allowed to read/write /dev/ttyUSB0.

Steps to Reproduce

--

Environment

**OS: DSM 6.2
**CPU architecture: x86_64
**How docker service was installed: Official repo from Synology Docker GUI

Command used to create docker container (run/create/compose/screenshot)

**

Docker logs

**

Custom icons not working

Previous related issues addressed code. Currently still missing is write permission to write the icons to /var/lib/domoticz/www/images folder. That folder and content is owned by root, the custom icons are tried to be written by abc.
(Noticed this by binding volume to this location, and otherwise adding the icons as root to said location)
It is sufficient to make abc the owner of the mentioned folder (ie: "chown -R abc:abc /var/lib/domoticz/www/images")
It would be great if this was build in.

linuxserver.io

Docker on a debian arm64v8

na

na

na

Thanks, team linuxserver.io

Update Readme

Thanks for fixing back the pipeline as it was (i.e. master/latest --> development branch of Domoticz Repository). Previously. I was unable to start my Domoticz instance since the last update of 20th of January, because master/latest was pointing to the master branch of the Domoticz Repository, which is equal to stable, causing Domoticz to complain about a database version mismatch. And since you cannot downgrade Domoticz anymore since V 4.9700, I was stuck with an old beta version. Anyway, thanks for fixing.

I suggest you also update the readme to reflect this change:

latest | Current latest head from development at https://github.com/domoticz/domoticz.

Kind regards.

Main directory

Hi,
This is no issue, I'm new in docker.
I have Synology DS218+ with your container.
I want to have acces to main directory of domoticz, exactly to www folder.
How to set volumes, to expose www like config to my destination directory?
Best Regards
Michał

Connect to SQLITE domoticz.db

Is this a new feature request?

  • I have searched the existing issues

Wanted change

Hello, I have a temperature sensor that is only active when the pool pump is running. I would like to be able to connect to the database to recalculate the data range when the sensor does not work.
On a classic domoticz (on a raspberry) I use a lua script with the following command :

local handle = io.popen('sqlite3 /config/domoticz.db "SELECT Date, Temperature FROM Temperature WHERE Date >= \'2022-05-16 19:50:00\' AND Date <= \'2022-05-17 08:30:00\' ORDER BY Date; "') local resultQuery = handle:read("*a") handle:close()

While in docker I can't connect.

Do you have a solution, ?

I have already mapped the /config directory on my server, and the database is well accessible from ouside. So at worst I would do the manipulations from the server directly, but since I already had the script, it saved me from redoing it.

Reason for change

I can't connect to the database

Proposed code change

No response

Domoticz doenst start after update

Hello,

I am currently using domoticz in Docker.
Use these:

lscr.io/linuxserver/domoticz

after I update domoticz, I get the following error:

2022-01-31 12:22:26.980 Error: Please specify a web root path

I used the following to roll out the contrainer:
docker run -d
--name=domoticz
-e PUID=1000
-e PGID=1000
-e TZ=Europe/Amsterdam
-p 8080:8080
-p 6144:6144
-p 1443:1443
-v /home/docker/domoticz:/config
--restart unless-stopped
lscr.io/linuxserver/domoticz

I've deleted both the container and the image but after recreating it still doesn't work.
still the same error.
could you maybe help me?

Exec format error after latest update (RPi 4B)

linuxserver.io

I'm using the "latest" tag of domoticz and have for a while now. After the latest update, the container won't start, reading "exec format error"


Expected Behavior

Container should work

Current Behavior

s6-applyuidgid: fatal: unable to exec /usr/bin/domoticz: Exec format error

Steps to Reproduce

  1. Pull linuxserver/domoticz:latest
  2. Run container, note it won't start
  3. View logs

Environment

OS: Raspberry Pi OS x86
CPU architecture: x86_64/arm32/arm64 armhf (RPi 4B)
How docker service was installed: OpenMediaVault

---
version: "2"
services:
  domoticz:
    image: linuxserver/domoticz:latest
    container_name: domoticz
    environment:
      - PUID=998
      - PGID=100
      - TZ=America/New_York
    volumes:
      - /path/to/my/config/domoticz:/config
    ports:
      - 8082:8080 #WebUI
      - 6144:6144 #Domoticz comm port
      - 1443:1443 #Domoticz comm port
    restart: unless-stopped

Docker logs

s6-applyuidgid: fatal: unable to exec /usr/bin/domoticz: Exec format error

Adding 1wire support

Dear,

Is it feasible to add 1wire support to the container.

Thank you a lot in advance.

Kind Regards,
Ihor Hanin

please add the `git` executable

linuxserver.io


Desired Behavior

Having git available would make it possible to install plugins using the https://github.com/stas-demydiuk/domoticz-plugins-manager

Current Behavior

git is not installed, so the recommended method of installing the plugin manager is not possible, also the plugin manager relies on git for installing and updating plugins so th eplugin manager would fail anyway.

Alternatives Considered

using curl with unzip as a workaround for installing the plugin manager, however the plugin manager relies on git as you can see here: https://github.com/stas-demydiuk/domoticz-plugins-manager/blob/95ec06edd2eaafc344f6c22042b203da1f1ab630/manager.py#L74-L83

Please add openssh

Could you please add openssh to the image ?
Many custom scripts for Domoticz use ssh to launch command on other remote hosts.

Thanks, team linuxserver.io

Size of RAM data

Hi,
In my container RAM useage is big, but processes don't eat too much.
How to clead this data, or maybe transfer outside container to harddisk memory?

image

image

Container restart helps, but it's not a answer.

Python issue.

Hi,
I try, to install python plugin for xiaomi vacuum cleaner.
I have issue with python
Command "/usr/bin/python3.6 /usr/lib/python3.6/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-jvkktjvt/overlay --no-warn-script-location --no-binary :none: --only-binar y :none: -i https://pypi.org/simple -- setuptools>=18.5 wheel "cffi>=1.8,!=1.11.3; python_implementation != 'PyPy'"" failed with error code 1 in None

I found some topics about libffi-dev libssl-dev, but apt-get don't work.
Best Regards

Loop detection breaks some domoticz/out relaying

linuxserver.io

Sometime since I last updated my Domoticz container with Unraid, I noticed that domoticz/out is not relaying all messages. Looking into this it seems this is a known issue and can be addressed by either an updated Beta or Stable version.


Expected Behavior

All messages sent to domoticz/in should be forwarded to domoticz/out

Current Behavior

Certain messages do not get forwarded to domoticz/out because of the built in loop detection

Steps to Reproduce

https://www.domoticz.com/forum/viewtopic.php?f=6&t=31711&p=240110&hilit=mqtt#p240110

  1. Add a device such as a THD. Sources such as DarkSky don't seem to be impacted.
  2. View output with mqtt.fx
  3. Messages such as DarkSky will be repeated on domoticz/out, but my custom THD doesn't

Environment

**OS: Unraid (latest)
**CPU architecture: x86_64
How docker service was installed:
Installed from Unraid Apps (linuxserver\domoticz:latest)

Command used to create docker container (run/create/compose/screenshot)

default Unraid template command

Docker logs

Shouldn't need them?

Requesting to have either Beta version updated to 11921, Stable version possibly updated to 2020.1?

Thanks,
Ray

Custom icons is not working

linuxserver.io

Thanks, team linuxserver.io

Previous issues addressed code. Currently still missingis write permission to write the icons to /var/lib/domoticz/www/images folder. That folder and content is owned by root, the custom icons are tried to be written by abc.
(Noticed this by binding volume to this location, and otherwise adding the icons as root to said location)

domoticz apk add mosquitto-clients

Hello or can you add
domoticz apk add mosquitto-clients
because after each update I have to update
docker exec domoticz apk update
docker exec domoticz apk add mosquitto-clients

Thanks

Domoticz doesn't start in unraid

linuxserver.io

Expected Behavior

Just normal startup

Current Behavior

Doesn't start

Steps to Reproduce

1.clean install from Apps/Unraid
2.setting up /dev/ttyUSB0
3.change default port from 8080 to 8082
4.

Environment

OS: Unraid
CPU architecture: x86_64
How docker service was installed:
From Apps/Unraid

Command used to create docker container (run/create/compose/screenshot)

Just standard unraid

Docker logs

2022-10-15 10:07:58.724 Status: Domoticz V2022.1 (c)2012-2022 GizMoCuz
2022-10-15 10:07:58.724 Status: Build Hash: c9526851b, Date: 2022-01-31 09:34:32
2022-10-15 10:07:58.724 Status: Startup Path: /usr/share/domoticz/
2022-10-15 10:07:58.725 Error: Error opening SQLite3 database: unable to open database file
2022-10-15 10:07:58.725 Error: Domoticz(pid:129, tid:129('domoticz')) received fatal signal 6 (Aborted)
2022-10-15 10:07:58.725 Error: siginfo address=0x6300000081, address=0x7efe3a25f00b
2022-10-15 10:07:58.728 Error: Failed to start gdb, will use backtrace() for printing stack frame

2022-10-15 10:07:58.731 Error: #0 /usr/bin/domoticz : + 0x3d3143 [0x55b793a1d143]
2022-10-15 10:07:58.731 Error: #1 /usr/bin/domoticz : signal_handler(int, siginfo_t*, void*) + 0x205 [0x55b793a1dba5]
2022-10-15 10:07:58.731 Error: #2 /lib/x86_64-linux-gnu/libpthread.so.0 : + 0x14420 [0x7efe3a59d420]
2022-10-15 10:07:58.731 Error: #3 /lib/x86_64-linux-gnu/libc.so.6 : gsignal + 0xcb [0x7efe3a25f00b]
2022-10-15 10:07:58.731 Error: #4 /lib/x86_64-linux-gnu/libc.so.6 : abort + 0x12b [0x7efe3a23e859]
2022-10-15 10:07:58.731 Error: #5 /usr/bin/domoticz : + 0x2ecf68 [0x55b793936f68]
2022-10-15 10:07:58.731 Error: #6 /usr/bin/domoticz : __cxxabiv1::__terminate(void (*)()) + 0x6 [0x55b79402afb6]
2022-10-15 10:07:58.731 Error: #7 /usr/bin/domoticz : + 0x9e0ff1 [0x55b79402aff1]
2022-10-15 10:07:58.732 Error: #8 /usr/bin/domoticz : main + 0x6ac [0x55b79393815c]
2022-10-15 10:07:58.732 Error: #9 /lib/x86_64-linux-gnu/libc.so.6 : __libc_start_main + 0xf3 [0x7efe3a240083]
2022-10-15 10:07:58.732 Error: #10 /usr/bin/domoticz : _start + 0x2a [0x55b79395ed9a]

Problem with Xiaomi gateway

Hi, I have problem with Xiaomi gateway.
I Try on jaddahl package for Synology and works. It's build bug, or maybe something else?

image
image
image

Can you include speedtest-cli in the image?

linuxserver.io


Desired Behavior

Domoticz plugin for measuring internet connection speed do need it to operate, The plugin is there , but the speedtest package not.
Once Speedtest plugin in Domoticz is enabled then it collects upload,download and ping.

Current Behavior

Once Speedtest plugin in Domoticz is enabled then no measures are collected and there are errors in log, showing speedtest-cli is not installed.

Alternatives Considered

I've used to install into the docker image after container is created, but it require redo every time I pull the latest image from linuxserver repository.

No more support of arm32v6-latest tag

It seems that armv6 images are no more generated on docker gub.

linuxserver.io

Alpine 3.9.0 on Raspberry pi 1

cat /proc/cpuinfo
processor : 0
model name : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 697.95
Features : half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7

Hardware : BCM2835
Revision : 000f
Serial : 0000000021596408

alpine:~$ docker pull
alpine:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
linuxserver/domoticz arm32v6-latest 87014d868e07 8 weeks ago 147MB

Please continue to support armv6 for the first version of the raspberry pi.
Because domoticz is written in C++ language, it has a very low CPU and memory footprint, and it is working fluently with this hardware.

styles

hi,

is there a way to have an outside folder to put themes in ?

Please add curl

Could you please add curl to the image ? Many custom scripts for Domoticz use API calls via curl.

Thanks, team linuxserver.io

Custom icon upload does not work

Running tag: stable-4.9700
Platform: Synology
Description: When trying to upload custom icons, nothing happens if you press the 'Upload' button.
In the Chrome console, the following error is displayed:

TypeError: $http.post(...).success is not a function
    at b.$scope.uploadFileToUrl (CustomIconsController.js:14)
    at b.$scope.UploadIconSet (CustomIconsController.js:34)
    at fn (eval at compile (angular.min.js:242), <anonymous>:4:159)
    at e (angular.min.js:288)
    at b.$eval (angular.min.js:151)
    at b.$apply (angular.min.js:151)
    at HTMLButtonElement.<anonymous> (angular.min.js:288)
    at HTMLButtonElement.dispatch (jquery-3.3.1.min.js:2)
    at HTMLButtonElement.y.handle (jquery-3.3.1.min.js:2`)

The error is caused by line 14 in file domoticz\www\app\CustomIconsController.js
In Angular 1.6, the $http service has changed: you can't use .success and .error anymore. Instead, use .then. (From $http docs)

The error can be fixed as follows. Replace this:

.success(function (data) {
	if (data.status != "OK") {
		HideNotify();
		ShowNotify($.t('Error uploading Iconset') + ": " + data.error, 5000, true);
	}
	$scope.RefreshIconList();
})
.error(function (data) {
	HideNotify();
	ShowNotify($.t('Error uploading Iconset'), 5000, true);
});

By this:

.then(function(response) {
	//Success
	var data = response.data;
	if (data.status != "OK") {
		HideNotify();
		ShowNotify($.t('Error uploading Iconset') + ": " + data.error, 5000, true);
	}
	$scope.RefreshIconList();
}, function(response) {
	//Error
	HideNotify();
	ShowNotify($.t('Error uploading Iconset'), 5000, true);
}); 

Kindly incorporate this fix into the image. Thank you!

Source: https://www.domoticz.com/forum/viewtopic.php?t=24201

Broken out of the box

Expected Behavior

After docker-compose up -d, Domoticz UI pops up

Current Behavior

Error 400 bad request shows up, nothing to be found in the logs

Selection_647

Steps to Reproduce

  1. Copy docker-compose.yaml from documentation
  2. Set /config volume to an empty directory
  3. Comment out "devices" section
  4. docker-compose up -d
  5. Visit (ip):(port)

Environment

OS: Ubuntu 18.04
CPU architecture: x86_64
How docker service was installed:
Ubuntu docker.io package:

apt-cache policy docker.io
docker.io:
  Installed: 19.03.6-0ubuntu1~18.04.3
  Candidate: 19.03.6-0ubuntu1~18.04.3
  Version table:
 *** 19.03.6-0ubuntu1~18.04.3 500
        500 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages
        100 /var/lib/dpkg/status
     19.03.6-0ubuntu1~18.04.2 500
        500 http://archive.ubuntu.com/ubuntu bionic-security/universe amd64 Packages
     17.12.1-0ubuntu1 500
        500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages

Command used to create docker container (run/create/compose/screenshot)

---
version: "2.1"
services:
  domoticz:
    image: ghcr.io/linuxserver/domoticz
    container_name: domoticz
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - WEBROOT=domoticz #optional
    volumes:
      - /docker/domoticz:/config
    ports:
      - 18080:8080
      - 6144:6144
      - 1443:1443
#    devices:
#      - <path to device>:<path to device>
    restart: unless-stopped

Docker logs

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing... 
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 10-adduser: executing... 

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
-------------------------------------

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    1000
User gid:    1000
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 30-config: executing... 
Generating DH parameters, 2048 bit long safe prime, generator 5
This is going to take a long time
.............................+...................................................+........+......+.....................................................................................................................+..................................................................................+..........................+...........................................................................................................................................................................................................+...................................................................................................................................................+.......................................................................................+...........................................+...........................................................................................................................................................................+......+.................+......................................................................................................................................+.......................................................+..................................................................................................................+...............................................................................................................................................................+..................................................................................................................................................................................+.......................................................................................................................................................................................................................................................................................................................................................................................+...+...............................+..............................+....................................................................................................................+.....................+...............................................+....................+....................................................................................+...........................................................................................................................................................................................................................................................................................................................................................+.................................................+.....+.......................................................................................................................+............................................................................................................................+......................................................+.......................................+....................................................................................................................+................................................+.............................................................................................................+........................................+.......................................................................................................................................................................................................................................................+.................................+..........+.........................................................................................................+...................................................................................................................................................................+..............................................................................................................................................................................................................+.........................................................................+...............................................................................................................................................................................................................................+......................................................................................................................................................................................+............................................................................................................................................................................................................................................................................................................+......+..................+.....++*++*++*++*
Generating a RSA private key
........................+++++
.........+++++
writing new private key to '/config/keys/server_cert.pem'
-----
[cont-init.d] 30-config: exited 0.
[cont-init.d] 99-custom-scripts: executing... 
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
2021-02-15 11:23:55.201  Status: Domoticz V2020.2 (c)2012-2020 GizMoCuz
2021-02-15 11:23:55.202  Status: Build Hash: b63341bc0, Date: 2020-04-26 12:47:55
2021-02-15 11:23:55.202  Status: Startup Path: /usr/share/domoticz/
2021-02-15 11:23:56.809  BuildManifest: Created directory /config/plugins/
2021-02-15 11:23:56.849  Status: PluginSystem: Started, Python version '3.8.5'.
2021-02-15 11:23:57.015  Active notification Subsystems: fcm, http (2/13)
2021-02-15 11:23:57.019  Status: WebServer(HTTP) started on address: 0.0.0.0 with port 8080
2021-02-15 11:23:57.044  Status: WebServer(SSL) started on address: 0.0.0.0 with port 1443
2021-02-15 11:23:57.081  Starting shared server on: 0.0.0.0:6144
2021-02-15 11:23:57.082  Status: TCPServer: shared server started...
2021-02-15 11:23:57.087  Status: RxQueue: queue worker started...
2021-02-15 11:23:59.088  Status: NotificationSystem: thread started...
2021-02-15 11:23:59.092  Status: EventSystem: reset all events...
2021-02-15 11:23:59.107  Status: EventSystem: reset all device statuses...
2021-02-15 11:23:59.141  Status: Python EventSystem: Initalizing event module.
2021-02-15 11:23:59.143  Status: EventSystem: Started
2021-02-15 11:23:59.143  Status: EventSystem: Queue thread started...
2021-02-15 11:23:59.322  Status: PluginSystem: Entering work loop.
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
2021-02-15 11:40:20.736  Status: Closing application!...
2021-02-15 11:40:20.736  Status: Stopping worker...
2021-02-15 11:40:20.744  Status: RxQueue: queue worker stopped...
2021-02-15 11:40:20.746  Status: WebServer(HTTP) stopped
2021-02-15 11:40:21.248  Status: WebServer(SSL) stopped
2021-02-15 11:40:21.252  Status: TCPServer: shared server stopped
2021-02-15 11:40:21.252  Status: Stopping all hardware...
2021-02-15 11:40:21.253  Status: Scheduler stopped...
2021-02-15 11:40:21.253  Status: EventSystem: Stopped...
2021-02-15 11:40:21.255  Status: EventSystem: Queue thread stopped...
2021-02-15 11:40:21.272  Status: EventSystem - Python stopped...
2021-02-15 11:40:21.273  Status: NotificationSystem: thread stopped...
2021-02-15 11:40:21.275  Status: PluginSystem: Exiting work loop.
2021-02-15 11:40:21.282  Status: PluginSystem: Stopped.
2021-02-15 11:40:21.283  Status: Mainworker Stopped...
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing... 
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 10-adduser: executing... 
usermod: no changes

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
-------------------------------------

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    1000
User gid:    1000
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 30-config: executing... 
[cont-init.d] 30-config: exited 0.
[cont-init.d] 99-custom-scripts: executing... 
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
2021-02-15 11:40:29.653  Status: Domoticz V2020.2 (c)2012-2020 GizMoCuz
2021-02-15 11:40:29.653  Status: Build Hash: b63341bc0, Date: 2020-04-26 12:47:55
2021-02-15 11:40:29.654  Status: Startup Path: /usr/share/domoticz/
2021-02-15 11:40:29.856  Status: PluginSystem: Started, Python version '3.8.5'.
2021-02-15 11:40:29.931  Active notification Subsystems: fcm, http (2/13)
2021-02-15 11:40:29.935  Status: WebServer(HTTP) started on address: 0.0.0.0 with port 8080
2021-02-15 11:40:29.954  Status: WebServer(SSL) started on address: 0.0.0.0 with port 1443
2021-02-15 11:40:29.985  Starting shared server on: 0.0.0.0:6144
2021-02-15 11:40:29.995  Status: RxQueue: queue worker started...
2021-02-15 11:40:29.995  Status: TCPServer: shared server started...
2021-02-15 11:40:31.996  Status: NotificationSystem: thread started...
2021-02-15 11:40:31.999  Status: EventSystem: reset all events...
2021-02-15 11:40:32.006  Status: EventSystem: reset all device statuses...
2021-02-15 11:40:32.034  Status: Python EventSystem: Initalizing event module.
2021-02-15 11:40:32.038  Status: EventSystem: Started
2021-02-15 11:40:32.039  Status: EventSystem: Queue thread started...
2021-02-15 11:40:32.331  Status: PluginSystem: Entering work loop.
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
2021-02-15 11:44:58.206  Status: Closing application!...
2021-02-15 11:44:58.207  Status: Stopping worker...
2021-02-15 11:44:58.212  Status: RxQueue: queue worker stopped...
2021-02-15 11:44:58.718  Status: WebServer(HTTP) stopped
2021-02-15 11:44:58.723  Status: WebServer(SSL) stopped
2021-02-15 11:44:58.734  Status: TCPServer: shared server stopped
2021-02-15 11:44:58.734  Status: Stopping all hardware...
2021-02-15 11:44:58.735  Status: Scheduler stopped...
2021-02-15 11:44:58.735  Status: EventSystem: Stopped...
2021-02-15 11:44:58.735  Status: EventSystem: Queue thread stopped...
2021-02-15 11:44:58.749  Status: EventSystem - Python stopped...
2021-02-15 11:44:58.749  Status: NotificationSystem: thread stopped...
2021-02-15 11:44:58.770  Status: PluginSystem: Exiting work loop.
2021-02-15 11:44:58.799  Status: PluginSystem: Stopped.
2021-02-15 11:44:58.800  Status: Mainworker Stopped...
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing... 
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 10-adduser: executing... 
usermod: no changes

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
-------------------------------------

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    1000
User gid:    1000
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 30-config: executing... 
[cont-init.d] 30-config: exited 0.
[cont-init.d] 99-custom-scripts: executing... 
[custom-init] no custom files found exiting...
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
2021-02-15 11:45:06.339  Status: Domoticz V2020.2 (c)2012-2020 GizMoCuz
2021-02-15 11:45:06.339  Status: Build Hash: b63341bc0, Date: 2020-04-26 12:47:55
2021-02-15 11:45:06.339  Status: Startup Path: /usr/share/domoticz/
2021-02-15 11:45:06.617  Status: PluginSystem: Started, Python version '3.8.5'.
2021-02-15 11:45:06.733  Active notification Subsystems: fcm, http (2/13)
2021-02-15 11:45:06.742  Status: WebServer(HTTP) started on address: 0.0.0.0 with port 8080
2021-02-15 11:45:06.762  Status: WebServer(SSL) started on address: 0.0.0.0 with port 1443
2021-02-15 11:45:06.781  Starting shared server on: 0.0.0.0:6144
2021-02-15 11:45:06.781  Status: TCPServer: shared server started...
2021-02-15 11:45:06.784  Status: RxQueue: queue worker started...
2021-02-15 11:45:08.786  Status: NotificationSystem: thread started...
2021-02-15 11:45:08.790  Status: EventSystem: reset all events...
2021-02-15 11:45:08.797  Status: EventSystem: reset all device statuses...
2021-02-15 11:45:08.826  Status: Python EventSystem: Initalizing event module.
2021-02-15 11:45:08.827  Status: EventSystem: Started
2021-02-15 11:45:08.827  Status: EventSystem: Queue thread started...
2021-02-15 11:45:09.037  Status: PluginSystem: Entering work loop.

How to use HTTPS to access Domoticz

This is a very stable docker, and when I use the following command, it works great:

sudo docker run-d--name=domoticz--net=bridge-v/volume2/docker/domoticz:/config-e tz=asia/shanghai-p 6144:6144-p 8585:8080 Linuxserver/domoticz:latest

But I want to use HTTPS to access Domoticz when I use this Docker configuration:

sudo docker run-d--name=domoticz--net=bridge-v/volume2/docker/domoticz:/config-v/volume2/docker/domoticz/keys:/ Keys-e tz=asia/shanghai-p 4443:1443-p 6144:6144-p 8585:8080 linuxserver/domoticz:latest Cert.pem--sslkey/keys/keyfile.pem

No running program, can help me how to configure command, thank you!

[Enhancement] Settable web server container port

linuxserver.io

If you are new to Docker or this application our issue tracker is ONLY used for reporting bugs or requesting features. Please use our discord server for general support.


Expected Behavior

To use Xiaomi gateway, we need to enable IP multicast which is achievable only in "host" network mode. So having the possibility to set the internal target port number for the web server (and https) would be convenient.

This could be feasible via env variables that could be set at container creation.

Currently to change it the only option is to get into the container and change launch script where ports are "hardcoded" (relying on default port for http server and set for https server). This is obviously not a docker way.

Current Behavior

In "host" mode port mapping does not apply and so if port 8080 is already in use Domoticz container cannot start crashing due to conflicting port.

Steps to Reproduce

  1. start an nginx server listening on port 8080
  2. start domoticz container with "--net=host"

Environment

OS: ubuntu 18.04.3
CPU architecture: x86_64
How docker service was installed: docker installed from ubuntu package (1.5-1build1)

Command used to create docker container (run/create/compose/screenshot)

docker run -d \
  --name=mydomoticz \
  --net=host \
  -p 8084:8080 \
  -p 6144:6144 \
  -p 1443:1443 \
  -v vol_domoticz:/config \
  -v vol_domoticz_templates:/var/lib/domoticz/www/templates \
  --restart unless-stopped \
  linuxserver/domoticz

Ports mappings are discarded by docker as stated in a warning.

Docker logs

WARNING: Published ports are discarded when using host network mode

Machanism to reduce logging

Desired Behavior

I'm looking for some mechanism to reduce logging either by ENV parameter passed to docker or by altering ./scripts/domoticz.conf. I'm specially concerned to reduce logging of z-wave plugin/module as for right now it logs every value updates for each device.

Configurable ENV parameter LOG_LEVEL={normal,status,error}

Current Behavior

Can't find any way to set loglevel. No ENV parameter to set log level and altering domoticz.conf seems to make no difference.

Alternatives Considered

Probably the most generic way would be to add ENV ADDITIONAL_DAEMON_ARGS which would take string with any optional parameters to use for start of daemon.

Questions about adding librarys

Hello,
In first place, thanks a lot for this project its great to have de posibility to use domoticz in docker and power off the raspberry :-P
I use domoticz in raspberry and now im migrating it to docker in a synology nas (using the app docker of synology)
Im user of domoticz the last two years and very happy with it, more than 200 devices, and some scripts in dzvents and sh with crontab.
The more devices i have are xiaomi devices and tasmota because are very simple to implement in domoticz.

My question is about of some librarys that i need to use in domoticz for my xiaomi devices:
first for use xiaomi vacuum cleaner plugin:
https://github.com/mrin/domoticz-mirobot-plugin

and the the miirobo library for a IR emiter and a wifi plugs:
https://python-miio.readthedocs.io/en/latest/discovery.html#installation

I install it from terminal and works.

The problem is that every time i update the containter it stop works and i must make again. Logicall, its docker! jejeje.
Its posible to add this librarys to the master branch?

Maybe this is not the place to talk about librarys, exist any forum or specific place to talk about docker and domoticz?

Thanks a lot, and sorry. my english is bad, its not my natural languaje.

Regards!
-David-

Domoticz restarts after updating sensor value via JSON API

Host OS: Synology x86_64 GNU/Linux synology_braswell_716+II
also Ubuntu 16.04 LTS

docker run -d -p 8080:8080 --name=domoticz -v /tmp/conf:/config -v /etc/localtime:/etc/localtime:ro linuxserver/domoticz:139

/tmp/conf - is empty directory

Step to reproduce:

  1. Create dummy sensor
    1.1 In Domoticz "Setup -> Hardware"
    1.2 Name: dummy
    1.3 Type: Dummy (Does nothing, use for virtual switches only)
    1.4 Press "Add"
    1.5 Press "Create virtual sensors"
    1.6 Name: any
    1.7 Sensor Type: Percentage
    1.8 Press "Ok"
  2. Update sensor value via JSON API:
curl -v "http://127.0.0.1:8080/json.htm?type=command&param=udevice&idx=1&nvalue=0&svalue=5"

Actual result

  1. curl returns:
> GET /json.htm?type=command&param=udevice&idx=1&nvalue=0&svalue=5 HTTP/1.1
> Host: 127.0.0.1:8080
> User-Agent: curl/7.47.0
> Accept: */*
> 
* Empty reply from server
* Connection #0 to host 127.0.0.1 left intact
curl: (52) Empty reply from server
  1. Sensor value updates
  2. Domoticz restarts, I thik so because in his log (Setup -> Log) added next lines (each time when I execute curl request):
2019-01-13 15:02:34.779 Active notification Subsystems: gcm, http (2/13)
2019-01-13 15:02:34.782 Starting shared server on: :::6144
2019-01-13 15:02:34.737 Status: Domoticz V4.10343 (c)2012-2019 GizMoCuz
2019-01-13 15:02:34.737 Status: Build Hash: 3e3f545e, Date: 2019-01-11 09:41:48
2019-01-13 15:02:34.737 Status: Startup Path: /var/lib/domoticz/
2019-01-13 15:02:34.777 Status: PluginSystem: Started, Python version '3.6.5'.
2019-01-13 15:02:34.779 Status: WebServer(HTTP) started on address: :: with port 8080
2019-01-13 15:02:34.781 Status: WebServer(SSL) started on address: :: with port 1443
2019-01-13 15:02:34.781 Status: Proxymanager started.
2019-01-13 15:02:34.782 Status: TCPServer: shared server started...
2019-01-13 15:02:34.782 Status: RxQueue: queue worker started...
2019-01-13 15:02:36.785 Status: EventSystem: reset all events...
2019-01-13 15:02:36.785 Status: EventSystem: reset all device statuses...
2019-01-13 15:02:36.805 Status: Python EventSystem: Initalizing event module.
2019-01-13 15:02:36.805 Status: EventSystem: Started
2019-01-13 15:02:36.805 Status: EventSystem: Queue thread started...
2019-01-13 15:02:37.244 Status: PluginSystem: Entering work loop.

docker logs domoticz returns the same information.

Expected result:

  1. Curl should returns body:
{
   "status" : "OK",
   "title" : "Update Device"
}
  1. Domoticz shouldn't restart his work loop.

I think this is not a problem with Domoticz itself because:

  1. when I installing Domoticz on RaspberryPi and make curl request it returns body and domoticz didn't restarts.
  2. when I installing Domoticz on my Synology NAS as packet it also works (no restarts after curl request and I get not empty body in response)
  3. when I run container cgatay/domoticz:4.10353-beta-deb it also works (but it doesn't have https). BTW I used:
docker run -d -p 8080:8080 --name=domoticz_cgatay -v /tmp/cgatay_conf:/config -v /etc/localtime:/etc/localtime:ro cgatay/domoticz:4.10353-beta-deb

Docker latest image for arm64 are still use Domoticz older source code (from 17-apr)

linuxserver.io


Expected Behavior

Using docker-compose pull I do refresh domoticz image to the latest version of source code, which suppose to be from 28-nov.
My docker-compose image:
image: ghcr.io/linuxserver/domoticz:latest
which as of now refers to:
image: ghcr.io/linuxserver/domoticz:2021.1.20211128

Current Behavior

Docker image image gets refreshed properly, but aparently I see in logs that the version of source code is from 17-apr, as per container logs:

...
2021-12-05 16:39:55.181  Status: Domoticz V2021.1 (c)2012-2021 GizMoCuz
2021-12-05 16:39:55.181  Status: Build Hash: 8547c5b7e, Date: 2021-04-17 17:29:11
...

I found it because this version have a bug (4784) with Satel Integra plugin which was fixed 26-apr.
First I thought this is Domoticz bug itself, but after investigation of the issue lloks linuxserver.io image is not using the latest source code.

Steps to Reproduce

  1. docker-compose pull
  2. docker-compose up -d
  3. Checking the container logs through Poitainer I see container crashes every minute or so, due to the bug 4784.
  4. Futher checking the log I see that source code build date is 2021-04-17 as per log above.

Environment

OS: Raspbery Pi 4B, Ubuntu 21.10
CPU architecture: arm64
How docker service was installed: from oryginal repo

Command used to create docker container (run/create/compose/screenshot)

docker-compose.yml section

  domoticz:
    image: ghcr.io/linuxserver/domoticz:latest
    container_name: domoticz
    privileged: true
    environment:
      - PUID=1000
      - PGID=100
      - TZ=Europe/Warsaw
    volumes:
      - ./vols/domoticz/config:/config
    ports:
      - 8080:8080
      - 6144:6144
      - 1443:1443
    restart: unless-stopped

Docker logs

Port problem. How to change 8080 to 8084 in docker? 8080 port conflict with Adguard

Hi,

Have a synology nas and want to move my 1 year old domoticz into docker.
The old domoticz use 8084 port and https 8443
When I set up this:

docker create --name=domoticz --net=host -v /volume1/docker/domoticz/:/config -e TZ=Europe/Budapest -p 1443:1443 -p 6144:6144 -p 8084:8084 -p8443:8443 linuxserver/domoticz

Not use this ports because this: --net=host and the domoticz page reach on ip:8080
But it isn't good for me, because I use Adguard in docker and that is use this port too and can't run together. How can I change this 8080 port to 8084 and 1443 to 8443 like the old domoticz use?

Backup and restore database not working

Synology DSM 6.2
Backup and restore database not working on version 4.9732

Restore database does nothing, backup database offers to save backupdatabase.php file

Log:
2018-07-01 11:55:05.753 Status: PluginSystem: Entering work loop.
2018-07-01 11:56:25.922 Status: Incoming connection from: 172.17.0.1
2018-07-01 11:56:39.856 Status: Restore Database: Starting...
2018-07-01 11:56:39.856 Error: Restore Database: Could not open backup file for writing!
2018-07-01 11:56:42.215 Status: EventSystem: Stopped...
2018-07-01 11:56:42.220 Status: EventSystem - Python stopped...
2018-07-01 11:56:42.220 Status: EventSystem: reset all events...
2018-07-01 11:56:42.220 Status: EventSystem: reset all device statuses...
2018-07-01 11:56:42.244 Status: Python EventSystem: Initalizing event module.
2018-07-01 11:56:42.244 Status: EventSystem: Started
2018-07-01 11:56:42.244 Status: EventSystem: Queue thread started...

Request: Your pyton version miss requests library (Domoticz-deCONZ)

The Domoticz-deCONZ plugin requires the requests library to work.
https://github.com/Smanar/Domoticz-deCONZ#requirement

Also, pip wan't an upgrade:

WARNING: You are using pip version 19.2.3, however version 19.3.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Domoticz log:

2019-12-20 15:47:58.233 Error: (Deconz) Your pyton version miss requests library
2019-12-20 15:52:48.283 Error: (Deconz) To install it, type : sudo -H pip3 install requests | sudo -H pip install requests

To fix this:
(pip3 install --upgrade pip) - not really required but pip3 will complain
pip3 install requests

It would be great if this could be added to the container.

Thanks!

(using https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ to add it myself for now)

Local build fails: "CMake 3.16.0 or higher is required. You are running version 3.14.5"

Hi,

I first of all thanks for this great docker-image! However, I noticed that the latest images on Docker Hub do not contain actually the latest Domoticz version 2020.1 released on 22 march.

So my first question is, if you could push the latest versions to Docker Hub?

In the mean time I tried to build a local version on my Raspberry PI 2B ARM V32 V7 with Raspian Buster 10.2.

Unfortunately this fails with this error:

HEAD is now at 423448b7e FCM, add Success check
CMake Warning:
  No source or binary directory provided.  Both will be assumed to be the
  same as the current working directory, but note that this warning will
  become a fatal error in future CMake releases.

CMake Error at CMakeLists.txt:2 (cmake_minimum_required):
  CMake 3.16.0 or higher is required.  You are running version 3.14.5

There were also other earlier warnings during the build that are perhaps worth noting, like:

Creating Documentation at /tmp/open-zwave/docs/api/
warning: Tag `XML_SCHEMA' at line 1786 of file `Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag `XML_DTD' at line 1792 of file `Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"

and this text highlighted in red after starting building openzwave, of which I'm not sure is an error or warning:

Building src/Localization.cpp
In file included from /usr/include/c++/8.3.0/map:60,
                 from /tmp/open-zwave/cpp/src/Localization.h:33,
                 from /tmp/open-zwave/cpp/src/Localization.cpp:30:
/usr/include/c++/8.3.0/bits/stl_tree.h: In function 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_emplace_hint_unique(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator, _Args&& ...) [with _Args = {const std::piecewise_construct_t&, std::tuple<const long long unsigned int&>, std::tuple<>}; _Key = long long unsigned int; _Val = std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >; _KeyOfValue = std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >; _Compare = std::less<long long unsigned int>; _Alloc = std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >]':
/usr/include/c++/8.3.0/bits/stl_tree.h:2411:7: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8.3.0/map:61,
                 from /tmp/open-zwave/cpp/src/Localization.h:33,
                 from /tmp/open-zwave/cpp/src/Localization.cpp:30:
/usr/include/c++/8.3.0/bits/stl_map.h: In member function 'const string OpenZWave::Internal::Localization::GetValueItemHelp(uint8, uint8, uint16, int32, int32) const':
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h: In static member function 'static void OpenZWave::Internal::Localization::ReadXMLVIDLabel(uint8, uint8, uint16, uint32, const TiXmlElement*)':
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h: In member function 'bool OpenZWave::Internal::Localization::SetValueLabel(uint8, uint8, uint16, uint32, std::__cxx11::string, std::__cxx11::string)':
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h: In static member function 'static void OpenZWave::Internal::Localization::ReadXMLVIDHelp(uint8, uint8, uint16, uint32, const TiXmlElement*)':
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h: In member function 'bool OpenZWave::Internal::Localization::SetValueHelp(uint8, uint8, uint16, uint32, std::__cxx11::string, std::__cxx11::string)':
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h: In member function 'const string OpenZWave::Internal::Localization::GetValueHelp(uint8, uint8, uint16, uint32)':
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h: In member function 'bool OpenZWave::Internal::Localization::WriteXMLVIDHelp(uint8, uint8, uint16, uint32, TiXmlElement*)':
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h: In member function 'const string OpenZWave::Internal::Localization::GetValueLabel(uint8, uint8, uint16, int32) const':
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h: In member function 'bool OpenZWave::Internal::Localization::SetValueItemHelp(uint8, uint8, uint16, int32, int32, std::__cxx11::string, std::__cxx11::string)':
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h: In static member function 'static void OpenZWave::Internal::Localization::ReadXMLVIDItemLabel(uint8, uint8, uint16, uint32, const TiXmlElement*)':
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h: In member function 'bool OpenZWave::Internal::Localization::SetValueItemLabel(uint8, uint8, uint16, int32, int32, std::__cxx11::string, std::__cxx11::string)':
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
/usr/include/c++/8.3.0/bits/stl_map.h: In member function 'const string OpenZWave::Internal::Localization::GetValueItemLabel(uint8, uint8, uint16, int32, int32) const':
/usr/include/c++/8.3.0/bits/stl_map.h:499:8: note: parameter passing for argument of type 'std::_Rb_tree<long long unsigned int, std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> >, std::_Select1st<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >, std::less<long long unsigned int>, std::allocator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > > >::const_iterator' {aka 'std::_Rb_tree_const_iterator<std::pair<const long long unsigned int, std::shared_ptr<OpenZWave::Internal::ValueLocalizationEntry> > >'} changed in GCC 7.1
    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,

Going back from beta to stable in docker backup restore problem.

Hi,

I'm on latest domoticz in docker (ver:4.11767).
Have a problem with it, and want to go back to stable. (V4.10717)
But my backed up database can't restore on the stable version.

Give this log:

2020-03-03 14:52:10.794 Status: Restore Database: Starting...
2020-03-03 14:52:10.794 Error: Restore Database: Could not open backup file for writing!
2020-03-03 14:52:12.738 Status: EventSystem: Stopped...
2020-03-03 14:52:12.738 Status: EventSystem: Queue thread stopped...
2020-03-03 14:52:12.742 Status: EventSystem - Python stopped...
2020-03-03 14:52:12.743 Status: EventSystem: reset all events...
2020-03-03 14:52:12.743 Status: EventSystem: reset all device statuses...
2020-03-03 14:52:12.765 Status: Python EventSystem: Initalizing event module.
2020-03-03 14:52:12.765 Status: EventSystem: Started
2020-03-03 14:52:12.765 Status: EventSystem: Queue thread started...

Please help what can I do?
Have some earlier backups, but the problem is the same...

[BUG] Fatal Python Error: pyinit_main: can't initialize time

This issue is SOLVED by an issue on a different container, but I've placed it here for any googlers ending up here.
The solution can be found on https://docs.linuxserver.io/faq

ISSUE

Running crisp new instance on an RPi 4 (Debian), 2GB.

After starting the container, the logs show:
domoticz | Fatal Python error: pyinit_main: can't initialize time
domoticz | Python runtime state: core initialized
domoticz | PermissionError: [Errno 1] Operation not permitted

SOLUTION

https://docs.linuxserver.io/faq

REFERENCE

linuxserver/docker-papermerge#4

CONCLUSION

This error has been fixed and now I get a different one (500 internal server error), but I'll analyze this one before opening a new issue.

GPIOs on Rasp Pi 4 not recognised by Domoticz

Expected Behavior

I defined 2 GPIO pins using "echo 6 > /sys/class/gpio/export " etc
After defining the hardware in Domoticz as Rasp Pi using Generic sysfs GPIO I went to the Devices tab and expected the 2 GPIOs to be found by Domoticz

Current Behavior

The List of devices was empty

NOTE: I subsequently installed the joshuacox/mkdomoticz:arm container and it worked. The only amendment to the linuxserver compose file (other than changing the image name) was to add privileged: true as directed by the Git website

Steps to Reproduce

I fully documented it in this posting https://domoticz.com/forum/viewtopic.php?f=47&t=31472

Environment

OS: Raspian Buster (note this was an image from http://www.raspberry-asterisk.org/downloads/
CPU architecture: Rasp Pi 4 arm64 but I believe the Raspian OS is x32
How docker service was installed:
curl -sSL https://get.docker.com | sh

As described in the posting above using this compose file
version: "2"
services:
domoticz:
container_name: domoticz
image: linuxserver/domoticz:arm32v7-latest
restart: unless-stopped # openHAB has always
volumes:
- /home/pi/bin/hms/docker_volumes/domoticz_data/domoticz_data:/config
- /sys:/sys
environment:
- PUID=1001 # user pi
- PGID=1001 # user pi
- TZ=Europe/London
# - WEBROOT=domoticz # optional for subfolder reverse proxy
ports:
- 18080:8080 # web ui set to 18080 as openHAB uses 8080
- 6144:6144 # comms
- 1443:1443 # comms
# devices: # to be defined if needed, e.g for zigbee usb dongle
# - path to device:path to device

Docker logs

Sorry lost. If critical I could restore the linuxserver and if you tell me the location of the log files

PS I believe Domoticz requires WiringPi to access the GPIO. Is this in the linuxserver ?
Despite extensive web searches I could not find anyone using linuxserver to access GPIOs. All examples were accessing via MQTT or USB

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.