PiDome Domotica/Home Automation
-
@John Hi did not bug you for an while. I change my setup to work with the MQTTGateway but now I have the following issue.
- My motion and door sensors is not changing status in the "Data description" field. This did work with the serial gateway.
- On my relay button sensor the "Toggle description" is not changing it I press the button this did work on the serial gateway.
I run you latest snapshot (373)
PS the Android client is now working on my Tablet and Phone (4.4.2)
-
@John Hi did not bug you for an while. I change my setup to work with the MQTTGateway but now I have the following issue.
- My motion and door sensors is not changing status in the "Data description" field. This did work with the serial gateway.
- On my relay button sensor the "Toggle description" is not changing it I press the button this did work on the serial gateway.
I run you latest snapshot (373)
PS the Android client is now working on my Tablet and Phone (4.4.2)
That's the current latest yeah, have you defined the the data and/or toggle buttons as boolean or as an integer?
The Android client was kinda annoying, when deployed on a device from the development it worked, but when installed by the apk file it stopped working... Thanks for confirming it now works!
-
So both the data field as the toggle buttons are defined as booleans?
Since alpha 271 the server also displays the last received date and time positioned above the controls, are these modified? Not yet real time in the web interface, you have to click the device again in the list to see if it is updated.
-
I want to thank @Francois and others for some intensive testing of MySensors (and other stuff) in PiDome via both the serial and MQTT gateways.
P.S. From today until October 3rd responses are somewhat delayed due to the upcomming JavaOne conference.
-
Recently i have build support for MySensors in home automation software i'm writing and in this thread i would like to provide the opportunity to answer questions and post some F.A.Q.
I know PiDome is very new and at least to say also unknown in the Automation scene. The base information about PiDome is already posted at the build section below the Controllers header. So here i will post some information how the support is integrated.
First off you will need to add the gateway device. Open the peripherals page, plugin the Arduino Nano or other used serial device with the Mysensors Gateway code. The device will be added to the list. Click on it and set the Serial information, 115200 Baud, 1 stop bit, no parity, 8 databits and the MySensors peripheral driver (Settings Arduino Nano specific, check your serial device of there are other requirements). If the connection is a one timer press "Set and start" If these settings need to be persistent between reboots and server restarts press "Set, save and start".
To use MySensors nodes within PiDome you will need Device skeletons. These skeletons are created with XML or a graphical editor which creates this xml. This skeleton is used to define a device structure which tells:
- Which groups a device has (At least one is mandatory),
- What kind of controls are used (Toggle, Button, Slider, etc..) in these groups,
- what kind of datatypes they hold (integer, float, string, boolean),
- What kind of options a device has (not used with MySensors) and
- device location type.
To explain the above mapped to MySensors devices with an example:
Let's say you have a sensor node which holds a type S_LIGHT, which is a light actuator (you can toggle this of or on). So you would probably use the variable type V_LIGHT which is light status On or Off (1 or 0). and you have about 5 of these exact same nodes.Let's translate:
You will need the device editor to create the above sensors node. This means a sensors node is a device in PiDome. To let this device know how your sensor node looks like you will need to define the S_LIGHT sensor type and V_LIGHT variable type.The sensor types are defined as groups in PiDome. So if you have the device editor opened and add a group you will need to supply a group id and a group name by drag and drop this to the device field. The name can just be like "My light", but the group id MUST be named after the sensor id thus must be the number you used in gw.present(). For example, if used gw.present(0,S_LIGHT); the group id must be 0.
Now it comes to defining a variable type. When you drag and drop the toggle control (which switches between two states) you will be prompted to fill in details. The most important ones are the control id which MUST be the name of the sensor variable type which in this example is V_LIGHT. The name of this control can be something like "Light Switch". The datatype of V_LIGHT explained on the protocol page is 1=On, 0=Off, so you would use the integer datatype. the On label would be "On" with value 1, and off the opposite.
When the device is saved, you have created a skeleton ready to be used. and you can start adding this single skeleton 5 times.
More information about adding devices is posted on the PiDome website at: http://pidome.wordpress.com/2014/08/10/added-partly-mysensors-org-wireless-devices-support-api-1-4-beta/.The title is a little bit misleading because there now is support for the final 1.4 version.
There is support for Battery level and Inclusion mode triggered by the hardware button.
A final todo:
- Fully test automatic nodes address assignments (i am not able to test this because lack of hardware, it is there though)
MySensors MQTT support: Available using the MQTT gateway
I will try to be here as much as possible but PiDome is quite a broad project.
[EDIT] We now have a forum available, so if you have questions which are not related to MySensors these can be posted over there[/EDIT]
Well, normally i do not brag about things, and this has nothing to do with MySensors, but i thought that this might be ok.
Sunday night PiDome has received the Duke's Choice Award for being innovative. It is not only for the server but comprehends the whole PiDome platform (Server, Desktop OS like client, Android client, upcoming Raspberry Pi client which can be self designed on the server and the upcoming Netbeans PiDome Platform development plugin). They have not only looked at the current state of the project but also future promises and future platform part releases (from which there is code in progress)
The price announcement included the following sentence: "Because it's so exceptional what your project has done, we decided to upgrade you to the duke's choice award instead."
So we are proud as [FILL_IN].
So yeah, i just wanted to brag about it :)
-
Well, normally i do not brag about things, and this has nothing to do with MySensors, but i thought that this might be ok.
Sunday night PiDome has received the Duke's Choice Award for being innovative. It is not only for the server but comprehends the whole PiDome platform (Server, Desktop OS like client, Android client, upcoming Raspberry Pi client which can be self designed on the server and the upcoming Netbeans PiDome Platform development plugin). They have not only looked at the current state of the project but also future promises and future platform part releases (from which there is code in progress)
The price announcement included the following sentence: "Because it's so exceptional what your project has done, we decided to upgrade you to the duke's choice award instead."
So we are proud as [FILL_IN].
So yeah, i just wanted to brag about it :)
@John Well deserved! Congrats! You've almost made me a believer in Java so that is saying something ;-)
Some of these other home automation controllers (OpenHAB ...) should really reconsider what and how they're doing things. I know they didn't start out on single board computers like the RPi, but just to recapitulate, both running their factory defaults, OpenHAB takes almost as long to boot on my i7 as PiDome takes on the RPi.
-
@John Well deserved! Congrats! You've almost made me a believer in Java so that is saying something ;-)
Some of these other home automation controllers (OpenHAB ...) should really reconsider what and how they're doing things. I know they didn't start out on single board computers like the RPi, but just to recapitulate, both running their factory defaults, OpenHAB takes almost as long to boot on my i7 as PiDome takes on the RPi.
@bjornhallberg
Thanks!To be honest, i had my doubts, certainly when running Java7 on the PI and the early bird releases of Java8. But since the final Java8 release and the Late Development releases i started to believe in it (again). With JDK 1.8 they did a huge step forward, and with Java9 and if i have to believe their Major opening keynote this year, it should be becoming faster, at least during java initialization.
Also i'm targeting Java SE Embedded, which is more optimized for embedded use like the PI.
Well, the default factory boot of PiDome includes the initialization of security certificates. when SSL is disabled you will win at least 5 seconds boot time (where the secure http and sockets startups are not taken into account).
-
@John Congrats for winning this price ;-) and well deserved for all the hard work that you and team put into the PiDome.
From the first time that I start playing with PIDome I like the way it was running on Pi and the users interface. Over the last few week I playing with other Home Automation system and every time I come back to PiDome as it is just that easy to use and setup. You can have your system up and running within 30 min or less that also including configuring the sensors. Create rules is now so easy with the integration of Blockly.
Keep up the good work and it is really great working with you.
-
@Francois
Thnx! It really is a joy be working with you and that you have been hammering me with emails of which helped a lot to get the MySensors support at the current level and also exposed some internal design flaws which have been changed. I'm glad you like it. And if there is anything, you know how to find me :) -
I've installed Pidome on my Pi yesterday and everything seems to work, then I plugged in my Arduino nano clone with gateway sketch installed and nRF connected to it. Using python I communicated with it without any problems. But then I opened the Peripheral setting in Pidome to add the device and it doesn't see a thing... Don't know what I'm doing wrong. Seems like Pidome doesn't have enough rights. My user is in dialout group just as it was explained in PiDome installation guide. Can anybody help?
BTW, this is my first post on this forum so I'd like to say hi to everyone.
-
It is possible that clones are not working because currently there is no web interface to ask if you are sure you want to use a specific device and how to use it. It is part of a security mechanism built in the server for this read on:
We support a range of USB device types like USB-HID, USB-RAW and USB-[FILL_IN_EMULATOR] (Emulators like serial ports etc...). I have came across USB devices reporting multiple interface types which is very strange, so in the known peripherals database only the real thing has been flagged as a known peripheral and what it does.
There is code present in the sever (locally on my workstation) which can identify these devices and the anomalies but is not 50% stable yet, i can include this code with the next or follow up release so also cloned devices which correctly report their USB capabilities will show up in the interface.
Gimme a day of three for this because the web interface module for this has to be created.
[EDIT]You do not need to install any drivers etc... because for serial based devices it already is integrated in the server[/EDIT]