Dashticz 4.20.0 Topic is solved

Dashticz, alternative dashboard based on HTML, CSS, jQuery

Moderators: leecollings, htilburgs, robgeerts

Post Reply
User avatar
madpatrick
Posts: 889
Joined: Monday 26 December 2016 12:17
Target OS: Linux
Domoticz version: 2026.1
Location: Netherlands
Contact:

Dashticz 4.20.0

Post by madpatrick »

Dashticz 4.0.10 → 4.20.0: what's new

Summary of the changes between 4.0.10 (2026-09-20) and 4.20.0 (2026-10-11).

New widgets
  • F1: race weekend schedule from the domoticz_F1 plugin's text device (device idx and font size as settings; multiple F1 widgets can be saved).
  • TVgids24: TV guide widget with channel logos on a transparent background, shown in a small frame whose background colour is configurable (colour picker or transparent).
  • Fully Kiosk: battery level of a Fully Kiosk tablet plus a charger switch, with optional automatic charge control (random start/stop percentages, hard minimum/maximum, 16 hour backup) based on the domoticz_fullykiosk plugin. Optional extra rows: screen, screensaver, motion sensor, brightness and "Load start URL". Settings are shown in 3 columns (2 on tablets, 1 on phones).
  • Weather Info: based on the domoticz_weatherinfo plugin. Buienradar rain forecast and current weather (nearest weather station) with animated SVG weather icons, selectable and sortable text parts (status, temperature, description, wind, logo) and an optional rainfall row. The icon and description follow the rain status.
  • Coins block: now uses the CoinGecko API.

