PiDome Domotica/Home Automation
-
Hi John,
I'm trying to create a custom device that sends RF codes to a RF433 Mhz node, but I can't seem to send the additional fields I added to the device.
The additional fields:
Am I trying something here that is simply not possible?
I want to add that device over and over with different House- and Device Codes:
So in the end i need to send 4;3;1;0;2;3A1 to turn a light on at Housecode 3 and Devicecode A (and 1 is turn on, 0 is turn off)
Is this currently possible?Many thanks and keep up the good work, really love PiDome.
@ericvdb said:
Hi eric,try to set the on command to 3A1 and the off command to 3A0 in the V_LIGHT toggle control. I know this is not what you want because this means you have to create a device for every address. And with flexible addresses you want to use the options so users can enter them.
You are using the device editor the correct way, it currently only is not implemented yet. There is a task on my to-do list to take a look on how common fields for controls can use the options created in the editor.
You know what, send an email to support@pidome.org with some of your device details, and I will come up with something. (If the programming API was ready i could have given some guidelines, but unfortunately it is not yet).
P.S. it is 00:46 here, so expect an answer tomorrow ;).
[edit]typo's[/edit]
-
@ricardot
Hard to see from only the stack trace. Is it possible that you send me a screenshot of how you setup the trigger and send this to support@pidome.org? The trigger system has become quite mature, so the message you have posted should not occur in any case. Need to take a close look into it. -
I also Install the android client, but I can't make it works. I receive a login error: Could not connect/login: Authentication needs to be verified (202)
But the client never ask me for a username and password.
@ricardot Is not needed. On the server create an user. Then connect with the client to the server. On the page Connected clients you will see your android device. Click on it, select the user you just created and confirm your selection. The android client receives the confirmation and will continu starting. This device is now bound to this user.
-
Hi John,
Happy Xmas and enjoying the new updates.
I can't seem to get the 'Send data to an url' tab to work in automation anymore. Is this a bug or do I need to change the way it functions (it was working in an earlier version with the same settings).
Jon
-
Hi John,
Happy Xmas and enjoying the new updates.
I can't seem to get the 'Send data to an url' tab to work in automation anymore. Is this a bug or do I need to change the way it functions (it was working in an earlier version with the same settings).
Jon
@jonnyfishman Thnx! Hope you enjoyed Christmas as much as i did.
There has been some streamlining done of code. This is the second report and i'm currently looking into it.
If possible, Stop the server and start it with "./server.sh trace". Keep it running for a couple of minutes (so it can do a couple of http send commands). then go to "Server settings" in the web interface and turn of debug logging (bot trace and debug are turned of with this). Send me the file "logs/system/appLog.txt" to support@pidome.org with a reference to this post.
Cheers,
John.[EDIT]The other reported issue was a timeout on the remote host. Please take a look in the log file if this is also the case for you[/edit]
-
@ricardot At the automation rules create a new rule:
- At the left side you can select rules logic and select an if block. put this on the field
- Click on Time/Date/Dayparts on the left and select the block when time is, and fill in the time.
- Click on devices on the left and select your MySensors device and choose the action.
- Give your rule a name and description.
Currently there is no option to send an email but there are messaging (which send messages to clients, pushbullet and sms. Email will follow asap.
P.S. Note to all: Will be on leave until the 5th of januari next year (sounds long...). There will be support but this is at a minimal level.
-
Hi John,
Checked the appLog.txt and the request was going through (it received a HTTP 200 code). The problem was the automation rule. It was no longer happy with having a variable as a parameter, I had to change it back to a string for it to work [examples below]?
**ricardot **- This might also work for you. I'm using the 'URL hits' under 'miscellaneous' to email myself using the code below. Essentially it sends out a form to a waiting page on my website that automatically emails me when it receives the correct data, using the PHP mail function.
This works.
This doesn't -
@jonnyfishman
Sorry for the late response, the holidays consumed us all quite a lot, and i'm still on a sort of holiday leave, Could you send me the log, i'm interested in why the variable is not handled.Cheer,
John.P.S. Happy new year!
-
Happy new year to you,
I've attached the appLog. Relevant lines appear to be 2495 and 1555.
I recreated the error several times to make it show up. At 2495 the variable is listed as null, whereas at 1555 the variable is passing what it should.Thanks,
Jon -
Happy new year to you,
I've attached the appLog. Relevant lines appear to be 2495 and 1555.
I recreated the error several times to make it show up. At 2495 the variable is listed as null, whereas at 1555 the variable is passing what it should.Thanks,
Jon@jonnyfishman Currently i'm not in the position to check it. I'm back at 5th of January. I will pick it up that day.
-
Happy new year to you,
I've attached the appLog. Relevant lines appear to be 2495 and 1555.
I recreated the error several times to make it show up. At 2495 the variable is listed as null, whereas at 1555 the variable is passing what it should.Thanks,
JonI have updated the latest build on the build server. It looked like that the fallback (create a string type variable) did not set the variable value. This should now be fixed.
Cheers!
-
We now have a forum available, so if you have questions which are not related to MySensors these can be posted over there. This way this forum can be kept clean and dedicated to mysensors ;).
Cheers!
-
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]
@John I am new to all of this. I am an Arduino programmer. but this is a first to communicate with a controller. Is there a simple "ping/pong" example. where a device is created in PiDome that is a basic switch or trigger that then just sends a message to an Arduino. and then the Arduino sketch sends back a known value that we can then review in PiDome?
brian
-
@John I am new to all of this. I am an Arduino programmer. but this is a first to communicate with a controller. Is there a simple "ping/pong" example. where a device is created in PiDome that is a basic switch or trigger that then just sends a message to an Arduino. and then the Arduino sketch sends back a known value that we can then review in PiDome?
brian
-
@dafoink
Communication with a plain Arduino using USB it currently needs to be programmed in the server. Methods to do things like ping/pong will be eventually possible using the web interface.I have added colorpicker support to the serial version of MySensors, When it has proven itself it will be added to the MQTT version as wel.
I have tested this with one user and he has confirmed it working.
It works as follows:
Add a color picker to the controls as you would do with any other control (data/toggle button/etc..).There are three color modes, these are only used for how the color picker behaves in the interfaces. These are:
- RGB - Shows three sliders: red, green and blue, use these to choose a color.
- HSL - Shows three sliders: Hue, Saturation and lightness. Different with the RGB is that you can turn lightness to 0 ti simulate lights off.
- CIE (Lch)- Shows three sliders: Lightness, hue and chroma, use this with calibrated fixtures, it can be quite off.
Colors are send as RGB string to nodes without the number sign (#). I recommend using V_VAR(1-5) as the variable type as it is custom data.
You also need a minimum of one button added in the colorpicker settings window. This will add a button so the selected color in the color picker will actually be send. The value is not important but must be filled in.
Below an screenshot as an example of how to set up:
http://s9.postimg.org/k1qvy23f3/Capture1.jpg
Code for retrieving the r,g and b from the send string is available in this post: http://forum.mysensors.org/topic/816/send-color-data-to-sensors/14
I personally have not tested the code (currently occupied hardware). -
This is an important message for all MySensors PiDome users.
Oracle has released an update for Java on ARM. This update is numbered: Java 8 Update 33. But this release has features removed which the alpha builds are utilizing. I was busy with a feature to supply a graphical user interface embedded in the server so the Raspberry Pi could be used as server and client at the same time (slimmed down version).
Because Oracle decided to remove JavaFX from this update, and i have JavaFX test code within the server, this update will completely $#%$ PiDome so it won't run correctly, or wont run at all.
I have to remove all JavaFX related code from the server before you guys can upgrade to the new Java Release. I'm sorry for any inconvenience if you really need to upgrade Java.
I will place a message in this thread when i have fixed it.
-
Have been quite busy the last two days to remove any possibility to run the server with an embedded client. So you are save to update again. The latest version with the "fixes" is available on http://builder.pidome.org/job/PiDome Server platform snapshot build/lastSuccessfulBuild/ .
All though all dependencies have been removed it could show a quirk here and there, but will not influence server inner workings.
-
Hi John!
Can You tell, is it possible to show battery level and sketch name and version in PiDome? How to describe this information under custom device?
Thanks in advance
Vj
Hi @bomber
Battery status can be done this way:
- Drag an drop a group to the device declaration field. You can give it any name you want, but the group id must be named "INTERNAL"(capital letters without the " (quotes)).
- Drag and drop a data field control to this group. You can give it any name. but the id must be "I_BATTERY_LEVEL" (also without the quotes).
Set the datatype to "FLOAT". All battery levels in the server are handled this way. - If you want, you can select "Battery (0-100%)" as a visual type. This is for future references when the server is able to report low battery levels to users and visualize this in clients.
Sketch name and version is not available, let me see how quick this can be added (if it is a quick add will do it immediately, otherwise it get's a position on my to do list, recent (unfortunate) developments are requiring a lot of my time).
Cheers,