Page 1 of 1
All my blockly scripts stopped working after an update
Posted: Friday 08 November 2019 20:11
by RduPre
Hi,
All my blockly scripts stopped working after an update I did this week.
Lua scripts are working without any problem.
I tried to create a new Blockly script which does not work either.
Nothing in de logs
Please help because I have a lot of Blockly scripts
Thanks,
Rien
Version: 4.11474
Build Hash: 12feb06f1
Compile Date: 2019-11-08 16:33:53
dzVents Version: 2.5.0
Python Version: 3.5.3 (default, Sep 27 2018, 17:25:39) [GCC 6.3.0 20170516]
Re: All my blockly scripts stopped working after an update
Posted: Friday 08 November 2019 21:02
by Geitje
Is eventsystem ticked (under settings-> other)?
I had something like that after a major update, in my case: some old blockies did not work, exact new copies did, still do not know what the problem was.
Re: All my blockly scripts stopped working after an update
Posted: Friday 08 November 2019 22:45
by RduPre
Geitje wrote: Friday 08 November 2019 21:02
Is eventsystem ticked (under settings-> other)?
Yes it is, LUA scripts are running normally
Geitje wrote: Friday 08 November 2019 21:02
I had something like that after a major update, in my case: some old blockies did not work, exact new copies did, still do not know what the problem was.
If I create a new one, it still doesn't work

