Main

FAQ

This is Frequently Asked Questions about MajorDoMo. This section is work in progress so feel free to contact us with your suggestions. Thank you!

Contents (hide)

  1.   1.  General
    1.   1.1  What is Smart Home?
    2.   1.2  Can I use is in my appartments or this is for big houses only?
    3.   1.3  What is MajorDoMo?
    4.   1.4  How much does it cost?
    5.   1.5  Is there any commercial version of software?
    6.   1.6  What about return of investments?
    7.   1.7  So I will get Smart Home with MajorDoMo?
    8.   1.8  Do I have to be a software developer?
    9.   1.9  I don't really want to program anything myself, please help!
    10.   1.10  I'm building the house right now, what do I need to do in advance to make it "smart" someday?
    11.   1.11  What can I do about home automation if I don't really want to add more wires?
    12.   1.12  Who is Alice?
  2.   2.  User interface and integration
    1.   2.1  Does it meat that all hardware has to be connected to one central hub? Is it relieble enough?
    2.   2.2  What kind of hardware I should get for begining?
    3.   2.3  How can I find what kind of hardware supported?
    4.   2.4  I got some hardware that is not listed as supported yet, can I integrate it into the system?
    5.   2.5  There are some information about Arduino and 1-wire on this web-site, does it mean that the system works better with this kind of hardware?
    6.   2.6  What kind of user interfaces available?
    7.   2.7  Can I talk to Alice?
    8.   2.8  How does hardware integration work?
    9.   2.9  Is it possible to post data to MajorDoMo from 3rd party services/applications?
  3.   3.  Installation, running and debug
    1.   3.1  What kind of server hardware should I use to install MajorDoMo?
    2.   3.2  What are recommended system requirements?
    3.   3.3  What are the differences between Linux/Windows versions?
    4.   3.4  How can I control the system using voice?
    5.   3.5  What is "terminal"?
    6.   3.6  What is "system cycles"?
    7.   3.7  Cycles are crashing, how to find out the reason?
    8.   3.8  How can I debug/diagnose the system?
  4.   4.  Programming and setup
    1.   4.1  What kind of technologies used for development?
    2.   4.2  How good should I be at PHP programming to do the scripts?
    3.   4.3  How "deep" can I configure the system according to my needs?
    4.   4.4  What is Class, Object, Property, Method and Object Oriented Programming?
    5.   4.5  What is "linked" object/property/method?
    6.   4.6  What is "chat system", "command line", "console"?
    7.   4.7  I think I have found a bug in the system, what should I do?

1.  General

1.1  What is Smart Home?

Smart Home -- is a hardware+software complex to control and optimize technical systems usage including but (not limited to) HVAC, security and entertainment.
Main scope:

  • Security -- increase level of security by controlling the state of all technical systems and integration of all kind of security devices (alarm, video surveillance, GPS trackers)
  • Economy -- optimize usage of HVAC equipment
  • Comfort -- scripting, comfortable control and entertainment

1.2  Can I use is in my appartments or this is for big houses only?

Smart Home systems has been successfully appliced in the space of any size and functionality -- from tiny apparments to the whole city. The only difference is the possible applications but the scope of the optimization are similar (see prvious answer).

1.3  What is MajorDoMo?

This is software that allows you to make your computer (Windows / Linux) home automation controller.

1.4  How much does it cost?

The software itself is free, but to use all of its features you should buy (or make your own) accessories - controlled sockets, sensors, etc. the final cost of the equipment varies greatly depending on the communication standard and the hardware manufacturer. One of the main advantages MajorDoMo is the possibility of simultaneous work with the equipment in the various standards and from different manufacturers.

1.5  Is there any commercial version of software?

The paid version of the software package does not exist - the system is distributed completely free under the MIT license, which means its use without restrictions in any projects (personal or commercial).

1.6  What about return of investments?

One of the functions of such systems, it saves energy consumption. Unfortunately, not always possible to make an unambiguous conclusion about the economic effect. Nevertheless, it would be wrong to consider this class of systems only as a means of saving. Rather, the economy is one of the positive effects arising on par with many others - increased safety, comfort and quality of life in general. How these advantages economically justified, each individual decides for himself.

1.7  So I will get Smart Home with MajorDoMo?

No, you get a powerful and very flexible tool with which you can create a Smart Home system.

1.8  Do I have to be a software developer?

No, but if you are going to take home automation seriously, you become to them :) In fact, program scenario (scripts) in the system is very simple - you don't have to know any programming language and use the mouse to drag and drop blocks. More information about programming at Programming.

1.9  I don't really want to program anything myself, please help!

