Add support for configuring the -vhostname, as it helps to get the right
issuer into OAuth2 tokens. Also disable the mdns responder by default;
when we're running on OpenWrt we have better options that that. Clean
up the logging options, and also make it export $TZ to work around our
musl hack which otherwise opens and reads /etc/TZ thousands of times
a minute.
Also drop the telldus dependency. Domoticz will dlopen that at runtime
without having to have it present at build time at all, so it should
still work for users who install it.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Version 2025.2 (October 13th 2025)
- Implemented: EnergyDashboard, add option for (Outside) Temperature Sensor
- Implemented: Enever, Added Pure Energy, removed obsolete providers
- Implemented: Enphase, display a error is a IQ inverter has not been received for more then a day
- Implemented: Kodi, support for 'tvshow' type
- Implemented: MQTT-AD, added support for Climate action_template/state
- Implemented: MQTT-AD, added support for IR Blaster (Tuya iH-F8260)
- Implemented: MQTT-AD, handling battery low boolean sensors
- Implemented: MQTT-AD, allow publishing messages
- Implemented: P1 Chart, Report: Added Total Column (Usage-Return)
- Implemented: Rain Rate notification
- Implemented: Support for Humidity only graph
- Fixed: MQTT-AD, fix issue where brightness and RGB command topic are different
- Fixed: MQTT-AD, preserve select options when updating a device
- Fixed: Replace device now also copies 'Options' field
- Changed: Enphase query Token method
- Changed: mDNS, hostname now lowercase
- Changed: MQTT-AD, added support for color_temp_command_template
- Changed: TADO, Added fixed API endpoint
- Changed: TADO, Add poll interval option
- Changed: MQTT, not publishing devices that are not used
- Changed: Philips Hue now uses HTTPS to be compliant with new Hue Bridge
- Fixed: mDNS, possible crash when web server (non) SSL was disabled, or a invalid port was specified
- Fixed: Charts, after deleting a datapoint, the browser was not correctly refreshed
- Updated: Windows libraries
Version 2025.1 (May 5th 2025)
- Implemented: Battery level for Setpoint sensors
- Implemented: Charts, zoom option for 'Day' view
- Implemented: Data Pushers, added P1 actual value
- Implemented: EnOcean, now able to choose an optional base_id as sender_id instead of the chip_id (#6213)
- Implemented: Floorplan, Add support for stop button (Ventation blinds)
- Implemented: RFXCom, Updated SDK
- Implemented: Support for Honeywell Series 5/PIR
- Implemented: Text sensor, now posible to edit direct from the GUI
- Implemented: YouLess, added Water meter
- Implemented: More default icons
- Implemented: MQTT-AD, added support for Gas device class
- Implemented: MQTT-AD, added support for Text device class
- Implemented: MQTT-AD, better precision for kWh sensors
- Implemented: MQTT-AD, enabled 'device_automation' component to be compatible with upcoming (2025) Zigbee2MQTT version
- Implemented: MQTT-AD, handling single onoff color mode as a normal light/switch
- Implemented: MQTT-AD, power sensors for the Tuya SPM02
- Implemented: MQTT-AD, support sensors that report humidity but sends 'null' values
- Implemented: MQTT-AD, support for string field state objects
- Implemented: MQTT Push 'Retained' mode option
- Implemented: Rain devices can now be replacement with different types of rain devices
- Implemented: RFXCom, Falmec Support
- Implemented: RTL433, Support Generic Switch (Door) sensor
- Implemented: Tado, oauth2 support
- Changed: dzVents, possible to pass a Domoticz device ID in notify() through the extra parameter
- Changed: Energy Dashboard now also available for non-admin users
- Changed: Energy Dashboard, Text object clipping rectangle
- Changed: Google Firebase Cloud Messaging (FCM) alternative way to pass a Domoticz device ID through the extra field ('|Device=<devidx>')
- Changed: Internal webserver refactoring
- Changed: Netatmo Improved and automated login process for devices (to obtain client ID and Password with user selectable scopes)
- Changed: Removed Highcharts 'Download PNG/JPG/SVG' buttons until export server is fixed
- Changed: Using OpenStreetMap for Latitude/Longitude query in settings
- Changed: Hardware/User/Application/Variables setup page (update/delete/add buttons)
- Changed: Smoke Detectors are now able (internally) to use keep-alive timestamps
- Fixed: Application shutdown, solved possible crash (#6310)
- Fixed: AtagOne, fixed getting device_id and better debuginfo
- Fixed: Charts, dynamic title based on selected range
- Fixed: Computed Meter summation
- Fixed: Custom Icons, making sure they are valid and loaded OK
- Fixed: Floorplan, corrected open/close icon behaviour
- Fixed: Floorplan, now handles protected selectors
- Fixed: MQTT Push, making sure direct push is working
- Fixed: Possible mutex lock issue when logging
- Fixed: Pushers, corrected Gas value rounding
- Fixed: Python framework, invalid sValue when creating a General/kWh sensor
- Fixed: RFXCom 868 MHz Weather device
- Fixed: RFXCom, WS90 Weather device
- Removed: Thermosmart thermostat (Product no longer supported/available by the manufacturer)
- Removed: API: Old RType calls have been replaced
- Updated: HighCharts
- Updated: Self Signed Certificate (Valid till 2035)
- Updated: Translations
Version 2024.7 (July 13th 2024)
- Implemented: P1 Meter, Report, Header now also supports simple mode (No T1/T2/R1/R2 but just total)
- Fixed: Google Cloud Messaging (GCM/FCM) possible crash when notification needed to be send
Version 2024.6 (July 8th 2024)
- Fixed: EventSystem, LOG_FORCE now always logged
- Changed: Google Cloud Messaging (GCM) now uses the new v1 API of Google's Firebase Cloud Messaging (FCM)
Version 2024.5 (July 7th 2024)
- Implemented: Currency Symbol in Location Settings
- Implemented: dzVents, Added historical data helper 'med' to calculate the median value
- Implemented: dzVents, Improved logging
- Implemented: Energy Dashboard
- Implemented: Enever, Added Budget Energy and Eneco
- Implemented: Enphase, Live storage data
- Implemented: Enphase, Option for more Inverter details (ac/dc voltage, temperature, lastupdate)
- Implemented: Event Editor, Close/Close All menu dropdown
- Implemented: Event Editor, Storing/Loading opened events
- Implemented: Hour chart for P1 log
- Implemented: MQTT-AD Climate Fan Mode
- Implemented: MQTT-AD Climate Swing Mode
- Implemented: OpenWeatherMap, API 3.0 support
- Implemented: P1 Meter, option to specify view (low/high tariff or simple (dynamic contract))
- Implemented: Possible to query a range of device states via JSON
- Implemented: SolarEdge, polling Storage devices
- Fixed: Data Pushers, Forecast for Weather Station subtypes
- Fixed: Floorplan, better detection of switches
- Fixed: Hardware Setup, hiding extra parameters when selecting a python plugin
- Fixed: PythonEx framework, two notifications where send for switch type devices
- Fixed: Python framework, custom image loading
- Removed: Cereal Proxy (not used anymore)
- Changed: EvoHome, now making use of general logging system
- Changed: MQTT-AD, now also handles brightness scale number values as string
- Changed: SBFSpot, disabled error 28 error
- Changed: Selector switch now displays correct state in Data field (and devices overview)
Version 2024.4 (January 30th 2024)
- Fixed: cWebm, fixing high CPU load caused by time jumps
- Fixed: Memory leak in master/client setup
- Fixed: Python, device creation with options was not working correctly
- Fixed: Room Selection, switching to default room did not always work
- Fixed: Temperature compare chart for Fahrenheit
Version 2024.3 (January 24th 2024)
- Implemented: Domoticz Remote Server, added better error message if remote Domoticz device could not be created because accepting new devices is disabled under settings
- Implemented: InfluxDB Data push, add error message when return status code is forbidden
- Fixed: Alert sensor notification
- Fixed: Scripts/Lua/Blockly, setting a setPoint
Version 2024.2 (January 15th 2024)
- Implemented: Compare chart for most sensor types
- Implemented: Email, Splitting mime attachments over multiple lines
- Implemented: Notifications, Option to enable/disable
- Implemented: OpenZwave is back.... (No Support)
- Updated: Translations
- Changed: Comparing charts now uses correct Y-Axis label
- Changed: Internal, Last received is now handled differently, should solve possible hardware timeout issues
- Changed: MQTT, QoS is now set to 1 for all messages
- Fixed: MQTT-AD: Fan creation
- Fixed: Timer Plans, now also duplicates scenes
Version 2024.1 (January 1th 2024)
- Implemented: AlfenEve, added charging indication switch
- Implemented: AlfenEve, added option to specify charge current (or disable this)
- Implemented: AlfenEve, added Solar charging mode and settings
- Implemented: Counter report, now possible to remove data point (via shift click) from month chart
- Implemented: Devices overview, Setpoint log button
- Implemented: Enever, added support for providers Atoom Alliantie, Energie van Ons, Vandebron, Wout Energie
- Implemented: Enever, option to specify different providers for Gas/Electricity
- Implemented: Enever: added two user variables for average gas/electricity price
- Implemented: Enphase, counter helper to prevent turnover caused by powerloss, reboot or other envoy issues
- Implemented: Enphase, Initial support for Encharge battery status (needs more work)
- Implemented: Livesearch, included hardware name and optimized search algorithm to search all entered strings
- Implemented: Managed Counters, now possible to use negative values
- Implemented: Mitsubishi WF RAC Airconditioning
- Implemented: MQTT-AD, added support for climate min_temp/max_temp and temp_step
- Implemented: MQTT-AD, added support for number voc type
- Implemented: MQTT-AD, added support for Wh and Wm sensors
- Implemented: MQTT-AD, don't add new devices when this is disabled in the system
- Implemented: MQTT-AD: Fan percentage_command_template merged with preset_modes
- Implemented: MQTT, added option to specify devices to be published to MQTT
- Implemented: P1 Meter report, now possible to remove data point (via shift click) from month chart
- Implemented: Persistent Timers (will work in all timer plans)
- Implemented: SetPoint devices can now be configured with a custom unit, min/max and step size and have a custom icon
- Implemented: Support for Python 3.12
- Implemented: TeleInfo, added Tempo field
- Implemented: Temp/Hum/Baro or combination can be replaced by any other Temp/Hum/Baro or combination
- Implemented: Temperature report, now possible to remove data point (via shift click) from variation chart
- Changed: Floorplan, better display of current state for counter devices
- Changed: Floorplan, Sound Icon state (0 dB = Off else On)
- Changed: MQTT-AD: better device name generation
- Changed: Netatmo login, now using the API Token
- Fixed: EventSystem, corrected event of RGB/W/WW devices
- Fixed: Export to csv from Charts
- Fixed: MQTT-AD, RGB dimmers did not work correctly in scenes/timers
- Fixed: MQTT-AD: better handling of Push-On/Push-Off devices
- Fixed: MQTT-AD: better handling of Switch commands that needs a 'state' object
- Fixed: MQTT-AD: fixed brightness for HS lights
- Fixed: MQTT-AD: prevent blind from updating on non-numeric state changes
- Fixed: P1 Meter, buffer size increased because of large datagrams on some meters
- Fixed: Python memory leak
- Fixed: Sunset/rise timers now correctly set the time for next day
- Fixed: Switches defined with "Off Delay" are not set to "Off" at startup
- Removed: OpenZWave (Move to ZWaveJS-UI in combination with MQTT Auto Discovery)
- Removed: RFXCom, firmware update via web interface (use RFXFlash instead)
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
domoticz only links to boost headers since boost version update to '1.89.0'.
Remove 'boost-system' from the dependencies and add boost as build
dependency.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Automatically compute and substitute current values for all
$(AUTORELEASE) instances as this feature is deprecated and shouldn't be
used.
The following temporary change was made to the core:
diff --git a/rules.mk b/rules.mk
index 57d7995d4fa8..f16367de87a8 100644
--- a/rules.mk
+++ b/rules.mk
@@ -429,7 +429,7 @@ endef
abi_version_str = $(subst -,,$(subst _,,$(subst .,,$(1))))
COMMITCOUNT = $(if $(DUMP),0,$(call commitcount))
-AUTORELEASE = $(if $(DUMP),0,$(call commitcount,1))
+AUTORELEASE = $(if $(DUMP),0,$(shell sed -i "s/\$$(AUTORELEASE)/$(call commitcount,1)/" $(CURDIR)/Makefile))
all:
FORCE: ;
And this command used to fix affected packages:
for i in $(cd feeds/packages; git grep -l PKG_RELEASE:=.*AUTORELEASE | \
sed 's^.*/\([^/]*\)/Makefile^\1^';);
do
make package/$i/download
done
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
See commit 07730ff3 "treewide: add support for "lto" in PKG_BUILD_FLAGS"
on the main repository.
Note: Some packages only added `-flto` to CFLAGS and not LDFLAGS. This
fixes it and properly enables LTO.
Signed-off-by: Andre Heider <a.heider@gmail.com>
See commit 5c545bdb "treewide: replace PKG_USE_MIPS16:=0 with
PKG_BUILD_FLAGS:=no-mips16" on the main repository.
Signed-off-by: Andre Heider <a.heider@gmail.com>
The domoticz init script didn't properly read the "disabled"
configuration parameter and instead the service was always started.
Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
Adding -lpython3.9 to TARGET_LDFLAGS is not needed now that domoticz has
proper support for it.
Fixes: edfb91f33 ("domoticz: update to 2021.1")
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
faster to compile.
A small selection of packages was tested going from:
Executed in 696.30 secs fish external
usr time 82.98 mins 395.00 micros 82.98 mins
sys time 9.02 mins 0.00 micros 9.02 mins
to:
Executed in 592.20 secs fish external
usr time 84.84 mins 361.00 micros 84.84 mins
sys time 8.85 mins 57.00 micros 8.85 mins
Tested by running make -j 12 and wiping staging/build_dir/target_x
Signed-off-by: Rosen Penev <rosenp@gmail.com>
The crude loop I wrote to come up with this changeset:
find -L package/feeds/packages/ -name patches | \
sed 's/patches$/refresh/' | sort | xargs make
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
Added Fedora patch to fix compilation.
Added python3 dependency as it seems it's needed now.
Replaced custom boost 1.73 patch with upstream one. Removed CFLAG that
was supposed to fix this but didn't do anything.
Removed nls.mk. telldus-core was fixed to not require iconv.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Domoticz doesn't use libmosquittopp any more as it was deprecated. It
has its own copy. It can also use the system libjsoncpp, so do that too.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Drop upstreamed patches.
The file appversion.default was removed from Domoticz, causing the hacks
to inject APPVERSION, APPDATE and APPHASH to fail. As the appversion.h
is generated during compile time, implementing a new way to inject these
defines is non-trivial, so simply drop them.
As the minor version for this release is no longer based on the number
of commits, the package versioning needs to be revised if we want to
build a git snapshot instead of stable release. Leave this for another
day and drop that logic for now.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Summary:
This package fails to compile with boost 1.70 when the boost cmake
config gets used.
As far as I can tell, Boost 1.70 introduced
BoostConfigVersion.cmake. In that file, the value of PACKAGE_VERSION is
set to 1.70. This makes CMake auto set the variable Boost_VERSION to
1.70. Historically, Boost_VERSION has been using the format like 170000,
and not 1.70. Some package cmake files still depend on this behavior
and make assertions such as Boost_VERSION > 168000. This is incompatible
with the new scheme.
Test Plan:
`make package/domoticz/compile`
Also compiled all other packages that have a boost dependency, they seem
to be working fine.
tested on nbg6817
Signed-off-by: Amol Bhave <ambhave@fb.com>
[split unrelated change, change commit subject, alphabetical order]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
The files in ozwcp/ shouldn't be compressed as there's no gzip handling
for those.
Also enable Python support — since it can dynamically link with
libpython optionally, it's harmless to enable it. Those who want Python
plugins can use it. I still want lua-based hardware plugins though.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Upstream has merged a simplified version of the FHS patch, with a few
changes...
Scripts are actually configuration. There are examples, but the point is
that you write your own.
So they should live in the data directory (e.g. /var/lib/domoticz) not
in /usr/share/domoticz. The only exception is the dzVents runtime.
So.... the upstream patch handles the dzVents runtime bit. Drop the part
of our patch which added -scripts, because it can just be based in the
userdata directory and we don't need to change that.
Ship the default scripts/ directory in /etc/domoticz/scripts, and on
startup make a *symlink* to it from /var/lib/domoticz/scripts.
Symlink from /etc/domoticz/scripts/dzVents{data,generated_scripts} to
temporary directories under /var/lib/domoticz/dzVents so that those
directories (which are written to by Domoticz) don't land on the root
file system. Anyone with a writeable file system who *wants* the data/
directory to be persistent, can change that. Just as they can change
the userdata config option to point to a real file system somewhere.
Also drop the renaming of the OpenZWave Config/ directory. It's purely
cosmetric so there's no need for us to carry that change. It can go
upstream first, if it really offends anyone.
Drop the patches which are now merged upstream, and turn off the newly
added USE_OPENSSL_STATIC. Add -noupdates to the command line.
Finally, gzip the static www files to save space. In the common case,
clients will use "Accept-Encodiong: gzip" and Domoticz will serve them
as-is. It can also decompress on the fly if it really has to, but now we
aren't asking it to *compress* on the fly, which is probably a losing
proposition on an OpenWRT box.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
This makes quite a significant difference to the executable size:
text data bss dec hex filename
7921421 87804 31692 8040917 7ab1d5 domoticz
5862321 86180 31212 5979713 5b3e41 domoticz-lto
As an added bonus, it still seems to work.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
When cross-compiling Domoticz on a system without GPIO, the WITH_GPIO
flag is not set by cmake, and GPIO support is disabled as a result.
Enabling GPIO support by adding the flag to TARGET_CXXFLAGS.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Domoticz 3.8153 introduced support for dzVents. Unfortunately this was
broken by the 902_add-scripts-path, which attempts to make Domoticz more
FHS-compliant instead of throwing everything under /opt/domoticz.
The problem is that dzVents scripts added via the webinterface will be
generated on the filesystem. With the 902_add-scripts-path patch,
Domoticz tried to write this to "scriptsdir/dzVents/generated_scripts".
As the scriptsdir contains scripts that come with upstream, and are not
meant to be changed, this defaults to /usr/share/domoticz/scripts, which
is not writeable, so Domoticz is unable to write the script to the
filesystem. What is worse is that this silently fails.
Fix this by moving the generated_scripts dir to
"userdatadir/generated_scripts". The userdatadir defaults to
/var/lib/domoticz, which is writeable.
Additionally, since this patch does more than just adding the scripts
path, rename it to something more appropriate.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>