Re: All my blockly scripts stopped working after an update
Posted: Friday 08 November 2019 22:59
by waaren
RduPre wrote: Friday 08 November 2019 22:45
If I create a new one, it still doesn't work
If you create a new one and save it you should see something in the log like 2019-11-08 22:58:09.619 Status: EventSystem: reset all events...
Do you see that ?
Re: All my blockly scripts stopped working after an update
Posted: Friday 08 November 2019 23:00
by RduPre
waaren wrote: Friday 08 November 2019 22:59
RduPre wrote: Friday 08 November 2019 22:45
If I create a new one, it still doesn't work
If you create a new one and save it you should see something in the log like 2019-11-08 22:58:09.619 Status: EventSystem: reset all events...
Do yoyusee that ?
Yes !!
Re: All my blockly scripts stopped working after an update
Posted: Friday 08 November 2019 23:14
by waaren
RduPre wrote: Friday 08 November 2019 23:00
Yes !!
OK,
you can check what is in the database. What do you see doing this ? (if you have not installed sqlite3 yet, install it first using
Then (on the CLI)
Code: Select all
cd <domoticz dir>
sudo cp domoticz.db safecopy.db
sudo sqlite3 safecopy.db
sqlite> .he on
sqlite> .ta
sqlite> select ID, Name, Type , Status from EventMaster where interpreter = 'Blockly';
sqlite> select * from eventRules where EMID in (select ID from EventMaster where interpreter = 'Blockly');
sqlite> .q
sudo rm safecopy.db
Re: All my blockly scripts stopped working after an update
Posted: Saturday 09 November 2019 7:58
by RduPre
This is what I get.
Looks good to me, but I'm no expert
Code: Select all
sqlite> .ta
BackupLog Meter SceneTimers
Cameras Meter_Calendar Scenes
CamerasActiveDevices MobileDevices SetpointTimers
CustomImages MultiMeter SharedDevices
DeviceStatus MultiMeter_Calendar Temperature
DeviceToPlansMap MySensors Temperature_Calendar
EnoceanSensors MySensorsChilds TimerPlans
EventMaster MySensorsVars Timers
EventRules Notifications ToonDevices
Fan Percentage UV
Fan_Calendar Percentage_Calendar UV_Calendar
FibaroLink Plans UserSessions
Floorplans Preferences UserVariables
GooglePubSubLink PushLink Users
Hardware Rain WOLNodes
HttpLink Rain_Calendar Wind
LightSubDevices SceneDevices Wind_Calendar
LightingLog SceneLog ZWaveNodes
sqlite> select ID, Name, Type , Status from EventMaster where interpreter = 'Blockly';
ID|Name|Type|Status
1|Alarm Disarmed by Night|All|1
2|Alarm Arm Home|All|1
3|Alarm Arm Away|All|1
4|Kantoor Verlichting On|All|1
5|Kantoor Verlichting Off|All|1
7|Day On/off|All|1
8|Alarm Disarmed at Day|All|1
9|Huis Verlichting aan bij beweging voordeur|All|1
10|Huisverlichting uit bij geen beweging voordeur|All|1
12|Lichten aan bij Alarm|All|1
13|Woonkamer verlichting uit bij Zonsopkomst|All|1
14|Verlichting uit bij niet thuis|All|1
15|Tuin verlichting bij openen poort|All|1
19|Script #1|All|1
20|Script #2|All|1
21|Script #3|All|1
sqlite> select * from eventRules where EMID in (select ID from EventMaster where interpreter = 'Blockly');
ID|EMID|Conditions|Actions|SequenceNo
7|9|(device[1352] == "On" and device[1264] == "Off")|commandArray[660]="On"|1
8|10|(device[1352] == "Off" and (device[1264] == "Off" and (timeofday > 0 and timeofday < 420)))|commandArray[660]="Off"|1
11|12|device[1391] == "On"|commandArray[Group:8]="On"|1
19|14|(securitystatus == 2 and timeofday == 1390)|commandArray[Group:8]="Off",commandArray[Group:10]="Off",commandArray[Group:9]="Off"|1
20|15|device[1425] == "On"|commandArray[532]="On FOR 10"|1
22|3|securitystatus == 2|commandArray[Group:8]="Off",commandArray[Group:9]="Off",commandArray[1474]="Off"|1
23|2|securitystatus == 1|commandArray[Group:8]="Off",commandArray[Group:9]="Off",commandArray[1474]="Off"|1
24|8|(securitystatus == 0 and device[1264] == "On")|commandArray[522]="Off",commandArray[1391]="Off",commandArray[1474]="On"|1
25|1|(securitystatus == 0 and device[1264] == "Off")|commandArray[1225]="On",commandArray[1236]="On",commandArray[906]="On",commandArray[907]="On",commandArray[906]="On",commandArray[1391]="Off",commandArray[1474]="On"|1
26|4|device[1224] == "On"|commandArray[1038]="On"|1
27|5|device[1224] == "Off"|commandArray[1038]="Off",commandArray[549]="Off"|1
29|19|device[1224] == "On"|commandArray[1038]="On"|1
30|13|timeofday == @Sunrise|commandArray[Group:6]="Off",commandArray[660]="Off"|1
31|20|timeofday == 1194|commandArray[Group:6]="Off",commandArray[660]="Off"|1
32|21|device[1474] == "Off"|commandArray["WriteToLogText"]="Dit is een test"|1
sqlite>
Re: All my blockly scripts stopped working after an update
Posted: Saturday 09 November 2019 10:49
by waaren
RduPre wrote: Saturday 09 November 2019 7:58
Looks good to me, but I'm no expert
Yes. that looks OK.
Can you also do
Code: Select all
cd <domoticz dir>
sudo cp domoticz.db safecopy.db
sudo sqlite3 safecopy.db
sqlite> .he on
sqlite> select key, nValue from preferences where key in ('EnableEventScriptSystem','DisableDzVentsSystem');
sqlite> .q
sudo rm safecopy.db
Re: All my blockly scripts stopped working after an update
Posted: Saturday 09 November 2019 10:51
by RduPre
Here you go
Code: Select all
SQLite version 3.16.2 2017-01-06 16:32:41
Enter ".help" for usage hints.
sqlite> .he on
sqlite> select key, nValue from preferences where key in ('EnableEventScriptSystem','DisableDzVentsSystem');
Key|nValue
EnableEventScriptSystem|1
DisableDzVentsSystem|0
Re: All my blockly scripts stopped working after an update
Posted: Saturday 09 November 2019 10:58
by waaren
RduPre wrote: Saturday 09 November 2019 10:51
EnableEventScriptSystem|1
DisableDzVentsSystem|0
That is what it should be.
Can you stop domoticz and start it from the CLI with
Code: Select all
cd <domoticz dir>
sudo ./domoticz -loglevel normal,status,error,debug --debuglevel normal,eventsystem
Re: All my blockly scripts stopped working after an update
Posted: Saturday 09 November 2019 11:06
by RduPre
Hmmm,
It seems to work when I start domoticz from the CLI, any clues why ?
Re: All my blockly scripts stopped working after an update
Posted: Saturday 09 November 2019 11:09
by waaren
RduPre wrote: Saturday 09 November 2019 11:06
Hmmm,
It seems to work when I start domoticz from the CLI, any clues why ?
Not directly but maybe if you show the relevant parts of /etc/init.d/domoticz.sh (if you use that to start)
Re: All my blockly scripts stopped working after an update
Posted: Saturday 09 November 2019 11:34
by RduPre
I don't know what's relevant, so here is the whole file
Code: Select all
#! /bin/sh
### BEGIN INIT INFO
# Provides: domoticz
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $network $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Home Automation System
# Description: This daemon will start the Domoticz Home Automation System
### END INIT INFO
# Do NOT "set -e"
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
DESC="Domoticz Home Automation System"
NAME=domoticz
USERNAME=pi
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
DAEMON=/home/pi/domoticz/$NAME
DAEMON_ARGS="-daemon"
#DAEMON_ARGS="$DAEMON_ARGS -daemonname $NAME -pidfile $PIDFILE"
DAEMON_ARGS="$DAEMON_ARGS -www 8081"
DAEMON_ARGS="$DAEMON_ARGS -sslwww 0"
#DAEMON_ARGS="$DAEMON_ARGS -log /tmp/domoticz.txt"
#DAEMON_ARGS="$DAEMON_ARGS -syslog"
# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0
# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
# and status_of_proc is working.
. /lib/lsb/init-functions
pidof_domoticz() {
# if there is actually a domoticz process whose pid is in PIDFILE,
# print it and return 0.
if [ -e "$PIDFILE" ]; then
if pidof domoticz | tr ' ' '\n' | grep -w $(cat $PIDFILE); then
return 0
fi
fi
return 1
}
#
# Function that starts the daemon/service
#
do_start()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
start-stop-daemon --chuid $USERNAME --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
|| return 1
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
$DAEMON_ARGS \
|| return 2
}
#
# Function that stops the daemon/service
#
do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently. A last resort is to
# sleep for some time.
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
status)
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
;;
reload)
log_daemon_msg "Reloading $DESC" "$NAME"
PID=$(pidof_domoticz) || true
if [ "${PID}" ]; then
kill -HUP $PID
log_end_msg 0
else
log_end_msg 1
fi
;;
restart)
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|status|restart|reload}" >&2
exit 3
;;
esac
:
Re: All my blockly scripts stopped working after an update
Posted: Saturday 09 November 2019 11:55
by waaren
RduPre wrote: Saturday 09 November 2019 11:34
I don't know what's relevant, so here is the whole file
I don't know either what is relevant but the differences between starting from the CLI and starting with /etc/init.d/domoticz.sh
user: domoticz.sh uses PI; CLI uses sudo
www: domoticz.sh uses port 8081; CLI uses 8080 (default)
slwww: domoticz.sh uses port 0 (disabled) ; CLI uses 443(default)
log : domoticz.sh use internal logging only ; CLI use logging to terminal
loglevel: domoticz.sh use none; CLI use normal,eventSystem
Maybe you can see what happens in more detail if you change
Code: Select all
#DAEMON_ARGS="$DAEMON_ARGS -log /tmp/domoticz.txt"
in /etc/init.d/domotizc.sh
to
Code: Select all
DAEMON_ARGS="$DAEMON_ARGS -log /var/log/domoticz.log"
DAEMON_ARGS="$DAEMON_ARGS -loglevel normal,status,error,debug"
DAEMON_ARGS="$DAEMON_ARGS -debuglevel normal,eventsystem"
and then
Code: Select all
sudo systemctl daemon-reload
sudo service domoticz stop
sudo service domoticz start
sudo tail -100f /var/log/domoticz.log
Re: All my blockly scripts stopped working after an update
Posted: Saturday 09 November 2019 13:57
by RduPre
I don't see anything in the logs that might be suspicious
I have set the default ports in the domoticz.sh (8080 and 443) but this is not the solution
Any other hints or tips ?
Re: All my blockly scripts stopped working after an update
Posted: Saturday 09 November 2019 14:39
by waaren
RduPre wrote: Saturday 09 November 2019 13:57
I don't see anything in the logs that might be suspicious
I have set the default ports in the domoticz.sh (8080 and 443) but this is not the solution
Any other hints or tips ?
You could try with username=root and update to latest beta.