Improvements
  • Calendar: the repeatable Calendar block supports multiple calendars (name, URL and colour per row), and local-network calendar URLs (e.g. http://192.168.x.x/foo.ics) are allowed.
  • Per-block text sizing and alignment (title and value font size, text alignment) in Device Config.
  • Reworked config popups: consistent two-column Settings grid, compact spacing, green Add buttons, improved automation rule editor and LMS config layout, and no layout jump when a popup opens.
  • PostNL colour settings and HP iLO / cluster layout refinements (icon-above rows, margins, compact selector).
  • Background/Image labels localized; CSS cache busting on every page load.
  • Documentation for Dashticz 4 added (setup wizard, Settings menu, Device/Widget Config, special blocks, automation, installation).
  • Docker: missing files now return 404 (first-run setup works on a fresh install) and custom/ is made writable for the container's web-server user.
  • Font Awesome 7 family name used for the keypad icons.
  • Widget and Device Editor: font size moved to the display options (F1, TVgids, Weather Info, HP iLO, PostNL, Fully Kiosk); switches are shown next to their label; icons per level in 2 columns.
  • Device Editor: all 46 findings of a full code review processed (classic screens, quick-add popups, scans, LMS, Calendar, Graph, Multi Device, slide button and the save logic).
  • Layout Editor keeps the definition of existing blocks on classic screens and treats hand-keyed blocks with a device idx as custom devices.
  • Shared widget helpers (escapeHtml, t, clampNumber, bridge, bridgeError) and a shared .dt-btn button style (used by LMS and Fully Kiosk, available to other widgets).
  • Dutch and French language files completed (23 other language files are still incomplete and fall back to English).
  • Info page no longer shows "undefined" after the version number.

Bug fixes
  • F1: session times now follow the browser time zone (they were an hour off in summer time unless f1utcoffset was set).
  • F1, TVgids, PostNL and HP iLO no longer fetch their data twice when mounted.
  • Traffic info shows an error instead of staying on "Loading" when the RWS request fails.
  • Evohome: zone and hot water requests use type=command&param=setused; hot water state is updated after switching.
  • Moon phase: fixed the unused quarter and age methods (they threw errors or returned NaN); the Button widget behaviour is unchanged.
  • Editors: no more 0 written for an empty number setting; settings with a semicolon in a string value survive a CONFIG.js rewrite; text custom fields stay strings; an empty custom text value no longer blocks the popup; a grid layout save only deletes a screen on an explicit request; no config control for special blocks the Device Editor cannot open; only the first block of a catalog kind is managed.
  • ical bridge: PHP 8.1/8.2 deprecation warnings removed (parser method 0), and the inclusive UNTIL occurrence of recurring events is no longer missed.

Security
  • cors.php and nocache.php now send X-Content-Type-Options: nosniff and a sandbox CSP with every relayed response (prevents reflected XSS through remote HTML/SVG) and refuse CR/LF in relayed headers.
  • Garbage bridge: no longer Access-Control-Allow-Origin: *, same-origin requests only, request parameters are now URL-encoded.
  • Graph custom header: only numeric device values are inserted into the evaluated expression.
  • CONFIG.js writers quote hostile keys; stricter key patterns, no INF/NaN, UTF-8 safe cuts, program folders refused.
  • Dependency security updates: handlebars 4.7.10, postcss-selector-parser 7.1.6, source-map-js 1.2.2.

Dependencies and build
  • dist/ rebuilt (it still contained old swiper, babel and sass builds), cache-buster raised, and CI now fails when dist/ differs from a fresh build.
  • ics-parser 3.6.0 in the ical bridge; swiper 14.3.0, @babel/core and preset-env 8.0.7, sass 1.105.1.
  • GitHub Actions updated (checkout 7, setup-node 7, setup-python 7, cache 6, upload-artifact 7); Dependabot configured for npm, GitHub Actions and Composer.
  • Faster Playwright CI jobs; new tests for the ical bridge, thermostat block and setpoint command, moon phase, language files and the editors.

If you bump to something please open an issue on GIT
-= HP server GEN11 =- ZwaveJS-=- Domoticz v2026.2 -=- Dashticz =-
-= Checkout https://github.com/MadPatrick for the plugins =-
User avatar
Hzuu
Posts: 9
Joined: Tuesday 16 June 2020 11:10
Target OS: -
Domoticz version:
Location: The Netherlands
Contact:

Re: Dashticz 4.20.0

Post by Hzuu »

Thanks for your great work!
My OWM weather block is still not showing the weather correctly.
In Dashticz version 3.x this worked fine.
Is there something wrong in my configuration?
I hope anyone can help me out on this.

blocks['myweather'] = {
type: 'weather', // To select a weather block
width: 12, // Width of the block
refresh: 3600, // Update once per hour. (default=3600, minimum=900, 15 minutes)
scale: 1, // Number between 0 and 1 to make the weather block smaller / 1 Normal block width / 0.5 50% width
apikey: 'apikey here', //Your API key
city: 'city here', // City name. You can also use the OWM city id code
country: 'nl', // Country code
name: 'name here', // Name to use instead of city name on the dashboard
lang: 'nl', // Language to use for OWM data
provider: 'owm3', // owmfree: Use OpenWeatherMap free account (since beginning 2023) / owm3: OpenWeatherMap Onecall API 3.0. See Open Weather Map / owm: OpenWeatherMap old account (API key requested before 2022) / knmi: Use KNMI as provider
layout: 4, // 0: Daily forecast (=default) / 1: Hourly forecast (for OWM only) / 2: Current weather / 3: Current weather detailed / 4: Combination of 2,3,0,1
count: 4, // Number of forecast items to show (default=3). Only for daily and hourly forecast.
rows: 1, // 1: (=default) Display all forecast elements (hours for layout:0, days for layout:1 ) on one row / 2: Display the weather forecast elements on two rows
interval: 1, // 1. Use every forecast item (=default) / 3. Set to 3 to get 3-hourly forecast (owm3)
decimals: 1, // Number of temperature decimals to show: 1 One decimal (=default)
showMin: true, // false: Hide minimum temperature / true: Show minimum temperature (=default)
showRain: true, // false: Hide rain rate / true: Show rain rate (=default)
showDescription: true, // false: Hide weather description / true: Show weather description (=default)
showWind: true, // false: Hide wind info (=default) / true: Show wind info
showGust: false, // false: Hide wind gust info (=default) / true: Show wind gust info
useBeaufort: false, // Set to true to show wind speed in Beaufort instead of m/s
skipFirst: false, // Set to true to skip the first daily/hourly forecast card
monochrome: false, // false: Show colored icons (animated weather icons only) / true: Show monochrome icons (animated weather icons only)
showCurrent: true, // Set to false to hide current weather (layout 4 only)
showDetails: true, // Set to false to hide current weather details (layout 4 only)
showHourly: false, // Set to false to hide hourly weather forecast (layout 4 only)
icons: 'line', // 'line' Dynamic line icons / 'linestatic' Static version of the line icons / 'fill' Dynamic filled icons / 'static' Static icons / 'meteo' Alternative set of static icons
icon: false // true / false: To show or hide the default weather icon
};
OWM Weather Block - Dashticz 4.20.0.jpg
OWM Weather Block - Dashticz 4.20.0.jpg (25 KiB) Viewed 123 times
Last edited by Hzuu on Tuesday 13 October 2026 8:29, edited 4 times in total.
User avatar
Hzuu
Posts: 9
Joined: Tuesday 16 June 2020 11:10
Target OS: -
Domoticz version:
Location: The Netherlands
Contact:

Re: Dashticz 4.20.0

Post by Hzuu »

Thanks for your great work!
My Garbage block is not showing the garbage icon correctly.
The 'afvalinfo' data is correct only the garbage icon is not correctly placed.
In Dashticz version 3.x this worked fine.
Is there something wrong in my configuration?
I hope anyone can help me out on this.

blocks['mygarbage'] = {
company: 'afvalinfo', // Garbage company to use if omrin isn't working
icalurl: 0, // In case the garbage company is url the URL of the ical-file
zipcode: 'zipcode here', // The zipcode
city: 'city here', // City name. Mandatory for company ‘afvalinfo’
housenumber: 45, // Your housenumber
street: 'street here', // Your street
maxitems: 7, // Number of items to show
width: 12, // Width of the block
hideicon: false, // true / false: To hide the garbage icon
use_names: true, // Shows name of the garbage type
use_colors: false, // Shows coloring for complete line
row1_fontsize: 15, // Font size (in px) for row 1, the topmost (soonest) pickup line
row1_color: '', // Text color (hex) for row 1, the topmost (soonest) pickup line
row2_fontsize: 15, // Font size (in px) for row 1, the topmost (soonest) pickup line
row2_color: '', // Text color (hex) for row 1, the topmost (soonest) pickup line
icon_use_colors: true, // Shows colored or only white trashcan
title: '', // Title text
use_cors_prefix: true, // Use a CORS proxy for getting data from provider
mapping: {
black: ['black', 'zwart'],
brown: ['brown', 'verre'],
gft: ['gft', 'tuin', 'refuse bin', 'green', 'groen', 'Biodégradables', 'snoei'],
grofvuil: ['grofvuil'],
takken: ['takken'],
kca: ['chemisch', 'kca','kga'],
kerstboom: ['kerst'],
milieu: ['milieu'],
papier: ['papier', 'blauw', 'blue', 'recycling bin collection'],
pmd: ['plastic', 'pmd', 'verpakking', 'kunststof', 'valorlux'],
rest: ['grof', 'grey', 'rest', 'grijs','grijze'],
Textiel: ['textiel'],
white: ['white', 'wit']
},
garbage: {
black: {kliko: 'black', code: '#000000', name: 'Zwart', icon: 'img/garbage/kliko_black.png'},
brown: {kliko: 'brown', code: '#7c3607', name: 'Bruin', icon: 'img/garbage/kliko_brown.png'},
gft: {kliko: 'green', code: '#375b23', name: 'GFT', icon: 'img/garbage/kliko_green.png'},
grofvuil: {kliko: 'brown', code: '#7c3607', name: 'Grofvuil', icon: 'img/garbage/kliko_brown.png'},
takken: {kliko: 'green', code: '#375b23', name: 'Takken', icon: 'img/garbage/kliko_green.png'},
kca: {kliko: 'red', code: '#b21807', name: 'Chemisch afval', icon: 'img/garbage/kliko_red.png'},
kerstboom: {kliko: 'green', code: '#375b23', name: 'Kerstboom', icon: 'img/garbage/tree.png'},
milieu: {kliko: 'yellow', code: '#f9e231', name: 'Geel', icon: 'img/garbage/kliko_yellow.png'},
papier: {kliko: 'blue', code: '#153477', name: 'Papier', icon: 'img/garbage/kliko_blue.png'},
pmd: {kliko: 'orange', code: '#db5518', name: 'PMD', icon: 'img/garbage/kliko_orange.png'},
rest: {kliko: 'grey', code: '#5e5d5c', name: 'Restafval', icon: 'img/garbage/kliko_grey.png'},
textiel: {kliko: 'white', code: '#ffffff', name: 'Textiel', icon: 'img/garbage/kliko_black.png'},
white: {kliko: 'white', code: '#ffffff', name: 'Wit', icon: 'img/garbage/kliko_wit.png'},
},
layout: 1, // 0 for plain text layout, 1 for table layout, 2 for text layou with line break between garbage type and date.
ignoressl: true, // Set to true to disable https SSL checks
defaultGarbage: 'rest' // Garbage type to use in case garbage type is unknown. (default: ‘kerstboom’)
};
Garbage Block - Dashticz 4.20.0.jpg
Garbage Block - Dashticz 4.20.0.jpg (57.47 KiB) Viewed 121 times
User avatar
madpatrick
Posts: 889
Joined: Monday 26 December 2016 12:17
Target OS: Linux
Domoticz version: 2026.1
Location: Netherlands
Contact:

Re: Dashticz 4.20.0

Post by madpatrick »

If you raise as mentioed an issue on GIT i'll look at it
Please place the code in brackets for better reading.

Also post in GIT the CSS part of this block
-= HP server GEN11 =- ZwaveJS-=- Domoticz v2026.2 -=- Dashticz =-
-= Checkout https://github.com/MadPatrick for the plugins =-
User avatar
madpatrick
Posts: 889
Joined: Monday 26 December 2016 12:17
Target OS: Linux
Domoticz version: 2026.1
Location: Netherlands
Contact:

Re: Dashticz 4.20.0

Post by madpatrick »

Hzuu wrote: Tuesday 13 October 2026 8:13 Thanks for your great work!
My OWM weather block is still not showing the weather correctly.
In Dashticz version 3.x this worked fine.
Is there something wrong in my configuration?
I hope anyone can help me out on this.

Code: Select all

blocks['myweather'] = {
	type: 'weather', // To select a weather block
	width: 12, // Width of the block
	refresh: 3600, // Update once per hour. (default=3600, minimum=900, 15 minutes)
	scale: 1, // Number between 0 and 1 to make the weather block smaller / 1 Normal block width / 0.5 50% width
	apikey: 'apikey here', //Your API key
	city: 'city here', // City name. You can also use the OWM city id code
	country: 'nl', // Country code
	name: 'name here', // Name to use instead of city name on the dashboard
	lang: 'nl', // Language to use for OWM data
	provider: 'owm3', // owmfree: Use OpenWeatherMap free account (since beginning 2023) / owm3: OpenWeatherMap Onecall API 3.0. See Open Weather Map / owm: OpenWeatherMap old account (API key requested before 2022) / knmi: Use KNMI as provider
	layout: 4, // 0: Daily forecast (=default) / 1: Hourly forecast (for OWM only) / 2: Current weather / 3: Current weather detailed  / 4: Combination of 2,3,0,1
	count: 4, // Number of forecast items to show (default=3). Only for daily and hourly forecast.
	rows: 1, // 1: (=default) Display all forecast elements (hours for layout:0, days for layout:1 ) on one row / 2: Display the weather forecast elements on two rows
	interval: 1, // 1. Use every forecast item (=default) / 3. Set to 3 to get 3-hourly forecast (owm3)
	decimals: 1, // Number of temperature decimals to show: 1 One decimal (=default)
	showMin: true, // false: Hide minimum temperature / true: Show minimum temperature (=default)
	showRain: true, // false: Hide rain rate / true: Show rain rate (=default)
	showDescription: true, // false: Hide weather description / true: Show weather description (=default)
	showWind: true, // false: Hide wind info (=default) / true: Show wind info
	showGust: false, // false: Hide wind gust info (=default) / true: Show wind gust info
	useBeaufort: false, // Set to true to show wind speed in Beaufort instead of m/s
	skipFirst: false, // Set to true to skip the first daily/hourly forecast card
	monochrome: false, // false: Show colored icons (animated weather icons only) / true: Show monochrome icons (animated weather icons only)
	showCurrent: true, // Set to false to hide current weather (layout 4 only)
	showDetails: true, // Set to false to hide current weather details (layout 4 only)
	showHourly: false, // Set to false to hide hourly weather forecast (layout 4 only)
	icons: 'line', // 'line' Dynamic line icons / 'linestatic' Static version of the line icons / 'fill' Dynamic filled icons / 'static' Static icons / 'meteo' Alternative set of static icons
	icon: false // true / false: To show or hide the default weather icon
};
OWM Weather Block - Dashticz 4.20.0.jpg
https://github.com/Dashticz/dashticz/issues/1346
-= HP server GEN11 =- ZwaveJS-=- Domoticz v2026.2 -=- Dashticz =-
-= Checkout https://github.com/MadPatrick for the plugins =-
User avatar
madpatrick
Posts: 889
Joined: Monday 26 December 2016 12:17
Target OS: Linux
Domoticz version: 2026.1
Location: Netherlands
Contact:

Re: Dashticz 4.20.0

Post by madpatrick »

Hzuu wrote: Tuesday 13 October 2026 8:19 Thanks for your great work!
My Garbage block is not showing the garbage icon correctly.
The 'afvalinfo' data is correct only the garbage icon is not correctly placed.
In Dashticz version 3.x this worked fine.
Is there something wrong in my configuration?
I hope anyone can help me out on this.

Code: Select all

blocks['mygarbage'] = {
	company: 'afvalinfo', // Garbage company to use if omrin isn't working
	icalurl: 0, // In case the garbage company is url the URL of the ical-file
	zipcode: 'zipcode here', // The zipcode
	city: 'city here', // City name. Mandatory for company ‘afvalinfo’
	housenumber: 45, // Your housenumber
	street: 'street here', // Your street
	maxitems: 7, // Number of items to show
	width: 12, // Width of the block
	hideicon: false, // true / false: To hide the garbage icon
	use_names: true, // Shows name of the garbage type
	use_colors: false, // Shows coloring for complete line
	row1_fontsize: 15, // Font size (in px) for row 1, the topmost (soonest) pickup line
	row1_color: '', // Text color (hex) for row 1, the topmost (soonest) pickup line
	row2_fontsize: 15, // Font size (in px) for row 1, the topmost (soonest) pickup line
	row2_color: '', // Text color (hex) for row 1, the topmost (soonest) pickup line
	icon_use_colors: true, // Shows colored or only white trashcan
	title: '', // Title text
	use_cors_prefix: true, // Use a CORS proxy for getting data from provider
	mapping: {
		black: ['black', 'zwart'],
		brown: ['brown', 'verre'],
		gft: ['gft', 'tuin', 'refuse bin', 'green', 'groen', 'Biodégradables', 'snoei'],
		grofvuil: ['grofvuil'],
		takken: ['takken'],
		kca: ['chemisch', 'kca','kga'],
		kerstboom: ['kerst'],
		milieu: ['milieu'],
		papier: ['papier', 'blauw', 'blue', 'recycling bin collection'],
		pmd: ['plastic', 'pmd', 'verpakking', 'kunststof', 'valorlux'],
		rest: ['grof', 'grey', 'rest', 'grijs','grijze'],
		Textiel: ['textiel'],
		white: ['white', 'wit']
	},
	garbage: {
		black: {kliko: 'black', code: '#000000', name: 'Zwart', icon: 'img/garbage/kliko_black.png'},
		brown: {kliko: 'brown', code: '#7c3607', name: 'Bruin', icon: 'img/garbage/kliko_brown.png'},
		gft: {kliko: 'green', code: '#375b23', name: 'GFT', icon: 'img/garbage/kliko_green.png'},
		grofvuil: {kliko: 'brown', code: '#7c3607', name: 'Grofvuil', icon: 'img/garbage/kliko_brown.png'},
		takken: {kliko: 'green', code: '#375b23', name: 'Takken', icon: 'img/garbage/kliko_green.png'},
		kca: {kliko: 'red', code: '#b21807', name: 'Chemisch afval', icon: 'img/garbage/kliko_red.png'},
		kerstboom: {kliko: 'green', code: '#375b23', name: 'Kerstboom', icon: 'img/garbage/tree.png'},
		milieu: {kliko: 'yellow', code: '#f9e231', name: 'Geel', icon: 'img/garbage/kliko_yellow.png'},
		papier: {kliko: 'blue', code: '#153477', name: 'Papier', icon: 'img/garbage/kliko_blue.png'},
		pmd: {kliko: 'orange', code: '#db5518', name: 'PMD', icon: 'img/garbage/kliko_orange.png'},
		rest: {kliko: 'grey', code: '#5e5d5c', name: 'Restafval', icon: 'img/garbage/kliko_grey.png'},
		textiel: {kliko: 'white', code: '#ffffff', name: 'Textiel', icon: 'img/garbage/kliko_black.png'},
		white: {kliko: 'white', code: '#ffffff', name: 'Wit', icon: 'img/garbage/kliko_wit.png'},
	},
	layout: 1, // 0 for plain text layout, 1 for table layout, 2 for text layou with line break between garbage type and date.
	ignoressl: true, // Set to true to disable https SSL checks
	defaultGarbage: 'rest' // Garbage type to use in case garbage type is unknown. (default: ‘kerstboom’)
};
Garbage Block - Dashticz 4.20.0.jpg
https://github.com/Dashticz/dashticz/issues/1347
-= HP server GEN11 =- ZwaveJS-=- Domoticz v2026.2 -=- Dashticz =-
-= Checkout https://github.com/MadPatrick for the plugins =-
User avatar
Hzuu
Posts: 9
Joined: Tuesday 16 June 2020 11:10
Target OS: -
Domoticz version:
Location: The Netherlands
Contact:

Re: Dashticz 4.20.0

Post by Hzuu »

Thanks for the workarounds!
Post Reply