PKG_NAME:=domoticz
PKG_VERSION_MAJOR:=3
-PKG_VERSION_PATCH:=8153
+PKG_VERSION_PATCH:=9571
+PKG_COMMIT:=dfb39a9e739a0a07ab865577ed44e0b6aa9e7bdc
PKG_VERSION:=$(PKG_VERSION_MAJOR).$(PKG_VERSION_PATCH)
-PKG_RELEASE:=3
+PKG_RELEASE:=1
+ifeq ($(PKG_COMMIT),)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/domoticz/domoticz/archive/$(PKG_VERSION)/$(PKG_SOURCE)
-PKG_HASH:=5ea8f37f2ef900e9bd17b1b5375e75bfdec4f09001e3e2e0b647a260989d014c
+else
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_COMMIT).tar.gz
+PKG_SOURCE_URL:=https://github.com/domoticz/domoticz/archive/$(PKG_COMMIT)/$(PKG_SOURCE)
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_COMMIT)
+endif
+PKG_HASH:=7e77a8ea87216f65c2f279535eb43d957e22ca14ccebfb1ef2054f9bc797a5c3
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILES:=License.txt
-DUSE_STATIC_BOOST=no \
-DUSE_STATIC_LIBSTDCXX=no \
-DUSE_STATIC_OPENZWAVE=no \
- -DUSE_PYTHON=no
+ -DUSE_OPENSSL_STATIC=no \
+ -DUSE_PYTHON=no \
+ -DWITH_LIBUSB=no
TARGET_CFLAGS+=-flto
TARGET_CXXFLAGS+=-DWITH_GPIO -flto
define Build/Prepare
$(call Build/Prepare/Default)
- # Fix APPVERSION to suppress update popup
+ # Fix APPVERSION/APPDATE since we don't build from a git tree
sed -i 's/#define APPVERSION.*/#define APPVERSION $(PKG_VERSION_PATCH)/' \
$(PKG_BUILD_DIR)/appversion.default
+ COMMITDATE=`tar tvfz $(DL_DIR)/$(PKG_SOURCE) --full-time | sed 's/.* \(20..-..-.. ..:..:..\) domoticz-.*/\1/;q'`; \
+ COMMITTS=`date --date="$$$${COMMITDATE}" +%s`; \
+ sed -i "s/#define APPDATE.*/#define APPDATE $$$${COMMITTS}/" $(PKG_BUILD_DIR)/appversion.default
+ifneq ($(PKG_COMMIT),)
+ sed -i "s/#define APPHASH.*/#define APPHASH \"$(shell echo $(PKG_COMMIT) | cut -c1-8)\"/" $(PKG_BUILD_DIR)/appversion.default
+endif
# Remove unwanted scripts
cd $(PKG_BUILD_DIR)/scripts && rm -rf \
buienradar_rain_example.pl \
_domoticz_main* \
download_update.sh \
- dzVents/{.gitignore,documentation,examples,generated_scripts} \
+ dzVents/{.gitignore,documentation,examples,generated_scripts,data} \
dzVents/runtime/{integration-tests,misc/smoothing.xlsx,tests} \
logrotate/ \
lua_parsers/example* \
readme.txt \
restart_domoticz \
templates/All.Python \
- update_domoticz
+ update_domoticz \
+ domoticz.conf
# Remove *.md
cd $(PKG_BUILD_DIR) && $(FIND) -name '*.md' -delete
endef
define Package/domoticz/install
- $(INSTALL_DIR) $(1)/etc/config $(1)/etc/hotplug.d/tty $(1)/etc/init.d
+ $(INSTALL_DIR) $(1)/etc/config $(1)/etc/hotplug.d/tty $(1)/etc/init.d $(1)/etc/domoticz
$(INSTALL_BIN) ./files/domoticz.hotplug $(1)/etc/hotplug.d/tty/domoticz
$(INSTALL_BIN) ./files/domoticz.init $(1)/etc/init.d/domoticz
$(INSTALL_CONF) ./files/domoticz.config $(1)/etc/config/domoticz
$(INSTALL_DIR) $(1)/usr/share/domoticz $(1)/usr/bin
- $(CP) $(PKG_INSTALL_DIR)/usr/Config $(1)/usr/share/domoticz/openzwave
- $(CP) $(PKG_INSTALL_DIR)/usr/scripts $(1)/usr/share/domoticz/
+ $(CP) $(PKG_INSTALL_DIR)/usr/dzVents $(1)/usr/share/domoticz/dzVents
+ $(CP) $(PKG_INSTALL_DIR)/usr/Config $(1)/usr/share/domoticz/Config
+ $(CP) $(PKG_INSTALL_DIR)/usr/scripts $(1)/etc/domoticz/scripts
+ ln -sf /var/lib/domoticz/dzVents/generated_scripts $(1)/etc/domoticz/scripts/dzVents
+ ln -sf /var/lib/domoticz/dzVents/data $(1)/etc/domoticz/scripts/dzVents
$(CP) $(PKG_INSTALL_DIR)/usr/www $(1)/usr/share/domoticz/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/domoticz $(1)/usr/bin/domoticz
+ # compress static web content
+ find $(1)/usr/share/domoticz/www -name "*.css" -exec gzip -9 {} \;
+ find $(1)/usr/share/domoticz/www -name "*.js" -exec gzip -9 {} \;
+ find $(1)/usr/share/domoticz/www -name "*.html" -exec sh -c 'grep -q "<\!--#embed" {} || gzip -9 {}' \;
endef
define Package/domoticz/conffiles
/etc/config/domoticz
/var/lib/domoticz/
+/etc/domoticz/
endef
$(eval $(call BuildPackage,domoticz))
+++ /dev/null
-From 11a29e071019645967ee748d410954ec5f73866f Mon Sep 17 00:00:00 2001
-From: Rob Peters <ROb@DVBControl.com>
-Date: Wed, 24 Jan 2018 12:03:24 +0100
-Subject: [PATCH] Make compatible with boost 1.66
-
----
- msbuild/domoticz.vcxproj | 2 +-
- webserver/proxyclient.cpp | 2 +-
- webserver/server.cpp | 4 ++--
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/msbuild/domoticz.vcxproj b/msbuild/domoticz.vcxproj
-index e4aa595..1aa9e7a 100755
---- a/msbuild/domoticz.vcxproj
-+++ b/msbuild/domoticz.vcxproj
-@@ -58,7 +58,7 @@
- <PrecompiledHeader>Use</PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
-- <PreprocessorDefinitions>WIN32;ENABLE_PYTHON;_DEBUG;PTW32_STATIC_LIB;WITH_OPENZWAVE;OPENZWAVE_USEDLL;WWW_ENABLE_SSL;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+ <PreprocessorDefinitions>WIN32;ENABLE_PYTHON;_DEBUG;PTW32_STATIC_LIB;WITH_OPENZWAVE;OPENZWAVE_USEDLL;WWW_ENABLE_SSL;_CONSOLE;BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>./Windows Libraries/Boost/boost_1_63_0;./libusb;../MQTT;..\hardware\openzwave;./Windows Libraries/openssl;./Windows Libraries/Curl;./Windows Libraries/pthread;../hardware/plugins/Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <EnablePREfast>false</EnablePREfast>
-diff --git a/webserver/proxyclient.cpp b/webserver/proxyclient.cpp
-index 203ee61..efc9815 100644
---- a/webserver/proxyclient.cpp
-+++ b/webserver/proxyclient.cpp
-@@ -639,7 +639,7 @@ namespace http {
- void CProxyManager::StartThread()
- {
- try {
-- boost::asio::ssl::context ctx(io_service, boost::asio::ssl::context::sslv23);
-+ boost::asio::ssl::context ctx(boost::asio::ssl::context::sslv23);
- ctx.set_verify_mode(boost::asio::ssl::verify_none);
-
- proxyclient.reset(new CProxyClient(io_service, ctx, m_pWebEm));
-diff --git a/webserver/server.cpp b/webserver/server.cpp
-index 5255aa3..0c1af08 100644
---- a/webserver/server.cpp
-+++ b/webserver/server.cpp
-@@ -148,7 +148,7 @@ void server::handle_accept(const boost::system::error_code& e) {
- ssl_server::ssl_server(const ssl_server_settings & ssl_settings, request_handler & user_request_handler) :
- server_base(ssl_settings, user_request_handler),
- settings_(ssl_settings),
-- context_(io_service_, ssl_settings.get_ssl_method())
-+ context_(ssl_settings.get_ssl_method())
- {
- #ifdef DEBUG_WWW
- _log.Log(LOG_STATUS, "[web:%s] create ssl_server using ssl_server_settings : %s", ssl_settings.listening_port.c_str(), ssl_settings.to_string().c_str());
-@@ -161,7 +161,7 @@ ssl_server::ssl_server(const ssl_server_settings & ssl_settings, request_handler
- ssl_server::ssl_server(const server_settings & settings, request_handler & user_request_handler) :
- server_base(settings, user_request_handler),
- settings_(dynamic_cast<ssl_server_settings const &>(settings)),
-- context_(io_service_, dynamic_cast<ssl_server_settings const &>(settings).get_ssl_method()) {
-+ context_(dynamic_cast<ssl_server_settings const &>(settings).get_ssl_method()) {
- #ifdef DEBUG_WWW
- _log.Log(LOG_STATUS, "[web:%s] create ssl_server using server_settings : %s", settings.listening_port.c_str(), settings.to_string().c_str());
- #endif
---
-2.7.4
-
+++ /dev/null
-diff --git a/hardware/EvohomeScript.cpp b/hardware/EvohomeScript.cpp
-index 5258fc55..0a44e97c 100644
---- a/hardware/EvohomeScript.cpp
-+++ b/hardware/EvohomeScript.cpp
-@@ -30,7 +30,7 @@
-
- #include <string>
-
--extern std::string szUserDataFolder;
-+extern std::string szScriptsFolder;
-
-
- CEvohomeScript::CEvohomeScript(const int ID)
-@@ -143,7 +143,7 @@ void CEvohomeScript::RunScript(const char *pdata, const unsigned char length)
- std::string scriptname = OnAction.substr(9);
- #if !defined WIN32
- if (scriptname.find("/") != 0)
-- scriptname = szUserDataFolder + "scripts/" + scriptname;
-+ scriptname = szScriptsFolder + "scripts/" + scriptname;
- #endif
- std::string scriptparams="";
- //Add parameters
-diff --git a/hardware/OpenZWave.cpp b/hardware/OpenZWave.cpp
-index 1f5c341c..24db61c9 100644
---- a/hardware/OpenZWave.cpp
-+++ b/hardware/OpenZWave.cpp
-@@ -948,7 +948,7 @@ bool COpenZWave::OpenSerialConnector()
-
- m_nodes.clear();
- m_bNeedSave = false;
-- std::string ConfigPath = szStartupFolder + "Config/";
-+ std::string ConfigPath = "/usr/share/domoticz/openzwave/";
- std::string UserPath = ConfigPath;
- if (szStartupFolder != szUserDataFolder)
- {
-diff --git a/main/EventSystem.cpp b/main/EventSystem.cpp
-index 4eff02fd..f2b17b97 100644
---- a/main/EventSystem.cpp
-+++ b/main/EventSystem.cpp
-@@ -33,9 +33,11 @@ extern "C" {
- #endif
- }
-
-+extern std::string szScriptsFolder;
- extern std::string szUserDataFolder;
- extern http::server::CWebServerHelper m_webservers;
-
-+static std::string dzv_Dir;
- static std::string m_printprefix;
-
- #ifdef ENABLE_PYTHON
-@@ -115,7 +117,6 @@ static const _tJsonMap JsonMap[] =
- { NULL, NULL, tString }
- };
-
--
- CEventSystem::CEventSystem(void)
- {
- m_stoprequested = false;
-@@ -149,7 +150,7 @@ void CEventSystem::StartEventSystem()
- GetCurrentScenesGroups();
- GetCurrentUserVariables();
- #ifdef ENABLE_PYTHON
-- Plugins::PythonEventsInitialize(szUserDataFolder);
-+ Plugins::PythonEventsInitialize(szScriptsFolder);
- #endif
-
- m_thread = boost::shared_ptr<boost::thread>(new boost::thread(boost::bind(&CEventSystem::Do_Work, this)));
-@@ -179,11 +180,11 @@ void CEventSystem::SetEnabled(const bool bEnabled)
-
- void CEventSystem::LoadEvents()
- {
-- std::string dzv_Dir,s;
-+ std::string s;
- #ifdef WIN32
-- dzv_Dir = szUserDataFolder + "scripts\\dzVents\\generated_scripts\\";
-+ dzv_Dir = szUserDataFolder + "generated_scripts\\";
- #else
-- dzv_Dir = szUserDataFolder + "scripts/dzVents/generated_scripts/";
-+ dzv_Dir = szUserDataFolder + "generated_scripts/";
- #endif
- boost::unique_lock<boost::shared_mutex> eventsMutexLock(m_eventsMutex);
- _log.Log(LOG_STATUS, "EventSystem: reset all events...");
-@@ -274,18 +275,18 @@ void CEventSystem::LoadEvents()
- void CEventSystem::Do_Work()
- {
- #ifdef WIN32
-- m_lua_Dir = szUserDataFolder + "scripts\\lua\\";
-- m_dzv_Dir = szUserDataFolder + "scripts\\dzVents\\runtime\\";
-+ m_lua_Dir = szScriptsFolder + "lua\\";
-+ m_dzv_Dir = szScriptsFolder + "dzVents\\runtime\\";
- #else
-- m_lua_Dir = szUserDataFolder + "scripts/lua/";
-- m_dzv_Dir = szUserDataFolder + "scripts/dzVents/runtime/";
-+ m_lua_Dir = szScriptsFolder + "lua/";
-+ m_dzv_Dir = szScriptsFolder + "dzVents/runtime/";
- #endif
-
- #ifdef ENABLE_PYTHON
- #ifdef WIN32
-- m_python_Dir = szUserDataFolder + "scripts\\python\\";
-+ m_python_Dir = szScriptsFolder + "python\\";
- #else
-- m_python_Dir = szUserDataFolder + "scripts/python/";
-+ m_python_Dir = szScriptsFolder + "python/";
- #endif
- #endif
- m_stoprequested = false;
-@@ -1426,9 +1427,9 @@ void CEventSystem::EvaluateEvent(const std::string &reason, const uint64_t Devic
- {
- std::string dzv_scripts;
- #ifdef WIN32
-- dzv_scripts = szUserDataFolder + "scripts\\dzVents\\scripts\\";
-+ dzv_scripts = szScriptsFolder + "dzVents\\scripts\\";
- #else
-- dzv_scripts = szUserDataFolder + "scripts/dzVents/scripts/";
-+ dzv_scripts = szScriptsFolder + "dzVents/scripts/";
- #endif
- DirectoryListing(FileEntries, dzv_scripts, false, true);
- for (itt = FileEntries.begin(); itt != FileEntries.end(); ++itt)
-@@ -2404,7 +2405,7 @@ bool CEventSystem::parseBlocklyActions(const std::string &Actions, const std::st
- }
- #if !defined WIN32
- if (sPath.find("/") != 0)
-- sPath = szUserDataFolder + "scripts/" + sPath;
-+ sPath = szScriptsFolder + sPath;
- #endif
-
- m_sql.AddTaskItem(_tTaskItem::ExecuteScript(0.2f, sPath, sParam));
-@@ -3508,13 +3509,16 @@ void CEventSystem::EvaluateLua(const std::string &reason, const std::string &fil
- {
- std::stringstream lua_DirT;
-
-- lua_DirT << szUserDataFolder <<
-+ lua_DirT << szScriptsFolder <<
- #ifdef WIN32
-- "scripts\\dzVents\\";
-+ "dzVents\\";
- #else
-- "scripts/dzVents/";
-+ "dzVents/";
- #endif
-
-+ lua_pushstring(lua_state, "generated_script_path");
-+ lua_pushstring(lua_state, dzv_Dir.c_str());
-+ lua_rawset(lua_state, -3);
- lua_pushstring(lua_state, "script_path");
- lua_pushstring(lua_state, lua_DirT.str().c_str());
- lua_rawset(lua_state, -3);
-@@ -4695,9 +4699,9 @@ namespace http {
-
- std::stringstream template_file;
- #ifdef WIN32
-- template_file << szUserDataFolder << "scripts\\templates\\" << eventType << "." << interpreter;
-+ template_file << szScriptsFolder << "templates\\" << eventType << "." << interpreter;
- #else
-- template_file << szUserDataFolder << "scripts/templates/" << eventType << "." << interpreter;
-+ template_file << szScriptsFolder << "templates/" << eventType << "." << interpreter;
- #endif
- std::ifstream file;
- std::stringstream template_content;
-diff --git a/main/EventsPythonModule.cpp b/main/EventsPythonModule.cpp
-index f69e7219..2d97562e 100644
---- a/main/EventsPythonModule.cpp
-+++ b/main/EventsPythonModule.cpp
-@@ -108,7 +108,7 @@
-
- int PythonEventsInitalized = 0;
-
-- bool PythonEventsInitialize(std::string szUserDataFolder) {
-+ bool PythonEventsInitialize(std::string szScriptsFolder) {
-
- if (!Plugins::Py_LoadLibrary())
- {
-@@ -131,9 +131,9 @@
-
- std::string ssPath;
- #ifdef WIN32
-- ssPath = szUserDataFolder + "scripts\\python\\;";
-+ ssPath = szScriptsFolder + "python\\;";
- #else
-- ssPath = szUserDataFolder + "scripts/python/:";
-+ ssPath = szScriptsFolder + "python/:";
- #endif
-
- std::wstring sPath = std::wstring(ssPath.begin(), ssPath.end());
-diff --git a/main/LuaHandler.cpp b/main/LuaHandler.cpp
-index 8fdcb278..c2ad98ff 100644
---- a/main/LuaHandler.cpp
-+++ b/main/LuaHandler.cpp
-@@ -22,7 +22,7 @@ extern "C" {
- #include "mainworker.h"
- #include "../hardware/hardwaretypes.h"
-
--extern std::string szUserDataFolder;
-+extern std::string szScriptsFolder;
-
- int CLuaHandler::l_domoticz_updateDevice(lua_State* lua_state)
- {
-@@ -155,9 +155,9 @@ bool CLuaHandler::executeLuaScript(const std::string &script, const std::string
- {
- std::stringstream lua_DirT;
- #ifdef WIN32
-- lua_DirT << szUserDataFolder << "scripts\\lua_parsers\\";
-+ lua_DirT << szScriptsFolder << "lua_parsers\\";
- #else
-- lua_DirT << szUserDataFolder << "scripts/lua_parsers/";
-+ lua_DirT << szScriptsFolder << "lua_parsers/";
- #endif
- std::string lua_Dir = lua_DirT.str();
-
-diff --git a/main/SQLHelper.cpp b/main/SQLHelper.cpp
-index 491aa5a2..d529243a 100644
---- a/main/SQLHelper.cpp
-+++ b/main/SQLHelper.cpp
-@@ -633,6 +633,7 @@ const char *sqlCreateMobileDevices =
- "[LastUpdate] DATETIME DEFAULT(datetime('now', 'localtime'))"
- ");";
-
-+extern std::string szScriptsFolder;
- extern std::string szUserDataFolder;
-
- CSQLHelper::CSQLHelper(void)
-@@ -3683,9 +3684,9 @@ uint64_t CSQLHelper::UpdateValueInt(const int HardwareID, const char* ID, const
- //Execute possible script
- std::string scriptname;
- #ifdef WIN32
-- scriptname = szUserDataFolder + "scripts\\domoticz_main.bat";
-+ scriptname = szScriptsFolder + "domoticz_main.bat";
- #else
-- scriptname = szUserDataFolder + "scripts/domoticz_main";
-+ scriptname = szScriptsFolder + "domoticz_main";
- #endif
- if (file_exist(scriptname.c_str()))
- {
-@@ -6641,7 +6642,7 @@ bool CSQLHelper::HandleOnOffAction(const bool bIsOn, const std::string &OnAction
- std::string scriptname = OnAction.substr(9);
- #if !defined WIN32
- if (scriptname.find("/") != 0)
-- scriptname = szUserDataFolder + "scripts/" + scriptname;
-+ scriptname = szScriptsFolder + scriptname;
- #endif
- std::string scriptparams="";
- //Add parameters
-@@ -6675,7 +6676,7 @@ bool CSQLHelper::HandleOnOffAction(const bool bIsOn, const std::string &OnAction
- std::string scriptname = OffAction.substr(9);
- #if !defined WIN32
- if (scriptname.find("/") != 0)
-- scriptname = szUserDataFolder + "scripts/" + scriptname;
-+ scriptname = szScriptsFolder + scriptname;
- #endif
- std::string scriptparams = "";
- int pindex = scriptname.find(' ');
-diff --git a/main/WebServer.cpp b/main/WebServer.cpp
-index f8471791..d2cf10b2 100644
---- a/main/WebServer.cpp
-+++ b/main/WebServer.cpp
-@@ -59,6 +59,7 @@
-
- #define round(a) ( int ) ( a + .5 )
-
-+extern std::string szScriptsFolder;
- extern std::string szUserDataFolder;
- extern std::string szWWWFolder;
-
-@@ -2987,9 +2988,9 @@ namespace http {
- if (scriptname.find("..") != std::string::npos)
- return;
- #ifdef WIN32
-- scriptname = szUserDataFolder + "scripts\\" + scriptname;
-+ scriptname = szScriptsFolder + scriptname;
- #else
-- scriptname = szUserDataFolder + "scripts/" + scriptname;
-+ scriptname = szScriptsFolder + scriptname;
- #endif
- if (!file_exist(scriptname.c_str()))
- return;
-diff --git a/main/domoticz.cpp b/main/domoticz.cpp
-index 5ef96f68..52599b14 100644
---- a/main/domoticz.cpp
-+++ b/main/domoticz.cpp
-@@ -136,6 +136,7 @@ static const _facilities facilities[] =
- };
- std::string logfacname = "user";
- #endif
-+std::string szScriptsFolder;
- std::string szStartupFolder;
- std::string szUserDataFolder;
- std::string szWWWFolder;
-@@ -696,6 +697,19 @@ int main(int argc, char**argv)
- szUserDataFolder = szroot;
- }
-
-+ szScriptsFolder=szStartupFolder;
-+ if (cmdLine.HasSwitch("-scripts"))
-+ {
-+ if (cmdLine.GetArgumentCount("-scripts") != 1)
-+ {
-+ _log.Log(LOG_ERROR, "Please specify a path for scripts directory");
-+ return 1;
-+ }
-+ std::string szroot = cmdLine.GetSafeArgument("-scripts", 0, "");
-+ if (szroot.size() != 0)
-+ szScriptsFolder = szroot;
-+ }
-+
- if (cmdLine.HasSwitch("-startupdelay"))
- {
- if (cmdLine.GetArgumentCount("-startupdelay") != 1)
-diff --git a/main/mainworker.cpp b/main/mainworker.cpp
-index 803690e1..e89a783b 100644
---- a/main/mainworker.cpp
-+++ b/main/mainworker.cpp
-@@ -159,6 +159,7 @@
-
- #define round(a) ( int ) ( a + .5 )
-
-+extern std::string szScriptsFolder;
- extern std::string szStartupFolder;
- extern std::string szUserDataFolder;
- extern std::string szWWWFolder;
-@@ -1473,8 +1474,8 @@ void MainWorker::Do_Work()
- m_sql.GetPreferencesVar("ReleaseChannel", nValue);
- bool bIsBetaChannel = (nValue != 0);
-
-- std::string scriptname = szUserDataFolder + "scripts/download_update.sh";
-- std::string strparm = szUserDataFolder;
-+ std::string scriptname = szScriptsFolder + "download_update.sh";
-+ std::string strparm = szScriptsFolder;
- if (bIsBetaChannel)
- strparm += " /beta";
-
-diff --git a/notifications/NotificationHTTP.cpp b/notifications/NotificationHTTP.cpp
-index decff3b4..632e4e66 100644
---- a/notifications/NotificationHTTP.cpp
-+++ b/notifications/NotificationHTTP.cpp
-@@ -6,7 +6,7 @@
- #include "../main/SQLHelper.h"
- #include "../main/Logger.h"
-
--extern std::string szUserDataFolder;
-+extern std::string szScriptsFolder;
-
- CNotificationHTTP::CNotificationHTTP() : CNotificationBase(std::string("http"), OPTIONS_NONE)
- {
-@@ -105,7 +105,7 @@ bool CNotificationHTTP::SendMessageImplementation(
- std::string scriptparams = "";
- #if !defined WIN32
- if (scriptname.find("/") != 0)
-- scriptname = szUserDataFolder + "scripts/" + scriptname;
-+ scriptname = szScriptsFolder + scriptname;
- #endif
- //Add parameters
- uPos = scriptname.find(" ");
-diff --git a/push/GooglePubSubPush.cpp b/push/GooglePubSubPush.cpp
-index 359a7d7c..46e489f6 100644
---- a/push/GooglePubSubPush.cpp
-+++ b/push/GooglePubSubPush.cpp
-@@ -22,7 +22,7 @@ extern "C" {
- using namespace boost::python;
- #endif
-
--extern std::string szUserDataFolder;
-+extern std::string szScriptsFolder;
-
- // this should be filled in by the preprocessor
- extern const char * Python_exe;
-@@ -231,11 +231,11 @@ void CGooglePubSubPush::DoGooglePubSubPush()
-
- #ifdef ENABLE_PYTHON_DECAP
- #ifdef WIN32
-- python_DirT << szUserDataFolder << "scripts\\python\\";
-- std::string filename = szUserDataFolder + "scripts\\python\\" + "googlepubsub.py";
-+ python_DirT << szScriptsFolder << "python\\";
-+ std::string filename = szScriptsFolder + "python\\" + "googlepubsub.py";
- #else
-- python_DirT << szUserDataFolder << "scripts/python/";
-- std::string filename = szUserDataFolder + "scripts/python/" + "googlepubsub.py";
-+ python_DirT << szScriptsFolder << "python/";
-+ std::string filename = szScriptsFolder + "python/" + "googlepubsub.py";
- #endif
-
- wchar_t * argv[1];
-diff --git a/scripts/dzVents/runtime/dzVents.lua b/scripts/dzVents/runtime/dzVents.lua
-index d0dfa869..8370d6a9 100644
---- a/scripts/dzVents/runtime/dzVents.lua
-+++ b/scripts/dzVents/runtime/dzVents.lua
-@@ -1,8 +1,9 @@
- local currentPath = globalvariables['script_path']
-+local generatedScriptPath = globalvariables['generated_script_path']
- local triggerReason = globalvariables['script_reason']
-
- _G.scriptsFolderPath = currentPath .. 'scripts' -- global
--_G.generatedScriptsFolderPath = currentPath .. 'generated_scripts' -- global
-+_G.generatedScriptsFolderPath = generatedScriptPath -- global
- _G.dataFolderPath = currentPath .. 'data' -- global
-
- package.path = package.path .. ';' .. currentPath .. '?.lua'
-@@ -10,7 +11,7 @@ package.path = package.path .. ';' .. currentPath .. 'runtime/?.lua'
- package.path = package.path .. ';' .. currentPath .. 'runtime/device-adapters/?.lua'
- package.path = package.path .. ';' .. currentPath .. 'dzVents/?.lua'
- package.path = package.path .. ';' .. currentPath .. 'scripts/?.lua'
--package.path = package.path .. ';' .. currentPath .. 'generated_scripts/?.lua'
-+package.path = package.path .. ';' .. generatedScriptPath .. '?.lua'
- package.path = package.path .. ';' .. currentPath .. 'data/?.lua'
-
- local EventHelpers = require('EventHelpers')