You can always ask for help at our .

1.10  I'm building the house right now, what do I need to do in advance to make it "smart" someday?

First, decide the location of the main electric panel and wiring plan so the wires from the wall switches and points of light came down individually in the panel. In the beginning, you can just connect wires, but in the future this scheme can be replace with control devices (relays).

Next, plan to hold a twisted pair (dual socket) to the installation of media devices (TVs, audio centers, satellite receivers, etc.). It is desirable in any case to have at such outlet in every room - they can be used not only for the network, but also for telephony. These cables also need to be gathered to a common plate.

These recommentations are not associated with a particular system of Smart Home and will be useful in any case, even if you decide to do a project on another platform.

1.11  What can I do about home automation if I don't really want to add more wires?

There is a large variety of wireless devices that can be integrated into the system at any stage even when the repair/construction is not completed.

1.12  Who is Alice?

Alice - a character whose name comes from the interaction with the user system. The name can be changed in the system settings. Why did we choose this name? Ask the author :)

...

2.  User interface and integration

2.1  Does it meat that all hardware has to be connected to one central hub? Is it relieble enough?

The project depends on you and the absolute centralization of management is not mandatory. Moreover, it is recommended to use the principle of de-centralization, when the work of separate systems fully meet the specialized equipment and a central unit based MajorDoMo serves as the general hub unit. In this case, even in case of failure of the main controller Majordomo, all systems will operate in normal mode.

2.2  What kind of hardware I should get for begining?

The system can be installed on a computer as a regular program and it immediately provides a number of functions that can be useful to the user. However, the more the system interacts with the "outside world", the more effective will be its use. For example, the presence of at least one motion sensor allows the system to "know" whether there is someone at home, and the ability to control outlets will implement the script "eco-mode" when no one is home.

2.3  How can I find what kind of hardware supported?

General catalog of the equipment with reference to the additional information on how to connect, you can see at Hardware section.

2.4  I got some hardware that is not listed as supported yet, can I integrate it into the system?

In general, more likely than not. First, carefully review the documentation for your hardware - perhaps, it supports data exchange with third-party systems using one of the protocols that are already supported MajorDoMo. In addition, you can always create a topic in the forum, providing detailed information and ask for help from experienced project participants.

2.5  There are some information about Arduino and 1-wire on this web-site, does it mean that the system works better with this kind of hardware?

Not at all. Development of automation systems using the above components is very accessible, than due to their popularity, but it requires certain skills for self-assembly and setup. However, you can easily integrate the finished equipment from different manufacturers, and any price range.

2.6  What kind of user interfaces available?

Basically, there is interaction with the user via a web interface. As an "entry point" are the following:

Also you can control the system by the voice using Android Mobile App.

The best way to interact with the system is the use of stationary terminals based on tablets with the mobile application installed.

2.7  Can I talk to Alice?

Yes, sure. The system provides the ability to customize the system's response to the commands in the form of text or voice messages (with optional software). In the Control Panel for this module is "Patterns", where you can customize not only the direct command, but also quite complex dialogues. In addition, when you set up access to the service Connect, it is possible to use "cloud" service to answer questions, which is developing a centralized functionality without user intervention.

2.8  How does hardware integration work?

To work with the hardware in the system, there are so-called modules, which provide the communication protocols between the equipment and internal objects and the user interface. The system supports different hardware protocols (ZWave, ModBus, KNX, 1-wire, etc.) and their number continues to grow. You can also connect the equipment that is available on the ethernet network using HTTP API

2.9  Is it possible to post data to MajorDoMo from 3rd party services/applications?

Yes, there is API available to receive data from 3rd party services and applications. Details.

3.  Installation, running and debug

3.1  What kind of server hardware should I use to install MajorDoMo?

MajorDoMo can be installed on the server running Windows or Linux OS, including Raspberry Pi platform.

3.2  What are recommended system requirements?

The system can operate on a fairly old equipment, but comfortable to use (interface response, speech synthesis, multimedia, etc.) imposes certain requirements. (work in progress)

3.3  What are the differences between Linux/Windows versions?

  • (+) Windows is much easier with initial setup
  • (-) Windows needs more resources to run smoothly
  • (+) Windows allows to use advanced (offline) TTS-engines (for example: Alyona from Acapella Group)
  • (++) Linux is more stable in work and needs less resources
  • (-) Linux is pretty difficult in setup, especially when you need to connect multimedia devices

3.4  How can I control the system using voice?

One of the most actively used the system features, it is a voice notification of certain events. The following means may be employed for this implementation:

  • Yandex TTS (Windows/Linux) -- each phrase is sent to the appropriate Yandex service the API, it returns an audio file that is played back later. This method requires an internet connection, although once requested phrase "cached" locally, and can be played without recourse to external service.
  • Windows TTS (Windows) -- built-in Windows system. This subsystem can be modified in the purchase and installation of a modern language engines, for example Alyona by Acapella Group.

In addition, through the system settings or additional modules, you can integrate your own voice engine.

3.5  What is "terminal"?

Terminal - a device through which the user interacts with the system. Any device that can open web pages through the built-in browser can be used as a terminal. These can be computers, phones, tablets, game consoles and smart TVs. there is an additional software for phones and tablets, which in addition to the main function display adds following functionality: voice activation and communication, barcode scanner, etc.

3.6  What is "system cycles"?

Cycles - is the code in the files / scripts / cycles_ * .php. The code maintains a separate "background" processes that are not associated to a direct response to a user request, namely: the system time update, periodic operation, the execution of scheduled tasks, the survey evidence of individual equipment. The correct system startup involves the simultaneous launch of the system cycles. Some cycles can be closed automatically after launch due to the fact that their work is not relevant in accordance with the existing equipment, or user settings.

3.7  Cycles are crashing, how to find out the reason?

Unfortunately, the facts fall cycles can have a place to be, even though work is being done to prevent such. Usually, the cause of these cases is invalid code added by the user in the objects and scripts. There is a system of emergency restart basic cycles in the case of error, so that the system automatically resumes its operation. However, you can use built-in diagnostic tools to find out the failure reason.

3.8  How can I debug/diagnose the system?

For debugging and diagnostics system has several features built-in. Firstly, the main work cycles shall be recorded in the log files (/debmes/ folder), there is stored the general log with a separate file for each day. In addition, the control panel has XRay module, whose main task is to show the state of the system at the moment in all its details (the property values, the history of the running of scripts, timers, etc.). Additionally, the control panel is a module "System Errors", which is stored in the majority of cases of improper behavior of the system (error code, databases, etc.).

4.  Programming and setup

4.1  What kind of technologies used for development?

(L/W)AMP -- Linux/Windows (ОС), Apache (web-server), MySQL (database), PHP (programming language)

4.2  How good should I be at PHP programming to do the scripts?

For scripting required minimal programming skills, ie knowledge of the basic language syntax and built-in functions, added to MajorDoMo. For example, alarm script:

if (timeIs('06:00')) {
 say("Good morning!");
}

As you can see, everything is quite simple, just need to use ready-made designs. A similar scenario can be created in the built-in visual editor:

4.3  How "deep" can I configure the system according to my needs?

Firstly, the existing setup and programming mechanisms allow very deep rework system, both in terms of executable processes, and interfaces, without making changes in the functional core. Furthermore, the system itself is available in the form of source codes and can be modified after installation.

4.4  What is Class, Object, Property, Method and Object Oriented Programming?

OOP - Object Oriented Programming. One major feature of the platform and engaging the most efficient way of creating equipment and automation scripts. For more information on the concepts and components, see following section.

4.5  What is "linked" object/property/method?

In various parts of the system there is a functional "binding" of an element with the object's property or method. Objects are the basis of the data storage system, as well as a description of the functions to work with the data. This is why most of the modules anyway reference objects.

For example, switch-type menu item is used to store the associated property to its last state data, as well as a method of an object, as an action to be performed after a change of state. On the other hand, the modules with the same equipment used and properties of objects relating to the storage of data received from the respective electronic devices.

Binding the property of the object to ZWave module you can access this property for the last state of the physical switch, as well as to use this property to set the value (switching) thus creates a clear two-way communication between a physical device and MajorDoMo object system. One property of an object can be linked to several elements.

4.6  What is "chat system", "command line", "console"?

  • Chat System - History of messages from the system, as well as the entry form of commands in natural language. This module is available in the user interface and built-in default menu. Also it can be integrated into a scene or go for a direct link /command.php
  • Command line - operating system (not MajorDoMo system) to run system commands. Typically used for initial setup and fine-platform operating system settings
  • Console - Built-in control panel MajorDoMo input line (link in the Console panel header block). This line allows you to send the PHP programming language instruction. For example, you can write it say("Hello", 2); and the instruction is executed, namely the word 'Hello'

4.7  I think I have found a bug in the system, what should I do?

In the first place, it is desirable to report about it on the forum for the discussion of all the circumstances of the error displays. Then, you can publish the same corrective instructions or use the procedure for amending the public repository on GitHub.

...

MajorDomo

Project

Partners

edit SideBar

 

Blix theme adapted by David Gilbert, powered by PmWiki